C++课程设计《学校人员信息管理系统》,求设计思路和类框架
只需要给个思路还有类框架应该怎么构建,希望各位大神能help下具体要求如下:
题目在此:
设计一个学校人员信息管理系统,可以实现对学校人事的信息管理。基本功能要求如下:
(1)建立人员信息数据。包括学号(教工号)、姓名、性别、专业(工作系别部门)、出生时间、年龄。其中,
1)对学生,还包括3门课的成绩(Chinese, English, Mathematics)。三门课的成绩为int型数据。
2)对教师,还包括职称(如教授/副教授/讲师),工资(如1432.50)。工资为double型数据。
(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-退出系统。