厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx

上传人:b****2 文档编号:664632 上传时间:2023-04-29 格式:DOCX 页数:63 大小:255.84KB
下载 相关 举报
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第1页
第1页 / 共63页
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第2页
第2页 / 共63页
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第3页
第3页 / 共63页
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第4页
第4页 / 共63页
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第5页
第5页 / 共63页
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第6页
第6页 / 共63页
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第7页
第7页 / 共63页
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第8页
第8页 / 共63页
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第9页
第9页 / 共63页
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第10页
第10页 / 共63页
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第11页
第11页 / 共63页
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第12页
第12页 / 共63页
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第13页
第13页 / 共63页
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第14页
第14页 / 共63页
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第15页
第15页 / 共63页
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第16页
第16页 / 共63页
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第17页
第17页 / 共63页
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第18页
第18页 / 共63页
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第19页
第19页 / 共63页
厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx_第20页
第20页 / 共63页
亲,该文档总共63页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx

《厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx(63页珍藏版)》请在冰点文库上搜索。

厦门理工学院c课程设计学校人员信息管理系统Word文件下载.docx

(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、系统类的层次关系

people类——基类

包含的数据成员:

学号(教工号)、姓名、性别、出生时间、年龄。

student类——派生类

扩充的数据成员:

Chinese,English,Mathematics三门成绩,选修课成绩,选修课名称,专业。

teacher类——派生类

扩充的数据成员:

还包括职称(如教授/副教授/讲师),工资,所教课程,所属部门。

2、类的主要框架描述

1、基类:

classpeople{

public:

intnum;

stringname;

stringsex;

stringbirthday;

intage;

people(intnum1,stringname1,stringsex1,stringbirthday1,intage1)

{

num=num1;

name=name1;

sex=sex1;

birthday=birthday1;

age=age1;

}

};

2、学生类:

classstudent:

virtualpublicpeople{

stringmajor;

stringlesson;

intscore;

intChinese;

intEnglish;

intMathematics;

student(intnum1=0,stringname1="

"

stringsex1="

stringbirthday1="

intage1=0,

stringmajor1="

stringlesson1="

intscore1=0,intChinese1=0,intEnglish1=0,intMathematics1=0):

people(num1,name1,sex1,birthday1,age1)

major=major1;

lesson=lesson1;

score=score1;

Chinese=Chinese1;

English=English1;

Mathematics=Mathematics1;

}

voidAddData()

system("

cls"

);

cout<

<

请输入学号:

;

cin>

>

num;

for(intk=1;

k<

11;

k++)

if(num==k)

k=11;

if(k==11)

{

cout<

请输入10以内的学号:

endl;

AddData();

}

cout<

请输入学生姓名:

cin>

name;

请输入学生性别:

sex;

请输入学生专业:

major;

请输入学生出生时间:

birthday;

请输入学生年龄:

age;

请按顺序输入学生语文、英语、数学成绩:

Chinese;

English;

Mathematics;

请输入选修课名:

lesson;

请输入选修课成绩:

score;

voidDisplayData()

{

**************************************"

*"

学号"

"

姓名"

性别"

专业"

出生时间"

年龄"

语文"

英语"

数学"

选修课名"

选修课"

num<

name<

\t"

sex<

major<

\t"

birthday<

age<

Chinese<

English<

Mathematics<

lesson<

score<

}

voidsave(ofstream&

outf)

{

outf<

voidload(ifstream&

inf)

inf>

num>

name>

sex>

major>

birthday>

age>

Chinese>

English>

Mathematics>

lesson>

}stu[10];

3、教师类:

classteacher:

stringdepartment;

stringjob;

doublesalary;

teacher(intnum1=0,stringname1="

intage1=0,stringdepartment1="

doublesalary1=0,stringjob1="

):

department=department1;

salary=salary1;

job=job1;

voidAddData()

请按顺序输入教工号:

if(k==11)

请输入10以内的教工号"

AddData();

请输入教师姓名:

请输入教师性别:

请输入教师工作系别部门:

department;

请输入教师所教课程:

请输入教师出生时间:

请输入教师年龄:

请输入教师职称(如教授/副教授/讲师):

job;

请输入教师工资:

salary;

try//处理教师工资合法性

if(salary<

0)

throwsalary;

//抛出异常

catch(double)//捕获异常,异常类型是double型

输入有误,请重新输入"

//进行异常处理

main();

voidDisplayData()

{

cout<

************************************"

教工号"

工作部门"

职称"

工资"

课程"

*"

department<

job<

salary<

voidsave(ofstream&

voidload(ifstream&

department>

job>

salary>

}tea[10];

4、教师类功能函数:

template<

typenameQ>

QMax(Q*x,intlen)//求最大值模版

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

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

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

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

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

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

voidTSearchData_lesson()//按课程查询教师类对象

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

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

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

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

5、学生类功能函数:

//求最大值模版

QMax(Q*x,intlen)

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

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

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

voidSSelectLesson()//学生进行选课

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

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

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

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

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

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

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

6、功能函数:

voidShowmenu()//主界面

voidMenu()//增加函数二级界面

voidMenu1()//查询函数二级界面

voidMenu2()//选课函数二级界面

voidMenu3()//查找工资最高和成绩最高二级界面

voidMenu4()//其他功能界面

voidSelectLesson()//选课功能函数

voidAddData()//添加功能函数

voidDeleteData()//删除功能函数

voidUpdateData()//修改功能函数

voidSearchData()//查询功能函数

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

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

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

voidElsefunction()//其他功能函数

voidPassword()//密码功能函数

voidevaluate()//教师评分函数

voidTutoring()//辅导预约函数

voidFailsearch()//挂科查询功能函数

voidsave()//保存功能函数

voidload()//读取功能函数

intmain()//switch主体函数

四、系统测试用例

1、主界面显示

2、记录教师数据

3、教师工资数据异常处理

4、保存文件记录

文件保存在c:

\\根目录下后缀为dat可用记事本打开

5、选修课功能演示

6、显示所有人员记录

7、求教师工资最高或学生english最高

8、删除需要输入密码功能演示

9、其他功能演示

10、挂科查询

11、辅导预约功能

12、教师评分

五、错误记录及原因分析

六、源程序

见附件c++课程设计.cpp

#include<

iostream>

string>

fstream>

stdlib.h>

windows.h>

conio.h>

iomanip>

usingnamespacestd;

intmain();

voidShowmenu();

staticintT=0;

//用于标记老师类对象的个数

staticintS=0;

//用于标记学生类对象的个数

friendistream&

operator>

(istream&

is,student&

stu)//重载"

运算符函数声明

is>

stu.num;

stu.sex;

stu.major;

stu.birthday;

stu.age;

stu.lesson;

stu.score;

stu.Chinese;

stu.English;

stu.Mathematics;

returnis;

//退出函数

friendostream&

operator<

(ostream&

os,student&

os<

stu.num<

'

\n'

stu.name<

stu.sex<

stu.major<

stu.birthday<

stu.age<

stu.lesson<

stu.score<

stu.Chinese<

stu.English<

stu.Mathematics<

returnos;

charname1[20];

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2