您的当前位置:首页正文

《C++面向对象程序设计》课程设计-任务书Word版

来源:帮我找美食网


《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<可复制、编制,期待你的好评与关注!

for(i=1;i<=i;i++) {

cout<for(j=1;j<=9;j++) cout<return 0; }

三、设计时间进度安排

Date日期 6月23日 Contents 设计进度 一、布置任务,讲解课程的基本设计思路和基本要求。 二、讲解课程设计报告本要求、需要提交电子资料 三、说明课程设计的成绩评定标准。 四、开始《学校人员信息管理系统》的设计,或者经过指导老师同意后,自选课程设计题。 一.学生自主设计,老师辅导。 二.检查学生的程序框架、类的主要框架描述完成情况。 三.完成“数据基本功能”,老师检查完成情况; 四.完成“系统界面”设计,老师检查完成情况; 一.学生自主设计,老师辅导,并进行抽查。 二.完成“重载功能”,老师检查完成情况; 三.完成“异常处理功能”,老师检查完成情况; 四.整个系统的功能代码完成,老师进行抽查。 一.撰写测试用例,对系统功能、性能进行测试; 二.老师抽查,对学生提交系统的代码可读性、可维护性进行讲解并分析; 三.再次强调课程设计报告本要求,设计报告格式要求。 四.要求学生按要求提交电子资料、课程设计报告纸制版。 6月24日 6月30日 7月4日

四、成绩考核

与任课教师针对课程设计的具体问题,进行提问与论述,然后打分。

五、报告书写格式

参考:《C++面向对象程序设计》课程设计报告

六、参考资料

[1] C++面向对象程序设计教程(第3版),陈维兴,林小茶,清华大学出版社,2009。 [2]《C++程序设计》(第2版),吴乃陵,况迎辉,高等教育出版社,2006。

可复制、编制,期待你的好评与关注!

[3]《C++程序设计实践教程》(第2版),吴乃陵,况迎辉,高等教育出版社,2006。 [4]《C++面向对象程序设计教程(第3版)习题解答与上机指导》,清华大学出版社,陈维兴,陈昕,林小茶,2009。

指导教师(签名): 年 月 日

可复制、编制,期待你的好评与关注!

因篇幅问题不能全部显示,请点此查看更多更全内容

Top