C++职工信息管理系统课程设计._第1页
C++职工信息管理系统课程设计._第2页
C++职工信息管理系统课程设计._第3页
C++职工信息管理系统课程设计._第4页
C++职工信息管理系统课程设计._第5页
免费预览已结束,剩余24页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、*实践教学*江西理工大学软件学院2021年春季学期C+语言程序设计课程设计第四组题目:职工信息治理系统专业班级:姓名:学号:112121指导教师:吉宝玉成绩:2021年6月25日目录摘要0前言0正文01 .系统功能分析02 .系统总体设计03 .详细设计04 .系统测试05 .软件使用说明书0设计总结0参考文献0致谢0附录:原程序代码0摘要随着经济的高速开展,一个好的职工信息治理程序在企业及用人单位扮演着重要的角色,为了设计一个功能强大的职工信息治理系统,在设计中我们做出了明细分工,目的是要让本组成员都从这次课程设计中学到编程经验与团队精神.“职工信息治理系统,系统以菜单方式工作,编写存放有职

2、工根本信息,包含职工工号,姓名,性别,出生年月,学历,职务,工资,住址,电话等,并且要求录入职工号不重复;录入的职工号信息要求用文件形式保存,并可以对其进行浏览、查询、修改、删除等根本操作,建立职工信息治理的文件.关键词:职工信息治理;文件;浏览;查询;修改.、儿、4刖百随着信息技术在治理上越来越深入而广泛的应用,治理信息系统的实施在技术上已逐步成熟.治理信息系统是一个不断开展的新型学科,任何一个单位要生存要开展要高效率的把内部活动有机的组织起来,就必须建立自身特点相适应的治理信息系统.本组设计的是一个关于职工信息治理的数据库系统,通过这个系统,治理员可以简捷方便的对职工信息进行增加、删除、修

3、改等功能,而用户也可以通过这个系统对职工信息进行查询等功能.在日益开展的现代社会,一个高效实用的职工信息治理系统已经是企业必不可少的一个治理工具,它可以使企业在治理方面减少很多时间,本课程设计针对现代社会企业对员工信息的治理而设计,使员工的治理更加的简捷,更加的方便,界面友好,易于操作.采用的的开发环境是visualstdio2021在设计中,我们放弃的传统的面对过程的结构化设计思想,由于面向过程的结构体的或链表的方法存储每个员工的静态属性:编号、姓名、性别、年龄、工资等数据有很多的不方便也有很多的不平安,所以我们采用C+的对象的编程思想来把每个员工的数据封装成一个人员的对象.使得操作的方式更

4、加的合理,平安.也使本组课程设计的成员更加的了解面向对象程序设计的解决问题的思维方式.正文.系统功能分析该职工治理系统针对员工信息数据的处理设计了以下功能:1 .添加职工信息添加员工信息,提供员工信息的添加,在该模块中设计了平安检查机制,即确认是否添加员工的信息,假设对员工信息的添加不满意,那么可以选择重新输入.还设置有返回主菜单的选项以方便用户.2 .修改职工信息修改员工信息设置了员工人数检查,果员工人数NUM的值为0,那么返回主菜单.如果员工人数NUM不为0,那么进入删除员工信息的界面.修改员工信息板块功能强大,界面友好,用循环限制修改某员工属性,这样使得操作极为方便.3 .删除职工信息删

5、除员工信息中设计了对员工人数的检查,如果员工人数NUM的值为0,那么返回到主菜单.如果员工人数NUM不为0,那么进入删除员工信息的界面.界面包括员工信息列表,和删除选项,方便用户的操作.4 .员工职工查找通过巾nd函数进行查找.该函数比拟简单,通过循环一次比拟Pern.num是否与你输入的num是否相等,如果相等,那么输入到屏幕上,如果未找到任何匹配的员工,那么显示“未找该员工.5 .保存职工信息保存员工的信息,即为将当前所有的员工的信息存入到workerlist.txt中.这里我们采用的是C+的ofstream的写入文件的对象进行限制.6 .职工信息的排序对员工信息进行排序,包括按员工编号排

6、序从小到大,按员工工资进行排序从高到低.其中也设置了员工人数检查机制,即:如果员工的人数为0,那么直接返回主菜单.7 .职工信息的显示对职工信息进行显示,包括职工的工号,姓名,年龄,学历,工资地址,等信息.方便对员工了解.系统总体设计1,编写要求:1) 先声明职工人员结构,该结构中包含编号、姓名、出生年月、性别,职称,部门,根本工资等成员变量,并定义人员结构数组;2编写主函数,要求提供一界面,允许工作人员输入、修改和删除员工信息;3将员工信息分别按编号由小到大、根本工资由大到小的顺序进行显示,要求采用不同的排序算法;4给出某员工编号,可对该员工信息进行查找,假设找到,显示相应信息,否那么显示“

7、该员工不存在,要求用顺序查找和二分查找法进行查找;5将所有职工信息保存在磁盘上.界面:*员工治理系统* * 1,职工信息输入* 2,职工信息修改* 3,职工信息删除* 4,职工信息查找* 5,职工信息保存* 6,职工工资排行* 7,职工信息显示* 0,退出*2,编写目的:完成题目所要求的全部功能,并参加本组自己的设计风格,在界面友好的根底上,增加一些附加功能,使得功能更为强大,最终得到一个可靠性高,易于操作的职工信息治理的系统.3,功能划分该系统可以按功能进行模块划分,如图While(主菜单系统模块图其中:(1)主菜单模块完成用户命令的接受,此模块也是职工信息治理的入口,用户所要进行的各种操作

8、均需在此模块中进行选择,并进而调用其他模块实现相应的功能.(2)信息添加模块完成职工信息的输入功能,输入信息包括职工号、姓名、性别,出生年月、学历、职务、工资、住址、等.(3)信息显示模块完成已录入职工信息的显示.(4)信息查询模块完成职工信息的查询,查询时对应有按编号查询和按姓名查询两种方式.(5)信息修改模块完成职工信息的修改功能.(6)信息删除功能模块完成职工信息的删除功能.(7)信息排序模块完成对职工信息的排序,排序内容包括工号,工资等.(8)信息保存模块完成对职工信息的保存.4 .数据结构本系统中主要的数据结构就是职工的信息,包含职工号、姓名、性别、出生年月、学历、职务、工资、住址、

9、等,在处理过程中各项可以作为一个职工的不同属性来进行处理.5 .程序流程系统的执行应从功能菜单项选择择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理.系统的流程图如下图:结束UML图Class_cout:string_num:string_workerlist:string+add:void+dele:void+modify:void+save:void+search:void+showworker:void+sort:void+workerlist:void三.详细设计(编码实现)小组模块分工(本人负责:职工信息修改模块与保存模块)voi

10、dWorkerList:modify()职工信息修改函数实现(if(NUM=0)(cout没有职工信息存入,系统将返回主菜单endl;menu();elsecout职工信息如下:endl;cout工号t姓名t性别t学历t年龄t工资t地址tendl;for(inti=0;icount;i+)twi.agetwi.salarytwi.addresstwi.telendl;cout请输入需要修改信息职工的工号:num1;intj=0,k;intflag=1;while(flag)for(;jcount;j+)if(num1=wj.num

11、)flag=0;k=j;break;if(flag)cout不存在此员工,请重新输入:num1;cout你选择的职工的信息为:endl;cout工号t姓名t性别t学历t年龄t工资t地址tendl;twk.agetwk.salarytwk.addresstwk.telendl;endl;endl;coutendl;cout*1.修改工号*endl;cout*2.修改姓名*endl;cout*3.修改性别*endl;cout*4.修改学历*endl;cout*5.修改年龄*endl;cout*6.修改工资*endl;cout*7.修改

12、地址*endl;cout*8.修改*endl;cout*0.返回主菜单*endl;cout,*,cout,*,coutendl;cout请选择数字编号8i3;while(i38)(cout输入有误,请重新输入:i3;)switch(i3)(casel:coutwk.num;endl;endl;cout修改信息已保存,现返回主菜单:menu();break;case2:;cout修改信息已保存,现返回主菜单:menu();break;case3:coutwk.sex;cout修改信息已保存,现返回主菜单:menu();break;case4:;cout修

13、改信息已保存,现返回主菜单:menu();break;case5:coutwk.age;cout修改信息已保存,现返回主菜单:menu();break;case6:endl;endl;endl;coutwk.salary;endl;cout修改信息已保存,现返回主菜单:menu();break;case7:coutwk.address;cout修改信息已保存,现返回主菜单:endl;menu();break;case8:coutwk.tel;cout修改信息已保存,现返回主菜单:endl;menu();break;case0:menu();default:break;职工信息保存模块voidW

14、orkerList:save()if(NUM=0)cout没有职工信息存入,系统将返回主菜单endl;menu();elseofstreamfout;fout.open(D:worker.txt,ios:out);cout文件正在保存请稍候!endl;cout数据保存成功!endl;fout已保存员工信息如下:endl;fout工号t姓名t性别t学历t年龄t工资t地址tendl;for(inti=0;icount;i+)twi.agetwi.salarytwi.addresstwi.telendl;cout系统返回主菜单:endl

15、;menu();fout.close();四.系统测试通过对员工的信息的添加,修改,删除,保存,排序,查找等功能进行检测.未发现任何异常现象.在这里:我们将测试的结果图片贴在了下面irsAdEiriistir3t5De5lrtap湃程设计课程没小心即口小孙课程设计屈耳已SS请选择数字编号0请稍候!II职工信息治理系统主菜单加改一章4nHIIIa自.5自dHnlu自3自5言叁县一一裳县=空一一空=口117-IJ;工工工工工工工出职职职翳职患是否返回主菜单?V/N丰二题HKM/器信F霸请输入需要修改信息职工的工号:s?缝鼾麓年龄20工资疆街1234567年龄工资士岫2020酬新华街123456?M

16、到MMMM舞单工姓聚年工地电主改那么改改改改改改回w-WWHfrM5.软件使用说明书(1)根据正确的提示安装软件.(2)PC台式机和便携式电脑都可运行.(3)翻开该程序系统,浏览菜单,根据需要选择功能,进行各项操作.操作如下:点击开始菜单,进入菜单项选择择.输入:将所需的信息输入.输出:职工根本信息.输入:根据不同的需要选择,当信息输入显示出错误时,进入浏览信息,找出错误.当错误不能改正,那么退出浏览信息.进入查询信息:那么屏幕会出现已一个对话框一一按工号查找,把相应的所需信息的状态(是否借出).当查询不能显示需要时进入修改程序,把所输入的信息进行修改,使之正确能够正常运行或进入删除信息中,重

17、新输入自己所要的信息.当信息输入正确,进入你所需要的菜单程序中:职工信息:显示职工号、姓名、性别、出生年月、学历、职务、工资、住址、等.治理员信息:显示出职工信息治理的负责人及他们的工号.设计总结在本系统的开发过程中,由于组是初次开发软件,在知识、经验方面都存在着缺乏.另外,在整个开发的过程中,时间也比拟仓促.因此,该系统必然会存在一些缺陷和缺乏.由于对职工信息治理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求.尽管本治理系统存在着很多缺乏,但其功能全面、易于日后程序更新、数据库治理容易、界面友好、操作方便、效率高、平安性好等优点是本治理系统所必需的.通过开发这个系统,我组掌握了的

18、工程根本开发过程,用到的知识稳固了我组对C语言的学习,但在这次设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神.参考文献1王连相C+程序设计教程,中国铁道出版社,20072谭浩强C语言程序设计教程,安徽出版社,19993谭浩强C程序设计题解与上机指导,清华大学出版社,19994 C语言的实际应用,安徽科学技术出版社,20005 C语言函数手册,机械工业出版社,19996 C语言实用程序荟萃,西安电子科技大学出版社,1993鸣谢在编写程序的过程中,我们得到了老师的精心指导以及孜孜不倦的教诲,在老师的指导下,我们的水平得到了提升,同时养成

19、了科学、严谨的作风和习惯,在此,我们对老师的精心栽培表示衷心的感谢!感谢我们小组同学对我的帮助和指点,尤其感谢我的舍友在非常时期,在生活和学习上帮我许多忙.在课设即将完成之际,我的心情无法平静,从开始进入课题到课设的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意.附录:本组成员.组长:龚贵彬.组员:樊后涛,任宁宁,方磊,余望明,宋帅.1 .了解工作要求,明确分工内容,网上查阅相关资料.所有组员共同参与.2 .主函数,显示菜单函数的编写.由余望明完成.3 .编写信息添加模块,由任宁宁完成.4 .职工信息修改,保存模块的编写,由龚贵彬完成.5职工信息查询模块,由樊

20、后涛完成.6 .职工信息删除模块,由宋帅完成.7 .职工信息排序模块,由方磊完成8 .需求分析设计由任宁宁和樊后涛完成9 .文本编写由龚贵彬完成.最后总结调试.由所有组员共同完成源程序代码:#include#includestring#include#include#include#defineN100/N作为最大职工总数intf=0;/f作为开关usingnamespacestd;stringp;/p作为接收菜单项选择项的字符串voidmenu()显示菜单classworkerpublic:worker.voidshow();/职工信息显示worker.friendclassWorkerLi

21、st;private:stringnum,name,sex,edu,address,tel;intage,salary;classWorkerListprivate:workerwN;intNUM;/用来计算职工数目intcount;/用来暂时记录当前操作第几个职工public:voidadd()职工信息录入voidsort();职工信息排序voidsearch()/职工信息查找voiddele();/职工信息删除voidmodify./职工信息修改voidsave()/职工信息以文件形式保存voidshowworker();/显示职工信息在屏幕上WorkerList()NUM=0;count

22、=0;);voidmenu()coutendl;coutvv*cout*cout*职工信息治理系统主菜单cout*cout*1.职工信息添加cout*2.职工信息修改cout*3.职工信息删除cout*4.职工信息排序cout*5.职工信息查找cout*6.职工信息显示cout*7.职工信息保存cout*0.退出cout*coutvv*coutendl;voiddomain./主菜单函数实现endl;*“endl;endl;endl;* *endl;*endl;* *endl;* *endl;endl;* *nendl;* *“endl;endl;*endl;endl;)WorkerListw

23、l;while(1)(system(cls);menu();coutvv请选择数字编号-7endl;inti1;cini1;while(!(i1=0&i1=7)(coutvv输入有误,请重新输入:endl;cini1;)switch(i1)easel:wl.add();break;case2:wl.modify();break;case3:wl.dele();break;case4:wl.sort();break;case5:wl.search();break;case7:wl.save();break;case6:wl.showworker();break;case0:cout系统退出!en

24、dl;exit(0);default:break;cout是否返回主菜单?Y/Np;if(p=n|p=N)cout系统退出!endl;exit(0);/getchar();voidWorkerList:add()/职工信息添加函数实现cout请输入职工信息:endl;cout工号t姓名t性别t学历t年龄t工资t地址tnum;for(inti=0;iNUM;i+)while(num=wi.num)cout此职工编号已存在,请重新输入:num;wNUM.num=num;cinwNUM.namewNUM.sexwNUM.eduwNUM.agewNUM.salarywNUM.addresswNUM.t

25、el;+NUM;count=NUM;)voidworker:show()/显示职工信息函数实现cout工号t姓名t性别t学历t年龄t工资t地址tendl;coutnumtnametsextedutagetsalarytaddressttelendl;coutendl;)voidWorkerList二modify()/职工信息修改函数实现if(NUM=0)cout没有职工信息存入,系统将返回主菜单endl;menu();)elsecout职工信息如下:endl;cout工号t姓名t性别t学历t年龄t工资t地址tendl;for(inti=0;icount;i+)coutwi.numtwi.nam

26、twi.agetwi.salarytwi.addresstwi.telendl;)cout请输入需要修改信息职工的工号:num1;intj=0,k;intflag=1;while(flag)for(;jcount;j+)if(num1=wj.num)flag=0;k=j;break)if(flag)cout不存在此员工,请重新输入:num1;)cout你选择的职工的信息为:endl;cout工号t姓名t性别t学历t年龄t工资t地址tendl;twk.age!twk.salarytwk.addresst

27、wk.telendl;cout*1.修改工号*endlcout*2.修改姓名*endlcout*3.修改性别*endlcout*4.修改学历*endlcout*5.修改年龄*endlcout*6.修改工资*endlcout*7.修改地址*endlcout*8.修改*endlcout*0.返回主菜单*endlendl;endl;cout*coutendl;cout*coutendl;cout请选择数字编号8i3;while(i38)(cout输入有误,请重新输入:i3;)switch(i3)(case1:endl;endl;coutwk.num;cout修改信息已保存,现返回主菜单:menu()

28、;break;case2:;cout修改信息已保存,现返回主菜单:menu();break;case3:coutwk.sex;cout修改信息已保存,现返回主菜单:menu();break;case4:;cout修改信息已保存,现返回主菜单:menu();break;case5:coutwk.age;cout修改信息已保存,现返回主菜单:menu();break;case6:coutwk.salary;cout修改信息已保存,现返回主菜单:menu();break;case7:coutwk.address;cout修改信息已保存,现返回主菜单:menu

29、();break;case8:coutwk.tel;cout修改信息已保存,现返回主菜单:menu();break;case0:menu();default:break;endl;endl;endl;endl;endl;endl;voidWorkerList:showworker()职工信息显示函数实现if(NUM=0)(coutvv没有职工信息存入,系统将返回主菜单endl;menu();)elsecoutvv已保存的职工信息如下:endl;coutvv工号t姓名t性别t学历t年龄t工资t地址tendl;for(inti=0;icount;i+)coutwi.num,t,,t,

30、twi.agetwi.salary,twi.address,t,wi.telendl;/*cout是否返回主菜单?Y/Nendl;cinp;while(1)if(p=yllp=Y)menu();)elseif(p=n|p=N)coutvv系统退出!endl;exit(O);)elseCOUtVV输入有误,请重新输入:cinp;)*/)voidWorkerList:search()if(NUM=0)coutvv没有职工信息存入,系统将返回主菜单endl;menu();)elsecoutvv请选择查找方式:endl;coutcout*1.按工号查找endl;*endl;*

31、endl;*endl;*endl;*endl;endl;cout*2.按姓名查找cout*3.按工资查找cout*4.按学历查找cout*cout*0.返回主菜单coutendl;cout请选择数字编号4i4;while(i44)(cout输入有误,请重新输入:i4;if(i4=1)(stringnum2;cout请输入要查询的职工的工号:num2;intj=0,k;intflag=1;while(flag)(for(;jcount;j+)(if(num2=wj.num)(flag=0;k=j;cout查询的职工信息如下:endl;cout工号t姓名t性别t学历t年龄t工资t地址t电话“end

32、l;twk.agetwk.salarytwk.addresstwk.telendl;break;if(flag)(flag=0;cout不存在此职工!!n返回主菜单endl;break;)elseif(i4=2)(stringname2;cout请输入要查询的职工的姓名:name2;intj2=0,k2;intflag2=1;while(flag2)(for(;j2count;j2+)(if(name2=)(flag2=0;k2=j2;cout查询的职工信息如下:endl;cout工号t姓名t性别t学历t年龄t工资

33、t地址t电话“endl;twk2.agetwk2.salarytwk2.addresstwk2.telendl;break;)if(flag2)(flag2=0;cout不存在此职工!!n返回主菜单endl;break;)elseif(i4=3)(intsalary2;cout请输入要查询的职工的工资:salary2;intj3=0,k3;intflag3=1;while(flag3)(for(;j3count;j3+)(if(salary2=wj3.salary)(flag3=0;k3=j3;cout查询的职工信息如下:endl;cout工号t姓名t性别t学历t年龄t工资t地址t电话endl;twk3.agetwk3.salarytwk3.addresstwk3.telendl;break;if(flag3)(flag3=0;cout不存在此职工!!n返回主菜单endl;break;elseif(i4=4)(stringedu2;cout请输入要查询的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论