员工管理系统毕业_设计论文.docx

上传人:小飞机 文档编号:1905385 上传时间:2022-12-25 格式:DOCX 页数:33 大小:139.80KB
返回 下载 相关 举报
员工管理系统毕业_设计论文.docx_第1页
第1页 / 共33页
员工管理系统毕业_设计论文.docx_第2页
第2页 / 共33页
员工管理系统毕业_设计论文.docx_第3页
第3页 / 共33页
员工管理系统毕业_设计论文.docx_第4页
第4页 / 共33页
员工管理系统毕业_设计论文.docx_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《员工管理系统毕业_设计论文.docx》由会员分享,可在线阅读,更多相关《员工管理系统毕业_设计论文.docx(33页珍藏版)》请在三一办公上搜索。

1、目 录三 正文.43.1课程设计的目的与要求.43.2系统分析4 3.2.1系统开发背景、开发范围、建设目标与必要性.4 3.2.2 业务流程分析.4 3.2.3数据字典.6 3.2.4处理逻辑的定义. 6 3.3 系统设计.8 3.3.1功能设计.8 3.3.2系统运行环境.9 3.4系统实施.103.4.1程序代码.103.4.2运行结果.29四 课程设计总结或结论35五 参考文献35三、正文3.1课程设计的目的与要求通过管理信息系统课程设计,进一步掌握管理信息系统的理论和方法。培养和锻炼开发管理信息系统的能力。为今后信息系统开发打下良好的基础。要求了解企业管理信息系统开发的全过程,理解信

2、息系统课程相关的概念,掌握管理信息系统的开发方法。主要包括:系统调研方法;业务分析、数据分析、系统逻辑模型设计方法;数据库设计、功能设计、物理模型设计方法;系统的实现等方法。完成一个小型系统的设计与开发。 3.2 系统分析3.2.1系统开发背景、开发范围、建设目标与必要性随着本世纪以来科学技术的突飞猛进和社会生产力的迅速发展,人们进行信息交流的深度与广度不断增加,信息量急剧增长,传统的信息处理与决策的手段已不能适应社会的需要,信息的重要性和信息处理问题的紧迫性空前提高了,面对着日益复杂和不断发展,变化的社会环境,特别是企业间日趋剧烈的竞争形势,一个人、一个企业要在现代社会中求生存,求发展,必须

3、具备足够的信息和强有力的信息收集与处理手段。电子计算机以强大的信息处理能力作为人类脑力劳动的有力助手登上历史舞台以后,出现了把人类从繁琐的脑力劳动下解放出来的现代信息革命。为了适应现代企业或公司经营发展的需要,为提高企业工作效率、保证企业职工信息管理质量、快而准确地为企业制定好的经营方针与决策,我们有必要开发一个职工信息管理系统。3.2.2业务流程分析现行管理系统的业务流程图事务事务事务事务信息管理员职工信息管理系统信息管理员信息管理员接收职工信息更新职工信息信息管理员图3-1 第一层数据流图职工信息库 图3-2 第二层数据流图 事务:删除,添加,修改,查询;工作时间职位职工基本信息 年龄职工

4、号姓名性别出生日期 职工信息E-R图3.2.3数据字典数据流字典 数据流名称 :职工-主管类数据结构:职工编号 id姓名 name性别 sex工资 salary出生时间 birth 参加工作时间 worktime职位 a 数据流名称:职工-工人类数据结构:职工编号 id姓名 name性别 sex工资 salary出生时间 birth 参加工作时间 worktime职位 b3.2.4处理逻辑的定义 处理名: 添加职工信息 输入:根据选择录入数据 输出:显示所添加的信息 处理定义: 当选择了要输入的数据类型时,按照提示输入所需要的信息,并录入到职工信息库里 激发条件:选择添加职工信息 处理名: 删

5、除职工信息 输入:键入要删除的职工号 输出:显示输入职工好所对应的信息 处理定义: 根据键入的职工号查到相关的信息,经确认后,从信息库中删除激发条件:选择删除职工信息 处理名:修改职工信息 输入:键入要修改的职工号,并选择要修改的项 输出:显示修改后的该职工信息 处理定义: 键入要修改的职工号,显示该职工的信息,根据提示选择要修改的项,修改成功后显示修改后的职工信息激发条件:选择修改职工信息 处理名:查找职工信息 输入:选择要查找的类型(职工号,姓名,年龄) 输出:显示所要查找的职工信息 处理定义:选择要查找的类型,从信息库中查找并显示激发条件:选择查找记录 处理名:列出信息 输入:选择输出类

6、型 输出:根据选择输出数据 处理定义: 根据选择的输出类型,输出职工信息激发条件:选择列出信息功能处理名:计算平均年龄 输入:无 输出:输出职工的平均年龄 处理定义: 调用函数,输出职工的平均年龄激发条件:选择计算平均年龄功能 处理名:创建职工信息简表 输入:无 输出:显示职工信息简表 处理定义: 创建并显示职工信息简表激发条件:选择创建职工信息简表功能 处理名:存入磁盘 输入:无 输出:把数据输出到磁盘文件中 处理定义: 输出职工信息文件激发条件:选择存入磁盘功能3.3 系统设计职工信息包括职工号,姓名,性别,年龄,工资,出生日期,工作时间,试设计一职工信息管理系统,使之能提供以下功能:(1

7、)建立职工信息数据,包括职工编号、姓名、性别、工资、出生时间、参加工作时间和年龄(必须计算得到)。(2)根据职工信息表,建立只含有姓名和年龄的职工信息简表。(3)抽取并计算职工的平均年龄。(4)检索(查找)指定信息。(如按姓名检索、按年龄检索)(5)修改职工信息(6)删除职工信息(7)保存数据文件3.3.1功能设计 功能框架图如下:职工信息管理系统流程图职工信息管理系统增加信息删除信息修改信息查询信息列出信息计算年龄创建简表存入磁盘退出系统1.id2.name3.sex4.birth5.salary6.worktime要删除工号选择修改项选择查询类1.id2.name3.age选择列出信息:1

8、.主管类2.工人类3.全部是否退出系统开始选择菜单Case 1输入选项Switch(select)Case 0Case 2Case 3Case 4Case 5Case 6Case 7Case 8结束添加信息break删除信息break修改信息break查找信息break列出信息break平均年龄break创建简表break存入磁盘breakDefault选择错误breakYNYYYYYYYYNNNNNNN3.3.2系统运行环境Visual C+是一个功能强大的可视化软件开发工具。Visual C+6.0不仅是一个C+编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integr

9、ated development environment,IDE)。Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。3.4 系统实施3.4.1程序代码#include#include#include#includeusing namespace std;int num1=0,num2=0,num=0;float avery=0.0;char save1;char exit();enum tsexman,woman,mid;void

10、 foundid(string id1);void foundname(string n);void foundage(int a);int foundhao(string id1);void save();void lisebiao();class employee string id; string name; tsex sex; int salary; int birth; int worktime; int age;public:employee();employee(string i,string na,tsex s,int sa,int bi,int wt);employee();

11、employee & operator= (employee &e)id=e.id;name=e.name;sex=e.sex;salary=e.salary;birth=e.birth;worktime=e.worktime;age=e.age;return *this;void add();void display();string getid()return id; string getname()return name;int getage()return age;tsex getsex()return sex;int getsalary()return salary;int getb

12、irth()return birth; int getworktime()return worktime;void setid(string id1) id=id1; void setname(string n1) name=n1;void setsex(int s) if(s=1) sex=man; else if(s=2) sex=woman; else sex=mid;void setsalary(int sa)salary=sa;void setbirth(int bi) birth=bi;void setworktime(int wt)worktime=wt;void clean()

13、employee(); employee:employee()sex=mid;salary=0;birth=0;worktime=0;age=0;employee:employee(string i,string na,tsex s,int sa,int bi,int wt) id=i;name=na;sex=s;salary=sa;birth=bi;worktime=wt;age=2009-bi/10000;void employee:add() int f,sex1;do coutid; f=foundhao(id); if(f=0) cout该职工号可以使用endl;break; els

14、e if(f=1|f=2) cout此职工号已存在endl; while(f=1|f=2); coutname;docoutsex1; switch(sex1) case 1: sex=man; break; case 2: sex=woman; break; default: cout选择错误,重新选择n;while(sex1!=1&sex1!=2); docoutsalary;if(salary1000)cout输入错误,基本工资应在1000以上!n;while(salary1000);coutbirth;coutworktime;cout添加职工信息如下:n; display();cou

15、tsave1;if(save1=y|save1=Y)num+;cout保存成功!n;elsecout您放弃了保存!添加失败n; void employee:display() int i;cout工号:tidn姓名:tnamen性别:t;if(sex=man)cout男n;else if(sex=woman) cout女n;else cout无endl;age=2009-birth/10000;cout年龄:tagen; cout出生年月:t;i=birth;couti/10000年;i=i%10000;couti/100月i%100日n;cout工资:tsalaryn;cout参加工作时间:

16、tworktimen;class manager: public employee public:int a;manager();manager(string i,string na,tsex s,int sa,int bi,int wt,int p1);manager();void addmanager();m100;manager:manager()a=1;manager:manager(string i,string na,tsex s,int sa,int bi,int wt,int p1):employee(i,na,s,sa,bi,wt) a=p1;void manager:add

17、manager()add();a=1;class work: public employee public:int b;work();work(string i,string na,tsex s,int sa,int bi,int wt);work();void addwork();w100;work:work()b=0;work:work(string i,string na,tsex s,int sa,int bi,int wt):employee(i,na,s,sa,bi,wt) b=0;void work:addwork()add();b=0;void addnew()int sele

18、ct;char f; docoutselect; switch(select) case 1: mnum1.addmanager(); num1+; break; case 2: wnum2.addwork(); num2+; break; default: cout选择错误!; f=exit();while(select!=1&select!=2|f=n);void jiludelete()manager t1;work t2;int i,j;string id1,id2;char b,f;do cout请输入要删除的职工号:id2; if(foundhao(id2)=0) cout对不起!

19、没有这个工人的记录;return; cout你要删除的信息是:endl;foundid(id2); coutb; if(b=n) return; if(foundhao(id2)=1)if(m0.getid()=id2&num1=1) m0.clean();else if(mnum-1.getid()=id2) mnum1-1.clean(); else for(i=0;inum1-1;i+) if(mi.getid()=id2&num1!=1) t1=mi; for(j=i;jnum1;j+) mj=mj+1; num1-; else if(foundhao(id2)=2)if(w0.get

20、id()=id2&num2=1) w0.clean();else if(wnum-1.getid()=id2) wnum2-1.clean();else for(i=0;inum2-1;i+) if(wi.getid()=id2&num2!=1) t2=wi; for(j=i;jnum2;j+) wj=wj+1;num2-; num-; cout删除成功!; f=exit();while(f=n); void change()string id2,str;int t,j,k;char f;do coutid2; if(foundhao(id2)=0) cout对不起!没有这个工人的记录endl

21、; else if(foundhao(id2)=1) cout要修改职工号的信息:t; foundid(id2); for(t=0;tnum1;t+) if(mt.getid()=id2) cout修改的选项:1 职工号 2姓名 3 性别 4 工资 5 出生日期 6 工作时间j; switch(j) case 1: coutstr;mt.setid(str);break; case 2: coutstr;mt.setname(str);break; case 3: coutk;mt.setsex(k);break; case 4: coutk;mt.setsalary(k);break; ca

22、se 5: coutk;mt.setbirth(k);break; case 6: coutk;mt.setworktime(k);break;default:couterrorendl; mt.display(); else if(foundhao(id2)=2) cout要修改职工号的信息:t; foundid(id2); for(t=0;tnum2;t+) if(wt.getid()=id2) cout修改的选项:1 职工号 2姓名 3 性别 4 工资 5 出生日期 6 工作时间j; switch(j) case 1: cout新的职工号:str;wt.setid(str);break;

23、 case 2: cout新的姓名str;wt.setname(str);break; case 3: cout新的性别(1.男t2.女)k;wt.setsex(k);break; case 4: cout新的工资k;wt.setsalary(k);break; case 5: cout新的出生日期k;wt.setbirth(k);break; case 6: cout新的工作时间k;wt.setworktime(k);break;default:couterrorendl; wt.display(); f=exit();while(f=n);void found() int a; strin

24、g i;char se,f;do coutse; switch(se) case 1: cout请输入要查找的职工号:i;cout你要查询的人的信息如下:endl;foundid(i);break; case 2: cout请输入要查找的姓名:i;cout你要查询的人的信息如下:endl;foundname(i);break; case 3: cout请输入要查找的年龄a;cout你要查询的人的信息如下:endl;foundage(a);break; default: cout没有此选项,请重新选择endl; f=exit();while(se!=1&se!=2&se!=3|f=n);int

25、foundhao(string id1) int i,j;for(i=0;inum1;i+)if(mi.getid()=id1) return 1; for(j=0;jnum2;j+) if(wj.getid()=id1) return 2; return 0;void foundid(string id1) int i,j;int flage=0;for(i=0;inum1;i+)if(mi.getid()=id1) mi.display(); flage=1; for(j=0;jnum2;j+) if(wj.getid()=id1) wj.display(); flage=1; if(fl

26、age=0) cout对不起!没有找到t;void foundname(string n)int i,j;int flage=0;for(i=0;inum1;i+)if(mi.getname()=n) mi.display(); flage=1; for(j=0;jnum2;j+) if(wj.getname()=n) wj.display(); flage=2; if(flage=0) cout对不起!没有找到;void foundage(int a)int i,j;int flage=0;for(i=0;inum1;i+)if(mi.getage()=a)mi.display(); fla

27、ge=1; for(j=0;jnum2;j+) if(wj.getage()=a) wj.display(); flage=2; if(flage=0) cout对不起!没有找到;string outsex(tsex s)if(s=0) return 男;else if(s=1) return 女; else return 无;string outposition(int s)if(s=0) return 主管;else return 工人;void listbiao()int i,j,z;cout请选择输出类别:1 主管类 2 工人类 3 全部信息z;coutidtnametsextsala

28、rytbirthdaytworktimetagetendl; switch(z) case 1: for(i=0;inum1;i+) coutmi.getid()tmi.getname()toutsex(mi.getsex()tmi.getsalary()tmi.getbirth()tmi.getworktime()tmi.getage()tendl; break; case 2: for(j=0;jnum2;j+) coutwj.getid()twj.getname()toutsex(wj.getsex()twj.getsalary()twj.getbirth()twj.getworktim

29、e()twj.getage()tendl; break; case 3: for(i=0;inum1;i+) coutmi.getid()tmi.getname()toutsex(mi.getsex()tmi.getsalary()tmi.getbirth()tmi.getworktime()tmi.getage()tendl; for(j=0;jnum2;j+) coutwj.getid()twj.getname()toutsex(wj.getsex()twj.getsalary()twj.getbirth()twj.getworktime()twj.getage()tendl; break

30、; case 4: cout没有该类型的记录!; void save()int i,j;ofstream ofile;ofile.open(d:zg.txt); ofileidtnametsextsalarytbirthdaytworktimetagetpower tendl; for(i=0;inum1;i+)ofilemi.getid()tmi.getname()toutsex(mi.getsex()tmi.getsalary()tmi.getbirth()tmi.getworktime()tmi.getage()toutposition(mi.a)endl; for(j=0;jnum2;

31、j+)ofilewj.getid()twj.getname()toutsex(wj.getsex()twj.getsalary()twj.getbirth()twj.getworktime()twj.getage()toutposition(wj.b)endl;ofile.close();coutsucces!endl;void getaver()int i,j;for(i=0;inum1;i+)avery+=mi.getage(); for(j=0;jnum2;j+)avery+=wj.getage();cout职工的平均年龄是:tavery/num;void creatjianbiao()int i,j;cout显示简表信息:endl;cout姓名t年龄tendl; for(i=0;inum1;i+) coutmi.getname()tmi.getage()tendl; for(j=0;jnum2;j+) cout

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号