人员信息管理系统课程设计报告.docx
- 文档编号:882409
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:88
- 大小:137.44KB
人员信息管理系统课程设计报告.docx
《人员信息管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《人员信息管理系统课程设计报告.docx(88页珍藏版)》请在冰豆网上搜索。
人员信息管理系统课程设计报告
ThismodelpaperwasrevisedbytheStandardizationOfficeonDecember10,2020
人员信息管理系统课程设计报告
5结论73
7参考书目75
1系统需求分析
系统设计的目的与意义:
现在的公司人员数量及职位种类较多,各样的人事管理活动也比较频繁,因此需要设计一个公司人员信息管理系统来对公司员工信息进行管理。
系统功能需求:
本系统有五个类:
基类:
employee、派生类:
manager、technician、salesman、salesmanager,储存经理、技术人员、销售人员、销售经理信息。
(1)添加功能
程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求人员的编号要唯一,如果添加了重复编号的记录时,则提示用户数据添加重复并取消添加。
(2)查询功能
可根据编号、姓名等信息对已添加的记录进行查询。
如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能
可显示当前系统中所有记录。
(4)修改功能
可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能
对已添加的人员记录进行删除。
如果当前系统中没有相应的人员记录,则提示“记录为空!
”并返回操作;否则输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存在。
(6)统计功能
能根据多种参数进行人员的统计。
例如:
统计四类人员数量以及总数,统计男、女员工的数量,统计平均工资、最高工资、最低工资等。
(7)保存功能
将当前系统中各类人员记录存入文件中。
(8)读取功能
将保存在文件中的人员信息读入到当前系统中,以供用户使用。
2总体设计
系统功能分析:
系统通过调用函数来实现信息添加、信息查询、信息显示、信息修改、信息删除、以及数据读取保存文件等功能。
add()函数用于录入信息;search()函数用来查询信息;show()函数用来显示信息;alter()函数用来修改信息;del()函数用来删除信息;stat()函数用来统计信息read()函数用于将文件中的数据读取到内存中;save()函数用于将内存中的信息存入文件内;主函数main()用于调用这些函数。
系统功能模块划分与设计:
系统定义了manger类、technician类、salesman类、salesmanger类这四个类,定义了add()、search()、show()、alter()、del()、stat()、read()、save()、input()、output()等函数来实现系统所需功能。
系统功能模块图:
类的设计
(1)employee类(抽象类)的设计
图employee类
(2)经理类的设计
图经理类
(3)技术人员类的设计
图技术人员类
(4)销售人员类的设计
图销售人员类
(5)成绩类的设计
图销售经理类
(6)各个类的关系描述
3详细设计及实现
employee类(抽象类)的实现
#include
usingnamespacestd;
classemployee
{
public:
employee(void);
~employee(void);
virtualvoidadd()=0;
virtualvoidsearch()=0;
virtualvoidshow()=0;
virtualvoidalter()=0;
virtualvoiddel()=0;
virtualvoidstat()=0;
virtualvoidsave()=0;
virtualvoidread()=0;
virtualvoidinput()=0;
virtualvoidoutput()=0;
protected:
stringnumber;
stringname;
stringsex;
stringdepartment;
stringrank;
floatsalary;
};
经理类的实现
#include""
classmanager:
virtualpublicemployee
{
public:
manager(void);
~manager(void);
voidadd();
voidsearch();
voidshow();
voidalter();
voiddel();
voidstat();
voidsave();
voidread();
voidinput();
voidoutput();
};
#include""
#include""
#include
#include
#include
#include
usingnamespacestd;
constintMAX=100;
managerM[MAX];
intstatictop1=0;
manager:
:
manager(void)
{
}
manager:
:
~manager(void)
{
}
voidmanager:
:
input()
{
cout<<"输入编号:
"< cin>>number; cout<<"输入姓名: "< cin>>name; cout<<"输入性别: "< cin>>sex; cout<<"输入部门: "< cin>>department; cout<<"输入级别: "< cin>>rank; cout<<"输入固定月薪: "< cin>>salary; } voidmanager: : output() {cout< } voidmanager: : read() { top1=0; system("cls"); ifstreaminflie("经理.txt",ios: : in); if(! inflie) { cout<<"打开失败! "< return; } inti=0; while(inflie>>M[i].number>>M[i].name>>M[i].sex>>M[i].department>>M[i].rank>>M[i].salary) { i++; top1=i; } (); } voidmanager: : save() { ofstreamoutflie("经理.txt",ios: : out); if(! outflie) { cout<<"打开失败! "< return; } inti; for(i=0;i { outflie< } cout<<"保存成功! "< (); } voidmanager: : add() { system("cls"); read(); if(top1>=MAX) { cout<<"人员已满"< return; } cout<<"输入要添加的编号: "< stringn; cin>>n; for(inti=0;i if(n==M[i].number) { cout<<"该编号的人员已存在"< return; } managerm; cout<<"请再次输入新添加人员的信息"< (); cout<<"是否确认添加1、是2、否"< inta; cin>>a; if(a==1) { M[top1]=m; top1=top1+1; save(); } else { cout<<"放弃添加"< return; } } voidmanager: : search() { system("cls"); read(); if(top1==0) { cout<<"当前系统没有储存记录! "< return; } intchoice; cout<<"请选择查找方式: 1、按编号查找2、按姓名查找0、退出"< cin>>choice; switch(choice) { case1: { cout<<"请输入要查找的编号: "< stringnum; cin>>num; for(inti=0;i { if(M[i].number==num) { cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"< M[i].output(); return; } } cout<<"查无此人! "< };break; case2: { cout<<"请输入要查找的姓名"< stringname; cin>>name; for(inti=0;i { if(M[i].name==name) { cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"< M[i].output(); } } cout<<"查无此人! "< };break; case0: break; default: cout<<"输入错误! 请输入0~3的数字"< } } voidmanager: : show() { system("cls"); read(); if(top1==0) { cout<<"无数据! "< return; } cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"< for(inti=0;i M[i].output(); } voidmanager: : alter(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人员 信息管理 系统 课程设计 报告