1、C+面向对象程序设计课程设计任务书学年学期:2013-2014学年第三学期专业班级:13计算机物联网工程指导教师:陈培芝设计时间:2014/06/08 2014/07/04学时周数:共2.0周.一、设计目的课程设计是学习C+程序设计的一个重要环节。通过课程设计的综合训练,可以使学生在学习理论知识并在实验中进行了一系列基本训练的基础上,进一步加强学生对实际问题分析、编程和动手能力的提高,强化综合应用能力,扩充知识,开阔视野。学生在熟练运用Visual C+ 6.0以后,通过使用Visual C+ 6.0的训练,扩展程序设计的知识面,提高综合应用C+知识能力的要求。二、设计任务及要求任务一:学校人
2、员信息管理系统设计任务:设计一个学校人员信息管理系统,可以实现对学校人事的信息管理。基本功能要求: (1)建立人员信息数据包括学号(教工号)、姓名、性别、专业(工作系别部门)、出生时间、年龄。其中, 对学生,还包括3门课的成绩(Chinese, English, Mathematics)。三门课的成绩为int型数据。 对教师,还包括职称(如教授/副教授/讲师),工资(如1432.50)。工资为double型数据。【英语命名提示】:姓名: name; 性别:sex; 专业:major; 工作系别:department教授:professor; 副教授:Associate Professor; 讲
3、师:Lecturer工资:salary(2)使用继承的方法构造3个类,对相应的对象放置10个学生(教师)信息。 People类虚基类 Student类派生类 Teacher类派生类(3)数据基本功能: 增加数据:AddData()函数。 删除数据:DeleteData()函数。根据学号(教工号),删除该人员的记录。 修改数据: UpdateData()函数。对学生,根据学号,能够修改3门课的成绩;对教师,根据教工号,能够修改“职称”和“工资”。 查找功能:1)SearchData()函数。要求能够根据“学号(教工号)”、“姓名”、“性别”三项实现查询,并能在屏幕上显示满足条件的数据记录。2)F
4、indMaxData()函数。对学生,查找“English”课程成绩最高的学生记录并打印;对教师,查找“工资”最高的教师记录并打印。要求:采用函数模板实现。 显示功能:DisplayData()函数。在屏幕上打印所有的数据记录;打印时,先打印学生的记录,后打印教师的记录。并且按学生(教工号)升序打印(选择)。(4)重载功能: 要求对“”和“”运算符进行重载。考虑到输人学生(教工)姓名时,名字中可能引入空格,所以重载“”运算符时,需要满足这个要求。(5)异常处理功能: 设置异常处理,对教师工资为负数的情况给出提示。(6)文件的输入输出功能(选择): 能够从文件中读入数据。外部文件为Student
5、_ext.dat, Teacher_ext.dat。 能够将数据保存到相应目录的文件中。保存数据时,分两个文件分别保存Student.dat, Teacher.dat。(7)参考系统界面如示:参考系统界面如下: 1-增加一位人员(教师、学生)记录 2-删除一个人员记录 3-修改一个人员记录 4-根据“学号(教工号)”、“姓名”、“性别”查找记录 5-根据人员类别(学生、教师)查找“English”课程成绩最高的学生,或最高工资的教师 6-显示全部人员记录 7-从外部文件追加数据 8-将所有数据保存到磁盘文件 9-退出系统。如下例题所示:任务二:运算符的重载(1) 编写程序,用于进行集合的并、差
6、和交运算。例如输入整数集合9 5 4 3 6 7和2 4 6 9,计算出它们进行集合的并、差和交运算后的结果。用以下表达式实现整数集合的运算: s1+s2 两个整数集合的并运算s1-s2 两个整数集合的差运算s1*s2 两个整数集合的交运算(2) 1、下面给出的程序是用于打印九九乘法表,但程序有错误,请调试,使得程序运行后,能够输出如下显示的九九乘法表#includeusing namespace std;int main()int i,j;cout*;for(i=1;i=9;i+)couti ;coutendl;for(i=1;i=i;i+)couti;for(j=1;j=9;j+)cout
7、i*j;return 0;三、设计时间进度安排Date日期Contents设计进度6月23日一、布置任务,讲解课程的基本设计思路和基本要求。二、讲解课程设计报告本要求、需要提交电子资料三、说明课程设计的成绩评定标准。四、开始学校人员信息管理系统的设计,或者经过指导老师同意后,自选课程设计题。6月24日一学生自主设计,老师辅导。二检查学生的程序框架、类的主要框架描述完成情况。三完成“数据基本功能”,老师检查完成情况;四完成“系统界面”设计,老师检查完成情况;6月30日一学生自主设计,老师辅导,并进行抽查。二完成“重载功能”,老师检查完成情况;三完成“异常处理功能”,老师检查完成情况;四整个系统的
8、功能代码完成,老师进行抽查。7月4日一撰写测试用例,对系统功能、性能进行测试;二老师抽查,对学生提交系统的代码可读性、可维护性进行讲解并分析;三再次强调课程设计报告本要求,设计报告格式要求。四要求学生按要求提交电子资料、课程设计报告纸制版。四、成绩考核与任课教师针对课程设计的具体问题,进行提问与论述,然后打分。五、报告书写格式参考:C+面向对象程序设计课程设计报告六、参考资料1 C+面向对象程序设计教程(第3版),陈维兴,林小茶,清华大学出版社,2009。2C+程序设计(第2版),吴乃陵,况迎辉,高等教育出版社,2006。3C+程序设计实践教程(第2版),吴乃陵,况迎辉,高等教育出版社,2006。4C+面向对象程序设计教程(第3版)习题解答与上机指导,清华大学出版社,陈维兴,陈昕,林小茶,2009。指导教师(签名): 年 月 日