《面向对象程序设计》课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象程序设计》课程设计
编程工具: 可以用 VC++6.0、C++ Builder 、Visual Studio 2005。推荐用 Visual Studio 2005。
要求:
1、使用面向对象方法进行课程设计。要求使用对象 /类,继承,多态性等技 术
2、程序设计语言使用 C++
3、程序的界面、逻辑功能和数据的存储进可能的分开
4、完成课程设计报告报告记录设计的过程。课程设计报告的内容应当包括以下 内容:要完成的功能;设计的具体描述; 设计的源代码 ;执行的结果 等功能。 根据结合自己的实际情况,酌情选择相关的功能,并完成设计。课程设计报告 样例请参考附件。
题目: 在控制台程序或图形界面程序中任意一个作为课程设计题目,设计过程 中要求独立完成,不能再网上 COPY 代码,题目在附件里
控制台程序
2•自定义一个示意性的复数类型 complex ,其中含有若干个成员函数,使用该类 可以完
成复数的加法以及对复数的输出。请完成类定义,并编制主函数, 说明complex 类对象,对定义的各成员函数进行调用。
进一步,在类中添加对复数进行其他基本运算(如,复数减、乘、除、取模 等)的相应成员函数,并通过主函数处的调用来验证各函数的使用正确性。
3. 利用虚函数手段,按照 3种不同的计算方法来求出 Fib on acci 数列的第n 项
(的具体项值)并输出。具体地说,可通过在基类baseCla 及其派生类 fib1Cla 、fib2Cla 和 fib3Cla 中说明如下的同一个虚函数“ virtual double fib (int n )。”,来实现求Fib on acci 数列第n 项值并返回的3种不同求解方法。
4. 设计一个类CStuden ,类中包含一个学生的基本数据如下:
class complex{
double real 。
double imag 。
public:
complex()。
complex(double r, double
i)。 complex addCom(complex c2)。
complex 类对象
void outCom ()。 量)
}。
//复数实部 //复数虚部 //无参构造函数 //2 参构造函数 //调用者对象与对象 c2 相加,返回 //输出调用者对象的有关数据(各分
编号,姓名,性别,年龄,数学成绩,计算机成绩,外语成绩。并假设编号为整数,且从1 号往后连续编码;姓名为字符串,性别为字符。如:
1 LiPing m 18 89 98 94
请采用binary 文件形式,并使用随机读写处理方式,对自定义CStudent 类的对象数据进行存储与读写处理(即是说,总按具有连续编码的编号num为“序”来对文件中的各对象数据进行随机读写处理)。并设计该类的成员函数,而且对输出运算符“ <<”进行重载,使该运算符能够完成将一个学生的信息输出到屏幕上。要求成员函数完成以下功能:
(1)从键盘输入一个学生的有关信息,并将它们存入到数据文件中(按编号来确定写出位置)。
(2)按编号对学生信息进行检索并将检索结果显示在屏幕上。
(3)按姓名对学生信息进行检索并将检索结果显示在屏幕上。
(4)计算某编号学生的总成绩与平均成绩。
(5)列出所有总成绩超过n 分的性别为s 同学的有关信息(n,s 由用户从键盘输入)。
思考:可进一步对上述程序进行扩充,如,添加学生基本数据(籍贯,专业,班级,其他各门成绩,奖惩记录等),并添加所需要的其他相关处理函数(如可通过咨询教案办公室管理人员后确立),进而将其编制成为一个简单而实用的小型学籍与成绩管理软件。
5.编写程序实现一个简单的电话记录簿,要求记录的个人信息包括:姓名,单
位,家庭电话,移动电话。具体功能如下:
1.创建信息链表并以磁盘文件保存。
2.读取磁盘文件并显示输出所有人的移动电话。
3.按姓名或单位查询家庭电话。
4.通过姓名和单位确定个人,修改其电话信息并存盘。
图形界面程序
1.实现一个计算器
参考Windows 的计算器应用程序。
2.设计一个通信录
参考Outlook 通信录,或自行设计。
3. 实现以下绘图程序
要求:
(1)程序中包含菜单项和工具栏;
(2)先选择菜单项或单击工具栏上的命令按钮,然后在窗体空白区域单击鼠标后,绘制相应菜单项或命令按钮指定的图形、文字。
扩充:
1)能够选择、移动、删除、拷贝、剪切图元
2)完成图形文件的保存、打开、打印4■用你熟悉的一种可视化编程语言实现以下汉
诺塔演示程序
:dldi■中T・i ■ :, I 1 ■ ■ r T flit J-
5■单机版俄罗斯方块
游戏规则:在方块从屏幕上方落下来时,玩家可以移动和旋转窗口内落下的方块,巧妙地安排布置,达到充分利用屏幕空间的目的。每当屏幕的一整行被方块积木排满时,作为奖赏,整行从屏幕上消失,剩余的积木依次往下降一行。当积木堆积达到屏幕顶端的时候,游戏结束。
扩充:多人联机游戏。