(员工管理)学校人员信息管理=_

上传人:精****库 文档编号:134519689 上传时间:2020-06-06 格式:DOC 页数:100 大小:401.61KB
返回 下载 相关 举报
(员工管理)学校人员信息管理=__第1页
第1页 / 共100页
(员工管理)学校人员信息管理=__第2页
第2页 / 共100页
(员工管理)学校人员信息管理=__第3页
第3页 / 共100页
(员工管理)学校人员信息管理=__第4页
第4页 / 共100页
(员工管理)学校人员信息管理=__第5页
第5页 / 共100页
点击查看更多>>
资源描述

《(员工管理)学校人员信息管理=_》由会员分享,可在线阅读,更多相关《(员工管理)学校人员信息管理=_(100页珍藏版)》请在金锄头文库上搜索。

1、(员工管理)学校人员信息管理=一、设计目的课程设计是学习C+程序设计的一个重要环节。通过课程设计的综合训练,可以使学生在学习理论知识并在实验中进行了一系列基本训练的基础上,进一步加强学生对实际问题分析、编程和动手能力的提高,强化综合应用能力,扩充知识,开阔视野。学生在熟练运用Visual C+ 6.0以后,通过使用Visual C+ 6.0的训练,扩展程序设计的知识面,提高综合应用C+知识能力的要求。二、设计内容设计一个学校人员信息管理系统,可以实现对学校人事的信息管理。基本功能要求如下: (1)建立人员信息数据。包括学号(教工号)、姓名、性别、专业(工作系别部门)、出生时间、年龄。其中,1)

2、对学生,还包括3门课的成绩(Chinese, English, Mathematics)。三门课的成绩为int型数据。2)对教师,还包括职称(如教授/副教授/讲师),工资(如1432.50)。工资为double型数据。(2)使用继承的方法构造3个类,对相应的对象放置10个学生(教师)信息。 People类虚基类 Student类派生类 Teacher类派生类(3)数据基本功能: 增加数据:AddData()函数。 删除数据:DeleteData()函数。根据学号(教工号),删除该人员的记录。 修改数据: UpdateData()函数。对学生,根据学号,能够修改3门课的成绩;对教师,根据教工号,

3、能够修改“职称”和“工资”。 查找功能:1)SearchData()函数。要求能够根据“学号(教工号)”、“姓名”、“性别”三项实现查询,并能在屏幕上显示满足条件的数据记录。2)FindMaxData()函数。对学生,查找“English”课程成绩最高的学生记录并打印;对教师,查找“工资”最高的教师记录并打印。要求:采用函数模板实现。 显示功能:DisplayData()函数。在屏幕上打印所有的数据记录;打印时,先打印学生的记录,后打印教师的记录。并且按学生(教工号)升序打印。(4)重载功能: 要求对“”和“”运算符进行重载。考虑到输人学生(教工)姓名时,名字中可能引入空格,所以重载“”运算符

4、时,需要满足这个要求。(5)异常处理功能: 设置异常处理,对教师工资为负数的情况给出提示。(6)文件的输入输出功能: 能够从文件中读入数据。外部文件为Student_ext.dat, Teacher_ext.dat。 能够将数据保存到相应目录的文件中。保存数据时,分两个文件分别保存Student.dat, Teacher.dat。(7)参考系统界面如示: 1-增加一位人员(教师、学生)记录 2-删除一个人员记录 3-修改一个人员记录 4-根据“学号(教工号)”、“姓名”、“性别”查找记录 5-根据人员类别(学生、教师)查找“English”课程成绩最高的学生,或最高工资的教师 6-显示全部人员

5、记录 7-从外部文件追加数据 8-将所有数据保存到磁盘文件 9-退出系统。三、总体设计1.系统类的程序关系2.类的主要框架描述*基类:*class peoplepublic:int num;char name30;char sex15;char major_or_department50;char date30;int age;people(int n,char nam30,char s15,char o50,char d30,int a)num=n;strcpy(name,nam);strcpy(sex,s);strcpy(major_or_department,o);strcpy(date

6、,d);age=a;* 教师类:*class teacher:virtual public peoplepublic: teacher(int n=0,char nam30=,char s15=,char o50=,char d30=,int a=0,char j50=,double sa=0):people(n,nam,s,o,d,a),salary(sa)strcpy(job,j);char job50;double salary;friend istream &operator( istream &is,teacher &tea);/重载运算符函数声明friend ostream &op

7、erator( ostream &os,teacher &tea) ;/重载( istream &is,student &stu);/重载运算符函数声明friend ostream &operator( ostream &os,student &stu);/重载运算符函数声明 void AddData();void DisplayData();stu10;*教师类功能函数*template Q Max(Q * x,int len) void TAddData()/对教师类对象的添加功能函数void TDeleteData()/对教师类对象的删除功能函数void TUpdateData()/对教

8、师类对象的修改功能函数void TSearchData_num()/按教工号查询教师类对象void TSearchData_nam()/按姓名查询教师类对象void TSearchData_sex()/按性别查询教师类对象void TFindMaxData()/对教师类对象的最高工资查询功能函数void TDisplayData()/对教师类对象按教工号升序排序打印功能函数void Tsave()/对教师类对象的保存功能函数void Tload()/对教师类对象的读取功能函数*学生类功能函数*template Q Max(Q * x,int len) void SAddData()/对学生类对

9、象的添加功能函数void SDeleteData()/对学生类对象的删除功能函数void SUpdateData()/对学生类对象的修改功能函数void SSearchData_num()/按学号查询学生类对象void SSearchData_nam()/按姓名查询学生类对象void SSearchData_sex()/按性别查询学生类对象void SFindMaxData()/对学生类对象的最高英语成绩查询功能函数void SDisplayData()/对学生类对象按学号升序排序打印功能函数void Ssave()/对学生类对象的保存功能函数void Sload()/对学生类对象的读取功能函

10、数*功能函数*void Showmenu() void Menu()void Menu1()void AddData()/添加功能函数void DeleteData()/删除功能函数void UpdateData()/修改功能函数void SearchData()/查询功能函数void FindMaxDataS()/英语成绩最高学生查询函数void FindMaxDataT()/工资最高教师查询函数void DisplayData()/显示全部人员记录函数void save()/保存功能函数void load()/读取功能函数int main()四、系统测试用例主菜单界面异常处理教工号学号输入重复报错按升序排列所有记录保存记录五、错误记录及原因分析1.字符数组直接赋值发生错误错误原因分析:字符数组不可直接赋值,而要用stycpy函数进行赋值。2.在派生类析构函数中初始化出现问题。错误原因分析:要给形参赋初值。3.排序功能有错误错误原因分析:排序功能函数只有一个循环,当没有按顺序

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号