收藏 分销(赏)

小型公司员工管理系统.doc

上传人:天**** 文档编号:3903506 上传时间:2024-07-23 格式:DOC 页数:46 大小:333.04KB
下载 相关 举报
小型公司员工管理系统.doc_第1页
第1页 / 共46页
小型公司员工管理系统.doc_第2页
第2页 / 共46页
小型公司员工管理系统.doc_第3页
第3页 / 共46页
小型公司员工管理系统.doc_第4页
第4页 / 共46页
小型公司员工管理系统.doc_第5页
第5页 / 共46页
点击查看更多>>
资源描述

1、计算机科学与技术系课 程 设 计( 2023 - 2023 年度第 一 学期)课程名称:面向对象程序与设计 题 目:建立职工管理信息系统 姓 名: 高超 学 号: 指导教师: 潘正高 设计周数: 2周 成 绩: 日期: 2023年 12 月 27 日小组成员分工说明: 系统分析:王涛 系统编程:高超 撰写报告:余超组长: 高超小组成员: 王涛 余超目 录一 封面1二 设计小组成员2三 正文.43.1课程设计的目的与规定.43.2系统分析4 3.2.1系统开发背景、开发范围、建设目的与必要性.4 3.2.2 业务流程分析.4 3.2.3数据字典.6 3.2.4解决逻辑的定义. 6 3.3 系统设

2、计.8 3.3.1功能设计.8 3.3.2系统运营环境.9 3.4系统实行.103.4.1程序代码.103.4.2运营结果.29四 课程设计总结或结论35五 参考文献35建立职工信息管理三、正文3.1课程设计的目的与规定通过管理信息系统课程设计,进一步掌握管理信息系统的理论和方法。培养和锻炼开发管理信息系统的能力。为此后信息系统开发打下良好的基础。规定了解公司管理信息系统开发的全过程,理解信息系统课程相关的概念,掌握管理信息系统的开发方法。重要涉及:系统调研方法;业务分析、数据分析、系统逻辑模型设计方法;数据库设计、功能设计、物理模型设计方法;系统的实现等方法。完毕一个小型系统的设计与开发。

3、3.2 系统分析3.2.1系统开发背景、开发范围、建设目的与必要性随着本世纪以来科学技术的突飞猛进和社会生产力的迅速发展,人们进行信息交流的深度与广度不断增长,信息量急剧增长,传统的信息解决与决策的手段已不能适应社会的需要,信息的重要性和信息解决问题的紧迫性空前提高了,面对着日益复杂和不断发展,变化的社会环境,特别是公司间日趋剧烈的竞争形势,一个人、一个公司要在现代社会中求生存,求发展,必须具有足够的信息和强有力的信息收集与解决手段。电子计算机以强大的信息解决能力作为人类脑力劳动的有力助手登上历史舞台以后,出现了把人类从繁琐的脑力劳动下解放出来的现代信息革命。为了适应现代公司或公司经营发展的需

4、要,为提高公司工作效率、保证公司职工信息管理质量、快而准确地为公司制定好的经营方针与决策,我们有必要开发一个职工信息管理系统。3.2.2业务流程分析现行管理系统的业务流程图事务事务事务事务信息管理员职工信息管理系统信息管理员信息管理员接受职工信息更新职工信息信息管理员图3-1 第一层数据流图职工信息库 图3-2 第二层数据流图 事务:删除,添加,修改,查询;工作时间职位职工基本信息 年龄职工号姓名性别出生日期 职工信息E-R图3.2.3数据字典数据流字典 数据流名称 :职工-主管类数据结构:职工编号 id姓名 name性别 sex工资 salary出生时间 birth 参与工作时间 workt

5、ime职位 a 数据流名称:职工-工人类数据结构:职工编号 id姓名 name性别 sex工资 salary出生时间 birth 参与工作时间 worktime职位 b3.2.4解决逻辑的定义 解决名: 添加职工信息 输入:根据选择录入数据 输出:显示所添加的信息 解决定义: 当选择了要输入的数据类型时,按照提醒输入所需要的信息,并录入到职工信息库里 激发条件:选择添加职工信息 解决名: 删除职工信息 输入:键入要删除的职工号 输出:显示输入职工好所相应的信息 解决定义: 根据键入的职工号查到相关的信息,经确认后,从信息库中删除激发条件:选择删除职工信息 解决名:修改职工信息 输入:键入要修改

6、的职工号,并选择要修改的项 输出:显示修改后的该职工信息 解决定义: 键入要修改的职工号,显示该职工的信息,根据提醒选择要修改的项,修改成功后显示修改后的职工信息激发条件:选择修改职工信息 解决名:查找职工信息 输入:选择要查找的类型(职工号,姓名,年龄) 输出:显示所要查找的职工信息 解决定义:选择要查找的类型,从信息库中查找并显示激发条件:选择查找记录 解决名:列出信息 输入:选择输出类型 输出:根据选择输出数据 解决定义: 根据选择的输出类型,输出职工信息激发条件:选择列出信息功能解决名:计算平均年龄 输入:无 输出:输出职工的平均年龄 解决定义: 调用函数,输出职工的平均年龄激发条件:

7、选择计算平均年龄功能 解决名:创建职工信息简表 输入:无 输出:显示职工信息简表 解决定义: 创建并显示职工信息简表激发条件:选择创建职工信息简表功能 解决名:存入磁盘 输入:无 输出:把数据输出到磁盘文献中 解决定义: 输出职工信息文献激发条件:选择存入磁盘功能3.3 系统设计职工信息涉及职工号,姓名,性别,年龄,工资,出生日期,工作时间,试设计一职工信息管理系统,使之能提供以下功能:(1)建立职工信息数据,涉及职工编号、姓名、性别、工资、出生时间、参与工作时间和年龄(必须计算得到)。(2)根据职工信息表,建立只具有姓名和年龄的职工信息简表。(3)抽取并计算职工的平均年龄。(4)检索(查找)

8、指定信息。(如按姓名检索、按年龄检索)(5)修改职工信息(6)删除职工信息(7)保存数据文献3.3.1功能设计 功能框架图如下:职工信息管理系统流程图职工信息管理系统增长信息删除信息修改信息查询信息列出信息计算年龄创建简表存入磁盘退出系统1.id2.name3.sex4.birth5.salary6.worktime要删除工号选择修改项选择查询类1.id2.name3.age选择列出信息:1.主管类2.工人类3.所有是否退出系统开始选择菜单Case 1输入选项Switch(select)Case 0Case 2Case 3Case 4Case 5Case 6Case 7Case 8结束添加信息

9、break删除信息break修改信息break查找信息break列出信息break平均年龄break创建简表break存入磁盘breakDefault选择错误breakYNYYYYYYYYNNNNNNN3.3.2系统运营环境Visual C+是一个功能强大的可视化软件开发工具。Visual C+6.0不仅是一个C+编译器,并且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+6.0由许多组件组成,涉及编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些

10、组件通过一个名为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 foundid(string id1);void foundname(string n);void foundage(int a);int foundhao(string id1);void save()

11、;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();employee & operator= (employee &e)id=e.id;name=e.name;sex=e.sex;salary=e.salary;birth=e.birth;worktime=

12、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 getbirth()return birth; int getworktime()return worktime;void setid(string id1) id=id1; void setname(string

13、 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()employee(); employee:employee()sex=mid;salary=0;birth=0;worktime=0;age=0;employee:employee(string i,str

14、ing na,tsex s,int sa,int bi,int wt) id=i;name=na;sex=s;salary=sa;birth=bi;worktime=wt;age=2023-bi/10000;void employee:add() int f,sex1;do coutid; f=foundhao(id); if(f=0) cout该职工号可以使用endl;break; else if(f=1|f=2) cout此职工号已存在endl; while(f=1|f=2); coutname;docoutsex1; switch(sex1) case 1: sex=man; break

15、; 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();coutsave1;if(save1=y|save1=Y)num+;cout保存成功!n;elsecout您放弃了保存!添加失败n; void employee:display() int i;cout工号:ti

16、dn姓名:tnamen性别:t;if(sex=man)cout男n;else if(sex=woman) cout女n;else cout无endl;age=2023-birth/10000;cout年龄:tagen; cout出生年月:t;i=birth;couti/10000年;i=i%10000;couti/100月i%100日n;cout工资:tsalaryn;cout参与工作时间:tworktimen;class manager: public employee public:int a;manager();manager(string i,string na,tsex s,int

17、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:addmanager()add();a=1;class work: public employee public:int b;work();work(string i,string na,tsex s,int s

18、a,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 select;char f; docoutselect; switch(select) case 1: mnum1.addmanager(); num1+; break; case 2: wnum2.addwork

19、(); 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对不起!没有这个工人的记录;return; cout你要删除的信息是:endl;foundid(id2); coutb; if(b=n) return; if(foundhao(id2)=1)if(m0.getid

20、()=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.getid()=id2&num2=1) w0.clean();else if(wnum-1.getid()=id2) wnum2-1.clean();else for(i=0;inum2-1;i+) if(wi.

21、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; else if(foundhao(id2)=1) cout要修改职工号的信息:t; foundid(id2); for(t=0;tnum1;t+) if(mt.getid()=id2) cout修改的选

22、项: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; case 5: coutk;mt.setbirth(k);break; case 6: coutk;mt.setworktime(k);break;default:couterrorendl; mt.displ

23、ay(); 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; case 2: cout新的姓名str;wt.setname(str);break; case 3: cout新的性别(1.男t2.女)k;wt.setsex(k);break; case 4: cout

24、新的工资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; string i;char se,f;do coutse; switch(se) case 1: cout请输入要查找的职工号:i;cout你要查询的人的信息如下:endl;foundid(i);break; cas

25、e 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 foundhao(string id1) int i,j;for(i=0;inum1;i+)if(mi.getid()=id1) return 1; for(j=0;jnum2;j+) if(wj.geti

26、d()=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(flage=0) cout对不起!没有找到t;void foundname(string n)int i,j;int flage=0;for(i=0;inum1;i+)if(mi.getname()=n) mi

27、.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(); flage=1; for(j=0;jnum2;j+) if(wj.getage()=a) wj.display(); flage=2; if(flage=0) cout对不起!没有找到;string outsex

28、(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;coutidtnametsextsalarytbirthdaytworktimetagetendl; switch(z) case 1: for(i=0;inum1;i+) coutmi.getid()tmi.getname()toutsex(m

29、i.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.getworktime()twj.getage()tendl; break; case 3: for(i=0;inum1;i+) coutmi.getid()tmi.getname()toutsex(mi.getsex()tm

30、i.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; case 4: cout没有该类型的记录!; void save()int i,j;ofstream ofile;ofile.open(d:zg.txt); ofileidtnametsextsalar

31、ytbirthdaytworktimetagetpower 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;j+)ofilewj.getid()twj.getname()toutsex(wj.getsex()twj.getsalary()twj.getbirth()twj.getworktime()twj.getage()toutposition(wj.b)endl;

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服