《面向对象程序设计》课程设计.pdf
《面向对象程序设计》课程设计
编程工具:可以用VC++6.0、C++Builder、VisualStudio2005。推荐用Visual
Studio2005。
要求:
1、使用面向对象方法进行课程设计。要求使用对象/类,继承,多态性等技
术
2、程序设计语言使用C++
3、程序的界面、逻辑功能和数据的存储进可能的分开
4、完成课程设计报告报告记录设计的过程。课程设计报告的内容应当包括以下
内容:要完成的功能;设计的具体描述;设计的源代码;执行的结果等功能。
根据结合自己的实际情况,酌情选择相关的功能,并完成设计。课程设计报告
样例请参考附件。
题目:在控制台程序或图形界面程序中任意一个作为课程设计题目,设计过程
中要求独立完成,不能再网上COPY代码,题目在附件里
控制台程序
2.自定义一个示意性的复数类型complex,其中含有若干个成员函数,使用该类
可以完成复数的加法以及对复数的输出。请完成类定义,并编制主函数,
说明complex类对象,对定义的各成员函数进行调用。
classcomplex{
doublereal。//复数实部
doubleimag。//复数虚部
public:
complex()。//无参构造函数
complex(doubler,doublei)。//2参构造函数
complexaddCom(complexc2)。//调用者对象与对象c2相加,返回
complex类对象
voidoutCom()。//输出调用者对象的有关数据(各分
量)
}。
进一步,在类中添加对复数进行其他基本运算(如,复数减、乘、除、取模
等)的相应成员函数,并通过主函数处的调用来验证各函数的使用正确性。
3.利用虚函数手段,按照3种不同的计算方法来求出Fibonacci数列的第n项
(的具体项值)并输出。具体地说,可通过在基类baseCla及其派生类
fib1Cla、fib2Cla和fib3Cla中说明如下的同一个虚函数“virtualdoublefib(int
n)。”,来实现求Fibonacci数列第n项值并返回的3种不同求解方法。
1/3
4.设计一个类CStudent,类中包含一个学生的基本数据如下:
编号,姓名,性别,年龄,数学成绩,计算机成绩,外语成绩。
并假设编号为整数,且从1号往后连续编码;姓名为字符串,性别为字
符。如:
1LiPingm18899894
请采用binary文件形式,并使用随机读写处理方式,对自定义CStudent
类的对象数据进行存储与读写处理(即是说,总按具有连续编码的编号num为
“序”来对文件中的各对象数据进行随机读写处理)。并设计该类的成员函
数,而且对输出运算符“”进行重载,使该运算符能够完成将一个学生的信
息输出到屏幕上。要求成员函数完成以下功能:
(1)从键盘输入一个学生的有关信息,并将它们存入到数据文件中(按
编号来确定写出位置)。
(2)按编号对学生信息进行检索并将检索结果显示在屏幕上。
(3)按姓名对学生信息进行检索并将检索结果显示在屏幕上。
(4)计算某编号学生的总成绩与平均成绩。
(5)列出所有总成绩超过n分的性别为s同学的有关信息(n,s由用户从
键盘输入)。
思考:可进一步对上述程序进行扩充,如,添加学生基本数据(籍贯,专
业,班级,其他各门成绩,奖惩记录等),并添加所需要的其他相关处理函数
(如可通过咨询教案办公室管理人员后确立),进而将其编制成为一个简单而
实用的小型学籍与成绩管理软件。
5.编写程序实现一个简单的电话记录簿,要求记录的个人信息包括:姓名,单
位,家庭电话,移动电话。具