C++高校人员信息管理系统课程设计报告Word格式.docx

上传人:b****8 文档编号:22187691 上传时间:2023-02-03 格式:DOCX 页数:33 大小:388.75KB
下载 相关 举报
C++高校人员信息管理系统课程设计报告Word格式.docx_第1页
第1页 / 共33页
C++高校人员信息管理系统课程设计报告Word格式.docx_第2页
第2页 / 共33页
C++高校人员信息管理系统课程设计报告Word格式.docx_第3页
第3页 / 共33页
C++高校人员信息管理系统课程设计报告Word格式.docx_第4页
第4页 / 共33页
C++高校人员信息管理系统课程设计报告Word格式.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

C++高校人员信息管理系统课程设计报告Word格式.docx

《C++高校人员信息管理系统课程设计报告Word格式.docx》由会员分享,可在线阅读,更多相关《C++高校人员信息管理系统课程设计报告Word格式.docx(33页珍藏版)》请在冰豆网上搜索。

C++高校人员信息管理系统课程设计报告Word格式.docx

教师、实验员、行政人员,教师兼行政人员;

共有的信息包括:

编号、姓名、性别、年龄等。

其中,教师还包含的信息有:

所在系部、专业、职称;

实验员还包含的信息由:

所在实验室、职务;

行政人员还包含的信息有:

政治面貌、职称等。

2.2功能要求

(1)基本功能

1)添加功能:

程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。

2)查询功能:

可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。

3)显示功能:

可显示当前系统中所有记录,每条记录占据一行。

4)编辑功能:

可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。

5)删除功能:

主要实现对已添加的人员记录进行删除。

如果当前系统中没有相应的人员记录,则提示“记录为空!

”并返回操作;

否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。

6)统计功能:

能根据多种参数进行人员的统计。

例如,统计四类人员数量以及总数,

或者统计男、女员工的数量,或者统计某年龄段人员的数量等。

7)保存功能:

可将当前系统中各类人员记录存入文件中,存入方式任意。

8)读取功能:

可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。

2.3问题的解决方案

根据系统功能要求,可以将问题解决分为以下步骤:

1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;

2)分析系统中的各个实体及它们之间的关系;

3)根据问题描述,设计系统的类层次;

4)完成类层次中各个类的描述;

5)完成类中各个成员函数的定义;

6)完成系统的应用模块;

7)功能调试;

8)完成系统总结报告。

第三章系统设计

3.1数据设计

3.1.1类设计

1.人员的管理需包含人员的基本信息,所以定义一个人员类如表3-1所示:

表3-1员工类

类名

人员类

数据成员

protected:

num(编号)charname[20](姓名)

charsex[10](性别)age(年龄)

成员函数

public:

Input():

输入函数

Output():

输出函数

GetNum():

获取编号

GetName():

获取姓名

2.根据高校人员的工作性质的不同,将所有员工分为教师、实验员、行政人员,教师兼行政人员

表3-2教师类

教师类(公有继承员工类)

chardepart[20](部门);

charspec[20](专业);

chartitle[20](职称);

voidInput_1():

voidOutput_1():

charGetDepart():

获取部门

charGetSpec():

获取专业

charGetTitle():

获取职称

friendTea_Manage:

友元教师管理类

表3-3实验员类

实验员类(公有继承员工类)

chartextroom[20](所在实验室)

charpost[20](职务)

voidInput_3():

voidOutput_3():

charGetTextroom():

获取实验室

charGetPost():

获取职务

friendExp_Manage:

友元实验人员管理类

表3-4行政人员类

行政人员类(公有继承员工类)

charpolitics[20]:

(政治面貌)

chartitle[20]:

(职称)

voidInput_2():

voidOutput_2():

charGetPolitics():

获取政治面貌

获取职称

friendSta_Manage:

友元行政人员管理类

表3-5教师兼行政人员类

教师兼行政人员类(公有继承员工类)

Public:

voidInput_4():

voidOutput_4():

friendTea_Sta_Manage:

友元教师行政人员管理类

4、为了控制以上的类,分别建立了4个管理类,以经理的管理了为例:

表3-6教师管理类

教师管理类

TeacherTea[20](创建教师的空间);

top(统计人员数和进行操作时的指针);

3.1.2类之间的关系

员工类派生出教师类、实验员类、行政人员类,教师类和行政人员类派生出教师兼行政人员类。

3.1.3函数设计

根据要求,为了功能的实现,通过top实现功能。

分别以8个功能函数进行对数据的操作(下面以经理类为例)

voidAdd();

(信息的添加)

voidSearch();

(信息的查找)

voidEdit();

(信息的编辑)

voidTotal();

(信息的统计)

voidDelete();

(信息的删除)

voidShow();

(信息的显示)

voidSave();

(信息的存储)

voidRead();

(信息的读取)

3.2结构设计

3.2.1系统流程图

3.2.2界面设计

1.主菜单界面,如图3—3所示

图3—3主菜单

2.教师菜单界面,如图3-4

图3—4教师管理界面

3.教师查询界面,如图3-5所示:

图3—5教师查询界面

4.教师删除界面,如图3-6所示:

图3—6教师删除界面

第四章系统实现

4.1类实现

classPerson//人员类

classTeacher:

virtualpublicPerson//教师类

classStaff:

virtualpublicPerson//行政人员类

classExperimenter:

publicPerson//实验员类

classTea_Sta:

publicTeacher,publicStaff//教师兼行政人员类

classTea_manage//教师管理类

classSta_manage//行政人员管理类

classExp_manage//实验员管理类

classTea_Sta_manage//教师兼行政人员管理类

4.2函数实现

voidPerson:

:

Input()//员工信息输入

{

cout<

<

"

请输入编号:

endl;

cin>

>

num;

请输入名字:

name;

请输入性别:

sex;

请输入年龄:

age;

}

voidTeacher:

Input_1()//教师信息输入

Input();

请输入所在系别:

depart;

请输入专业名称:

spec;

请输入职称:

title;

Output()//员工信息输出

编号:

num<

姓名:

name<

性别:

sex<

cout<

年龄:

age<

Output_1()//教师信息输出

Output();

所在系别:

depart<

所在专业:

spec<

职称:

title<

intPerson:

GetNum()//返回编号

returnnum;

charPerson:

GetName()//返回姓名

returnname[20];

GetSex()//返回性别

returnsex[10];

GetAge()//返回年龄

returnage;

}

charTeacher:

GetDepart()//返回所在部门

returndepart[20];

GetSpec()//返回专业

returnspec[20];

GetTitle()//返回职称

returntitle[20];

voidTea_Manage:

Add()//教师信息的添加

Teachert;

请输入新增人员的信息:

t.Input_1();

inti;

for(i=0;

i<

top;

i++)

{

if(t.GetNum()==Tea[i].GetNum())

{

cout<

编号已存在,请重新输入:

break;

}

}

if(i==top)

{

if(top>

1000)

cout<

内存已满,不可添加"

elseif(top<

=1000)

{Tea[top]=t;

添加成功"

top++;

}

return;

Show()//教师信息的显示

for(inti=0;

Tea[i].Output_1();

....................................."

Search()//教师信息的查询

if(top==0)

cout<

没有任何信息"

intchoice;

inti=0;

intm=0;

intn=0;

intnum;

请输入您的选择:

查询方式1.按名字2.按编号"

choice;

switch(choice)

case1:

charname[20];

请输入您所查询的人员名字:

cin>

for(i;

{

if(!

strcmp(name,Tea[i].name))

{

Tea[i].Output_1();

break;

}

if(i==top)

查无此人"

}break;

case2:

请输入编号:

for(i=0;

if(num==Tea[i].GetNum())

if(i==top)

cout<

Edit()//教师信息的修改

inti=0;

Search();

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"

1.修改编号2.修改姓名3.修改性别4.修改年龄5.修改系别6.修改专业7.修改职称0.退出"

cin>

编号不可修改"

charna[20];

请输入修改后的姓名:

na;

strcpy(Tea[i].name,na);

修改成功"

case3:

intm;

chara[10];

输入修改后的内容:

cin>

a;

strcpy(Tea[i].sex,a);

修改成功,是否继续(1/2)"

m;

if(m=1)

return;

case4:

intb,m;

请输入修改后的年龄:

b;

Tea[i].age=b;

return;

case5:

charn[20];

请输入修改后系部:

n;

strcpy(Tea[i].depart,n);

}break;

case6:

请输入修改后专业:

strcpy(Tea[i].spec,n);

case7:

请输入修改后的职称:

strcpy(Tea[i].title,n);

case0:

退出成功!

break;

default:

无此选项!

请重试!

Delete()//教师信息的删除

请输入你想删除人员的编号:

t.num;

没有人员选择"

for(i;

if(t.num==Tea[i].num)

Tea[i]=Tea[i+1];

top--;

break;

if(i==top)

删除成功"

intm;

if(m=1)return;

Total()//教师信息的统计

top<

Save()//教师信息的保存

ofstreamoutfile("

c:

//高校管理系统之教师类.dat"

ios:

binary);

if(!

outfile)

cerr<

openerror!

abort();

outfile.write((char*)&

Tea[i],sizeof(Tea[i]));

保存成功"

outfile.close();

Read()//教师信息的读出

ifstreaminfile("

infile)

while(infile.read((char*)&

Tea[top],sizeof(Tea[0])))top++;

读取成功"

infile.close();

4.3主函数实现

intmain()//主函数的实现

***欢迎进入北华航天工业学院人员管理系统***"

do{

*****主菜单*****\n"

||||"

||1=>

行政人员管理2=>

教师管理||"

||3=>

实验人员管理4=>

教师兼行政人员管理||"

||0=>

退出系统||"

\n请输入您的选择:

;

switch(choice)

case1:

StuMenu();

case2:

TeaMenu();

case3:

ExpMenu();

case4:

Tea_StaMenu();

case0:

\n您已安全退出系统."

default:

\n没有此选项.请重选."

}while(choice!

=0);

\n***欢迎您下次再使用本系统!

***"

return0;

第五章系统测试

5.1模块测试

以教师信息为例进行说明。

(1)选择对教师信息进行添加,见图5—1,图5—2

图5—1

图5—2

(2)选择对教师信息显示图5—3

图5—3

(3)选择对教师信息修改图5—4

图5—4

(4)修改后显示图5—5

图5—5

(5)对教师信息的删除图5—6

图5—6

(6

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

当前位置:首页 > 求职职场 > 简历

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

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