- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1
1
一、设计目的
课程设计是学习C++程序设计的一个重要环节。通过课程设计的综合训练,可以使学生在学 习理论知识并在实验中进行了一系列基本训练的基础上,进一步加强学生对实际问题分析、编程和动手能力的提高,强化综合应用能力,扩充知识,开阔视野。学生在熟练运用 Visual C++ 6.0 以后,通过使用Visual C++ 6.0 的训练,扩展程序设计的知识面,提高综合应用C++知识能力的要求。
二、设计内容
设计一个学校人员信息管理系统,可以实现对学校人事的信息管理。基本功能要求如下:
建立人员信息数据。包括学号(教工号)、姓名、性别、专业(工作系别部门) 、出生时间、年龄。其中,
对学生,还包括 3 门课的成绩(Chinese, English, Mathematics)。三门课的成绩为int 型数据。
对教师,还包括职称(如教授/副教授/讲师),工资(如 1432.50)。工资为 double型数据。
使用继承的方法构造 3 个类,对相应的对象放置 10 个学生(教师)信息。
People 类——虚基类
Student 类——派生类
Teacher 类——派生类
数据基本功能:
增加数据:AddData()函数。
删除数据:DeleteData()函数。根据学号(教工号),删除该人员的记录。
修改数据: UpdateData()函数。对学生,根据学号,能够修改3 门课的成绩; 对教师,根据教工号,能够修改“职称”和“工资”。
查找功能:
SearchData()函数。要求能够根据“学号(教工号)”、“姓名”、“性别” 三项实现查询,并能在屏幕上显示满足条件的数据记录。
FindMaxData()函数。对学生,查找“English”课程成绩最高的学生记 录并打印;对教师,查找“工资”最高的教师记录并打印。要求:采用函数模板实现。
显示功能:DisplayData()函数。在屏幕上打印所有的数据记录;打印时,先打印学生的记录,后打印教师的记录。并且按学生(教工号)升序打印。
重载功能:
要求对“<<”和“>>”运算符进行重载。考虑到输人学生(教工)姓名时, 名字中可能引入空格,所以重载“>>”运算符时,需要满足这个要求。
异常处理功能:
设置异常处理,对教师工资为负数的情况给出提示。
文件的输入输出功能:
能够从文件中读入数据。外部文件为Student_ext.dat, Teacher_ext.dat。
能够将数据保存到相应目录的文件中。保存数据时,分两个文件分别保存Student.dat, Teacher.dat。
参考系统界面如示:
1-增加一位人员(教师、学生)记录
2-删除一个人员记录
3-修改一个人员记录
4-根据“学号(教工号)”、“姓名”、“性别”查找记录
5-根据人员类别(学生、教师)查找“English”课程成绩最高的学生,或最高工资的教师
6-显示全部人员记录
7-从外部文件追加数据
8-将所有数据保存到磁盘文件
9-退出系统。
三、总体设计
系统类的程序关系
2
PAGE
PAGE 3
类的主要框架描述
***************************************************************************
基类:
*************************************************************************** class people{
public:
int num;
char name[30]; char sex[15];
char major_or_department[50]; char date[30];
int age;
people(int n,char nam[30],char s[15],char o[50],char d[30],int a)
{
num=n; strcpy(name,nam); strcpy(sex,s);
strcpy(major_or_department,o); strcpy(date,d);
age=a;
}
};
***************************************************************************
教师类:
***************************************************************************
class teacher:virtual public people
{
public:
teacher(int n=0,char nam[30]=,char s[15]=,char o[50]=,cha
文档评论(0)