资源描述
《C++面向对象程序设计》课程设计任务书
学年学期:2023-2023学年第三学期
专业班级:13计算机物联网工程
指导教师:陈培芝
设计时间:2023/06/08 ~ 2023/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<iomanip>
using namespace std;
int main()
{
int i,j;
cout<<"*";
for(i=1;i<=9;i++)
cout<<i<<" ";
cout<<endl;
for(i=1;i<=i;i++)
{
cout<<i;
for(j=1;j<=9;j++)
cout<<i*j;
}
return 0;
}
三、设计时间进度安排
Date日期
Contents
设计进度
6月23日
一、布置任务,讲解课程的基本设计思绪和基本规定。
二、讲解课程设计报告本规定、需要提交电子资料
三、说明课程设计的成绩评估标准。
四、开始《学校人员信息管理系统》的设计,或者通过指导老师批准后,自选课程设计题。
6月24日
一.学生自主设计,老师辅导。
二.检查学生的程序框架、类的重要框架描述完毕情况。
三.完毕“数据基本功能”,老师检查完毕情况;
四.完毕“系统界面”设计,老师检查完毕情况;
6月30日
一.学生自主设计,老师辅导,并进行抽查。
二.完毕“重载功能”,老师检查完毕情况;
三.完毕“异常解决功能”,老师检查完毕情况;
四.整个系统的功能代码完毕,老师进行抽查。
7月4日
一.撰写测试用例,对系统功能、性能进行测试;
二.老师抽查,对学生提交系统的代码可读性、可维护性进行讲解并分析;
三.再次强调课程设计报告本规定,设计报告格式规定。
四.规定学生按规定提交电子资料、课程设计报告纸制版。
四、成绩考核
与任课教师针对课程设计的具体问题,进行提问与论述,然后打分。
五、报告书写格式
参考:《C++面向对象程序设计》课程设计报告
六、参考资料
[1] C++面向对象程序设计教程(第3版),陈维兴,林小茶,清华大学出版社,2023。
[2]《C++程序设计》(第2版),吴乃陵,况迎辉,高等教育出版社,2023。
[3]《C++程序设计实践教程》(第2版),吴乃陵,况迎辉,高等教育出版社,2023。
[4]《C++面向对象程序设计教程(第3版)习题解答与上机指导》,清华大学出版社,陈维兴,陈昕,林小茶,2023。
指导教师(署名):
年 月 日
展开阅读全文