《C++面向对象程序设计》课程设计_任务书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C++面向对象程序设计》课程设计任务书
学年学期:2013-2014学年第三学期
专业班级:13计算机物联网工程
指导教师:陈培芝
设计时间:2014/06/08 ~ 2014/07/04
学时周数:共2.0周.
一、设计目的
课程设计是学习C++程序设计的一个重要环节。通过课程设计的综合训练,可以使学生在学习理论知识并在实验中进行了一系列基本训练的基础上,进一步加强学生对实际问题分析、编程和动手能力的提高,强化综合应用能力,扩充知识,开阔视野。学生在熟练运用Visual C++ 6.0以后,通过使用Visual C++ 6.0的训练,扩展程序设计的知识面,提高综合应用C++知识能力的要求。
二、设计任务及要求
任务一:学校人员信息管理系统
设计任务:设计一个学校人员信息管理系统,可以实现对学校人事的信息管理。基本功能要求:
(1)建立人员信息数据
包括学号(教工号)、姓名、性别、专业(工作系别部门)、出生时间、年龄。其中,
<1> 对学生,还包括3门课的成绩(Chinese, English, Mathematics)。三门课的
成绩为int型数据。
<2> 对教师,还包括职称(如教授/副教授/讲师),工资(如1432.50)。工资为
double型数据。
【英语命名提示】:
姓名: name; 性别:sex; 专业:major; 工作系别:department
教授:professor; 副教授:Associate Professor; 讲师:Lecturer
工资:salary
(2)使用继承的方法构造3个类,对相应的对象放置10个学生(教师)信息。
➢People类——虚基类
➢Student类——派生类
➢Teacher类——派生类
(3)数据基本功能:
➢增加数据:AddData()函数。
➢删除数据:DeleteData()函数。根据学号(教工号),删除该人员的记录。
➢修改数据: UpdateData()函数。对学生,根据学号,能够修改3门课的成绩;
对教师,根据教工号,能够修改“职称”和“工资”。
➢查找功能:
1)SearchData()函数。要求能够根据“学号(教工号)”、“姓名”、“性别”三项实现查询,并能在屏幕上显示满足条件的数据记录。
2)FindMaxData()函数。对学生,查找“English”课程成绩最高的学生记录并打印;对教师,查找“工资”最高的教师记录并打印。要求:采用函数模板实现。
➢显示功能:DisplayData()函数。在屏幕上打印所有的数据记录;打印时,先打印学生的记录,后打印教师的记录。并且按学生(教工号)升序打印(选择)。
(4)重载功能:
➢要求对“<<”和“>>”运算符进行重载。考虑到输人学生(教工)姓名时,名字中可能引入空格,所以重载“>>”运算符时,需要满足这个要求。
(5)异常处理功能:
➢设置异常处理,对教师工资为负数的情况给出提示。
(6)文件的输入输出功能(选择):
➢能够从文件中读入数据。外部文件为Student_ext.dat, Teacher_ext.dat。
➢能够将数据保存到相应目录的文件中。保存数据时,分两个文件分别保存Student.dat, Teacher.dat。
(7)参考系统界面如示:
参考系统界面如下:
➢1-增加一位人员(教师、学生)记录
➢2-删除一个人员记录
➢3-修改一个人员记录
➢4-根据“学号(教工号)”、“姓名”、“性别”查找记录
➢5-根据人员类别(学生、教师)查找“English”课程成绩最高的学生,或最高工资的教师
➢6-显示全部人员记录
➢7-从外部文件追加数据
➢8-将所有数据保存到磁盘文件
➢9-退出系统。
如下例题所示:
任务二:运算符的重载
(1) 编写程序,用于进行集合的并、差和交运算。例如输入整数集合{9 5 4 3 6 7}和{2 4 6 9},计算出它们进行集合的并、差和交运算后的结果。
用以下表达式实现整数集合的运算:
s1+s2 两个整数集合的并运算
s1-s2 两个整数集合的差运算
s1*s2 两个整数集合的交运算
(2)1、下面给出的程序是用于打印九九乘法表,但程序有错误,请调试,使得程序运行后,能够输出如下显示的九九乘法表
#include
using namespace std;
int main()
{
int i,j;
cout<<"*";
for(i=1;i<=9;i++)
cout<
cout< for(i=1;i<=i;i++) { cout< for(j=1;j<=9;j++) cout< } return 0; } 三、设计时间进度安排 四、成绩考核 与任课教师针对课程设计的具体问题,进行提问与论述,然后打分。 五、报告书写格式 参考:《C++面向对象程序设计》课程设计报告 六、参考资料 [1] C++面向对象程序设计教程(第3版),陈维兴,林小茶,清华大学出版社,2009。 [2]《C++程序设计》(第2版),吴乃陵,况迎辉,高等教育出版社,2006。 [3]《C++程序设计实践教程》(第2版),吴乃陵,况迎辉,高等教育出版社,2006。 [4]《C++面向对象程序设计教程(第3版)习题解答与上机指导》,清华大学出版社,陈维兴,陈昕,林小茶,2009。 指导教师(签名): 年月日