理学学校人员信息管理系统精品文档Word格式文档下载.docx

上传人:b****3 文档编号:15905561 上传时间:2022-11-16 格式:DOCX 页数:33 大小:37.76KB
下载 相关 举报
理学学校人员信息管理系统精品文档Word格式文档下载.docx_第1页
第1页 / 共33页
理学学校人员信息管理系统精品文档Word格式文档下载.docx_第2页
第2页 / 共33页
理学学校人员信息管理系统精品文档Word格式文档下载.docx_第3页
第3页 / 共33页
理学学校人员信息管理系统精品文档Word格式文档下载.docx_第4页
第4页 / 共33页
理学学校人员信息管理系统精品文档Word格式文档下载.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

理学学校人员信息管理系统精品文档Word格式文档下载.docx

《理学学校人员信息管理系统精品文档Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《理学学校人员信息管理系统精品文档Word格式文档下载.docx(33页珍藏版)》请在冰豆网上搜索。

理学学校人员信息管理系统精品文档Word格式文档下载.docx

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.系统类的程序关系

2.类的主要框架描述

***************************************************************************

基类:

classpeople{

public:

intnum;

charname[30];

charsex[15];

charmajor_or_department[50];

chardate[30];

intage;

people(intn,charnam[30],chars[15],charo[50],chard[30],inta)

{

num=n;

strcpy(name,nam);

strcpy(sex,s);

strcpy(major_or_department,o);

strcpy(date,d);

age=a;

}

};

***************************************************************************

教师类:

classteacher:

virtualpublicpeople

{

teacher(intn=0,charnam[30]="

"

chars[15]="

charo[50]="

chard[30]="

inta=0,charj[50]="

doublesa=0):

people(n,nam,s,o,d,a),salary(sa){strcpy(job,j);

}

charjob[50];

doublesalary;

friendistream&

operator>

>

(istream&

is,teacher&

tea);

//重载"

运算符函数声明

friendostream&

operator<

<

(ostream&

os,teacher&

tea);

voidAddData();

voidDisplayData();

}tea[10];

学生类:

classstudent:

student(intn=0,charnam[30]="

chard[15]="

inta=0,intc=0,inte=0,intm=0):

people(n,nam,s,o,d,a),score_chinese(c),score_english(e),score_mathematices(m){}

intscore_chinese;

intscore_english;

intscore_mathematices;

is,student&

stu);

friendostream&

os,student&

voidAddData();

}stu[10];

教师类功能函数

template<

typenameQ>

QMax(Q*x,intlen)

voidTAddData()//对教师类对象的添加功能函数

voidTDeleteData()//对教师类对象的删除功能函数

voidTUpdateData()//对教师类对象的修改功能函数

voidTSearchData_num()//按教工号查询教师类对象

voidTSearchData_nam()//按姓名查询教师类对象

voidTSearchData_sex()//按性别查询教师类对象

voidTFindMaxData()//对教师类对象的最高工资查询功能函数

voidTDisplayData()//对教师类对象按教工号升序排序打印功能函数

voidTsave()//对教师类对象的保存功能函数

voidTload()//对教师类对象的读取功能函数

学生类功能函数

voidSAddData()//对学生类对象的添加功能函数

voidSDeleteData()//对学生类对象的删除功能函数

voidSUpdateData()//对学生类对象的修改功能函数

voidSSearchData_num()//按学号查询学生类对象

voidSSearchData_nam()//按姓名查询学生类对象

voidSSearchData_sex()//按性别查询学生类对象

voidSFindMaxData()//对学生类对象的最高英语成绩查询功能函数

voidSDisplayData()//对学生类对象按学号升序排序打印功能函数

voidSsave()//对学生类对象的保存功能函数

voidSload()//对学生类对象的读取功能函数

功能函数

voidShowmenu()

voidMenu()

voidMenu1()

voidAddData()//添加功能函数

voidDeleteData()//删除功能函数

voidUpdateData()//修改功能函数

voidSearchData()//查询功能函数

voidFindMaxDataS()//英语成绩最高学生查询函数

voidFindMaxDataT()//工资最高教师查询函数

voidDisplayData()//显示全部人员记录函数

voidsave()//保存功能函数

voidload()//读取功能函数

intmain()

四、系统测试用例

主菜单界面

异常处理

 

教工号学号输入重复报错

按升序排列所有记录

保存记录

五、错误记录及原因分析

1.字符数组直接赋值发生错误

错误原因分析:

字符数组不可直接赋值,而要用stycpy函数进行赋值。

2.在派生类析构函数中初始化出现问题。

要给形参赋初值。

3.排序功能有错误

排序功能函数只有一个循环,当没有按顺序输入教工号或学号时,不能输出排序。

要在循环外再加一个循环进行控制。

4.添加记录输入重复教工号或学号时不会显示输入有误

当输入有误

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 电力水利

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1