人员信息管理系统_第1页
人员信息管理系统_第2页
人员信息管理系统_第3页
人员信息管理系统_第4页
人员信息管理系统_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、C+课程设计题目:人员员信息管管理系统统学生姓名:学号:专业班级:同组人员:指导老师:设计时间:指导老师意意见: 评定成绩: 签签名: 日期:C+课程程设计实实验报告告人员信信息管理理系统一:系统要要求分析析1:功能需需求(1)人员员信息基基本管理理,包括括人员信信息的录录入、修修改和删删除;(2)能够够自动设设置员工工的编号号,即每每增加一一位新员员工,编编号增一一;(3)能够够分别对对不同级级别的员员工(如如经理、技技术人员员、推销销人员等等)按照照不同的的公式计计算其工工资收入入;(4)能够够将人员员信息保保存到磁磁盘上,以以便程序序下次运运行时使使用;(5)具有有一定的的排错功功能,如

2、如当用户户输入错错误数据据时提示示用户;(6)能够够实现一一定程度度的查询询和统计计功能。(7)其他他你能想想到并对对系统有有用的功功能。在实现程序序功能的的基础上上,尽量量运用所所学知识识,改进进程序实实现方法法,提高高程序的的可读性性、模块块性、可可扩展性性、可重重用性和和健壮性性。工资计算公公式:经理 :固固定为880000技术人员:工作时时间*每每小时酬酬金(1100RRMB)销售经理:1%提提成+固固定工资资(50000RRMB)推销员 :4%提成二:系统总总体设计计1:系统功功能框架架设计登陆界面登陆界面输入登陆密码输入登陆密码liu进入功能选择菜单进入功能选择菜单7:退出5:删除

3、4:修改3:查找7:退出5:删除4:修改3:查找2:显示1:录入 进行操作处理操作结果自动存入txt文件中,操作结果自动存入txt文件中,再循环进入主菜单三:系统详详细设计计1:设设计思路路使用面向对对象的程程序设计计思想进进行分析析,整个个系统涉涉及两大大类信息息和操作作,公司司,人员员。所以以系统主主要涉及及两个大大类:公公司类bbusiinesss、人人员类ppersson。系系统的总总体框架架就是公公司类,人人员类的的定义;主函数数中定义义一个公公司对象象,循环环显示主主菜单并并根据用用户选择择调用公公司类的的相应方方法(成成员函数数)。(1)公司司类buusinnesss:考虑虑系统

4、操操作的人人员信息息的数量量具有不不确定性性,所以以考虑使使用链表表保存、处处理人员员信息。公公司类包包含:所所有人员员信息的的一个不不带头结结点的链链表(作作为数据据成员)及及可以对对人员信信息进行行增,删删,改,查查询经营营信息,基基础数据据设置,数数据存盘盘,数据据装入等等操作的的相关模模块(wwritte,bbuilld,ssearrch,reppairr,deelette,llistt)作为为成员函函数。(2)人员员类peersoon:所所有人员员都具有有的公共共信息及及操作可可以使用用人员类类进行描描述。由由于系统统具有44类人员员且4类类人员数数据,操操作有所所不同,如如销售员员

5、包含销销售额,而而兼职技技术人员员包含工工作小时时数且计计算工资资的方法法不同,所所以应当当为4类类人员创创建相应应的peersoon类的的派生类类。(3)为了了使公司司类可以以方便处处理人员员信息,可可以考虑虑将公司司类确定定为人员员类的友友元类或或者人员员类提供供公共的的方法以以便公司司类进行行操作。为为了公司司类可以以用共同同方法操操作人员员类,可可以将人人员类的的方法确确定为虚虚函数。2:功能模模块设计计void wriite()新增将向要新增增的人员员通过文文件指令令ofstrreamm myyfille(f1.txtt,iios : binnaryy|ioos : aate); m

6、myfiile.wriite(chhar*)&pp,siizeoof pp);myfille.cclosse(); 将信息自动动存入ttxt文文档中。void seaarchh()查找找通过读取源源文件内内容,再利用判断断语句if(nuumbeer=p.nnumbber)判断是否输输入的序序号与存存档内容容序号相相同,相相同则输输出。void delletee()删除先查找出要要删除的的人员信信息,再通过offstrreamm fiile22(ff1.ttxt,ioos : bbinaary|ioss : ouut);创建空空白文件件覆盖要删删除的人人员信息息。void shoow()显示示用

7、whille判断断语句打打印出所所有人员员信息。void reppairr()修改利用ofsstreeam h1(f22.txxt,ioss : biinarry|iios : outt);覆覆盖要修修改的人人员信息息。错误判断四:系统源源代码#inclludee#inclludee#inclludee#inclludeeclasss peersoon ppubllic : ccharr naame20,poost20,hoour20; iint agee,nuumbeer ; ;classs buusinnesss :ppubllic perrsonn ppubllic : iint tim

8、me ; ; /经理(一一次派生生类)classs mggr : puubliic ppersson ppubllic: iint monnthppay; mmgr : mgrr() monnthppay=80000 ; vvoidd ouut() ccouttnuumbeer ; ccouttnaame ; ccouttagge ; ccoutt该职工工的月薪薪为:mmontthpaayenddl; vvoidd inn() couut编号号:nuumbeer 姓名:namme 年龄:agee 职职称:经理 月薪:monnthppayenndl; ;/技术人人员classs teechnni

9、ciian :puubliic ppersson ppubllic: iint houurlyyRatte ; /每小小时酬金金 iint worrkHoourss ; /当月月工作时时数 iint payy; ttechhnicciann : teechnniciian() houurlyyRatte=1100 ; ; vvirttuall vooid in() couut编号号:nuumbeer 姓名:namme 年龄:agee 职职称:技术人人员 月薪薪:paayenddl ; vvoidd ouut() couutnnumbber ; couutnnamee ; couutwworkk

10、Houurs ; couutaage ; payy=hoourllyRaate*worrkHoourss ; couut该职职工的月月薪为:payyeendll ; ; /销售经经理classs seell :puubliic bbusiinesss ppubllic : iint phppay,monnthppay ; sselll : seell() phppay=1,mmontthpaay=550000 ; vvoidd inn() couut编号号:nuumbeer 姓名:namme 销售额额:tiime 年龄龄:agge 职称:销售售经理 月月薪:ppay()enddl ; iint

11、 payy() retturnn(phhpayy*tiime+monnthppay); vvoidd ouut() couutnnumbber ; couutnnamee ; couutttimee ; couutaage ; couut职工工的月薪薪为:ppay()enddl ; ;/推销员员 classs baagmaan :pubblicc buusinnesss ppubllic : iint phppay ; bbagmman : baggmann() phppay=4 ; vvoidd inn() couut编号号:nuumbeer 姓名:namme 销售额额:tiime 年龄龄:

12、agge 职称:推销销员 年薪:payy()enndl ; iint payy() retturnn(phhpayy*tiime); vvoidd ouut() ccouttnuumbeer ; ccouttnaame ; ccoutttiime ; ccouttagge ; ccoutt该职工工的月薪薪为:ppay()enddl ; ;/*输入入函数void wriite11() mgrr p ; pp.ouut();ofstrreamm myyfille(f1.txtt,iios : binnaryy|ioos : aate); /与iios:appp|iios:ouut)均均可 mmyf

13、iile.wriite(chhar*)&pp,siizeoof pp); mmyfiile.cloose(); void wriite22() ttechhnicciann p ; pp.ouut(); oofsttreaam mmyfiile(f22.txxt,ioss : biinarry|iios : atee); /与iios:appp|iios:ouut)均均可 mmyfiile.wriite(chhar*)&pp,siizeoof pp); mmyfiile.cloose();void wriite33() sselll p ; pp.ouut(); oofsttreaam mmy

14、fiile(f66.txxt,ioss : biinarry|iios : atee); /与iios:appp|iios:ouut)均均可 mmyfiile.wriite(chhar*)&pp,siizeoof pp); mmyfiile.cloose();void wriite44() bbagmman p ; oofsttreaam mmyfiile(f77.txxt,ioss : biinarry|iios : atee); /与iios:appp|iios:ouut)均均可 pp.ouut(); mmyfiile.wriite(chhar*)&pp,siizeoof pp); mmy

15、fiile.cloose();void buiild() ccoutteendll ; ccoutt *请选选择职工工的信息息* enndl ; ccoutt * 1.经经理 * enndl ; ccoutt * 2.技技术人员员 * eendll ; ccoutt * 3.销销售经理理 * eendll ; ccoutt * 4.推推销员 * enddl ; ccoutt * chh ; wwhille(cch!=N&cch!=n) swiitchh(chh) caase 1 : wrritee1(); brreakk ; caase 2 : wrritee2(); brreakk ; ca

16、ase 3 : wrritee3(); brreakk ; caase 4 : wrritee4(); brreakk ; deefauult : cooutEERROOR!enddl ;brreakk ; couutcch ; if(ch=YY|ch=yy) coout请请输入114:ch ; /*显示示函数void shoow1() iifsttreaam mmyfiile(f11.txxt,ioss : biinarry|iios : outt|ioos : iin); mmgr p ; mmyfiile.reaad(chaar*)&p,sizzeoff p); wwhille(!myf

17、filee.eoof() p.in(); myyfille.rreadd(ccharr*)&p,ssizeeof p); myffilee.cllosee();void shoow2() ifsstreeam myffilee(ff2.ttxt,ioos : bbinaary|ioss : ouut|iios : in); tecchniiciaan pp; myffilee.reead(chhar*)&pp,siizeoof pp); wwhille(!myffilee.eoof() pp.inn(); myyfille.rreadd(ccharr*)&p,ssizeeof p); mmyf

18、iile.cloose();void shoow3() ifsstreeam myffilee(ff6.ttxt,ioos : bbinaary|ioss : ouut|iios : in); selll pp ; myffilee.reead(chhar*)&pp,siizeoof pp); wwhille(!myffilee.eoof() pp.inn(); myyfille.rreadd(ccharr*)&p,ssizeeof p); mmyfiile.cloose();void shoow4() ifsstreeam myffilee(ff7.ttxt,ioos : bbinaary|

19、ioss : ouut|iios : in); baggmann p ; myffilee.reead(chhar*)&pp,siizeoof pp); wwhille(!myffilee.eoof() pp.inn(); myyfille.rreadd(ccharr*)&p,ssizeeof p); mmyfiile.cloose();void shoow0() sshoww1(); sshoww2();show33();show44(); voidd shhow() coout *你正正在显示示*eendll ;coout * 00.全显显 *eendll ; coout * 11.经理理

20、 *eendll ; coout * 22.技术术人员 *enddl ; coout * 33.销售售经理 *enddl ; coout * 44.推销销员 *enndl ; coout *c ; whiile(c!=N&cc!=n) sswittch(c) caase 1 : sshoww1(); bbreaak ; caase 2 : sshoww2(); bbreaak ; caase 3 : sshoww3(); bbreaak ; caase 4 : sshoww4(); bbreaak ; casse 0 : sshoww0(); bbreaak ; deefauult : cco

21、uttERRROR!enndl ; bbreaak ; couut是否否继续显显示(YY/N)?cc ; iff(c=YY|c=y) ccoutt请选择择你要显显示的职职工类:c ; /*查找找函数 vvoidd seearcch1() intt m=1; ccoutt请输入入你要查查找的编编号:nuumbeer ; iffstrreamm myyfille(f1.txtt,iios : binnaryy|ioos : oout|ioss : inn); mggr pp ; myyfille.rreadd(ccharr*)&p,ssizeeof p); whiile(!myyfille.eeo

22、f() iff(nuumbeer=p.nnumbber) pp.inn(); mmyfiile.cloose();mm=0; mmyfiile.reaad(chaar*)&p,sizzeoff p); iif(mm) couut查无无此人!enddl ; vvoidd seearcch2() intt m=1; coout请请输入你你要查找找的编号号:nummberr ; iffstrreamm myyfille(f2.txtt,iios : binnaryy|ioos : oout|ioss : inn); teechnniciian p ; myyfille.rreadd(ccharr*)

23、&p,ssizeeof p); whiile(!myyfille.eeof() iff(nuumbeer=p.nnumbber) pp.inn(); mmyfiile.cloose();mm=0; myyfille.rreadd(ccharr*)&p,ssizeeof p); iif(mm)couut查无无此人!enddl ; vvoidd seearcch3() innt mm=1; coout请请输入你你要查找找的编号号:nummberr ; iffstrreamm myyfille(f6.txtt,iios : binnaryy|ioos : oout|ioss : inn); seel

24、l p ; myyfille.rreadd(ccharr*)&p,ssizeeof p); whiile(!myyfille.eeof() iff(nuumbeer=p.nnumbber) pp.inn(); mmyfiile.cloose();mm=0; myyfille.rreadd(ccharr*)&p,ssizeeof p); if(m)coout查查无此人人!enndl ; vvoidd seearcch4() intt m=1; coout请请输入你你要查找找的编号号:nummberr ; iffstrreamm myyfille(f7.txtt,iios : binnaryy|i

25、oos : oout|ioss : inn); baagmaan pp ; myyfille.rreadd(ccharr*)&p,ssizeeof p); whiile(!myyfille.eeof() iff(nuumbeer=p.nnumbber) pp.inn(); myffilee.cllosee();m=00; myyfille.rreadd(ccharr*)&p,ssizeeof p); if(m)coout查查无此人人!enndl ; vvoidd seearcch() coout *你正在在查找*eendll ; coout * 11.经理理 *eendll ; coout *

26、 22.技术术人员 *enddl ; coout * 33.销售售经理 *enddl ; coout * 44.推销销员 *enndl ; coout *c ; whiile(c!=N&cc!=n) sswittch(c) caase 1 : ssearrch11(); breeak ; casse 2 : ssearrch22(); breeak ; casse 3 : ssearrch33(); breeak ; casse 4 : ssearrch44(); breeak ; deffaullt : ccouttERRROR!enndl ;bbreaak ; ccouttc ; iff(

27、c=YY|c=y) ccoutt请选你你的职称称类型:cc ; /*修改改函数 vvoidd reepaiir1(voiid) innt nnum,i=00,k=0 ; mggr*pp1=nnew mgrr500; cooutnumm ; iffstrreamm h11(ff1.ttxt,ioos : bbinaary|ioss : inn); h11.reead(chhar*)&pp1ii,ssizeeof p1i); whiile(!h11.eoof() ii+; hh1.rreadd(ccharr*)&p1i,sizzeoff p11i); h11.cllosee(); k=i ; fo

28、rr(i=0;iik;i+) iff(nuum=p1i.nummberr) pp1ii.oout(); ccoutt修改完完毕!eendll ; ofsstreeam h2(f11.txxt,ioss : biinarry|iios : outt); forr(i=0;iik;i+) h22.wrritee(ccharr*)&p1i,sizzeoff p11i); h2.cloose(); delleteepp1 ; vvoidd reepaiir2(voiid) innt nnum,i=00,k=0 ; teechnniciian*p2=neww teechnniciian50; coout

29、numm ; iffstrreamm h22(ff2.ttxt,ioos : bbinaary|ioss : inn); hh2.rreadd(ccharr*)&p2i,sizzeoff p22i); whiile(!h22.eoof() i+; h22.reead(chhar*)&pp2ii,ssizeeof p2i); h2.cloose(); k=ii ; forr(i=0;iik;i+) if(numm=pp2ii.nnumbber) pp2ii.oout(); ccoutt修改完完毕!eendll ; ofsstreeam h1(f22.txxt,ioss : biinarry|ii

30、os : outt); forr(i=0;iik;i+) h11.wrritee(ccharr*)&p2i,sizzeoff p22i); hh1.cclosse(); ddeleetep22 ; vvoidd reepaiir3(voiid) innt nnum,i=00,k=0 ; seell*p6=neww seell50; cooutnumm ; fsstreeam h6(f66.txxt,ioss : biinarry|iios : outt|ioos : iin); h66.reead(chhar*)&pp6ii,ssizeeof p6i); whiile(!h66.eoof()

31、i+; h66.reead(chhar*)&pp6ii,ssizeeof p6i); k=ii ; h6.cloose(); forr(i=0;iik;i+) iff(nuum=p6i.nummberr) pp6ii.iin(); ccoutt修改完完毕!eendll ; ofsstreeam h1(f66.txxt,ioss : biinarry|iios : outt); forr(i=0;iik;i+) h11.wrritee(ccharr*)&p6i,sizzeoff p66i); h1.cloose(); delleteepp6 ; vvoidd reepaiir4(voiid) i

32、nnt nnum,i=00,k=0 ; baagmaan*pp7=nnew baggmann500; cooutnumm ; fsstreeam h7(f77.txxt,ioss : biinarry|iios : outt|ioos : iin); h77.reead(chhar*)&pp7ii,ssizeeof p7i); whiile(!h77.eoof() i+; hh7.rreadd(ccharr*)&p7i,sizzeoff p77i); k=ii ; h7.cloose(); forr(i=0;iik;i+) if(numm=pp7ii.nnumbber) pp7ii.oout(

33、); ccoutt修改完完毕!eendll ; ofsstreeam h1(f77.txxt,ioss : biinarry|iios : outt); forr(i=0;iik;i+) hh1.wwritte(chaar*)&p77i,siizeoof pp7ii); h1.cloose(); delleteepp7 ; vvoidd reepaiir() coout *你正在在修改*eendll ; coout * 11.经理理 *eendll ; coout * 22.技术术人员 *enddl ; coout * 33.销售售经理 *enddl ; coout * 44.推销销员 *en

34、ndl ; coout *c ; whiile(c!=N&cc!=n) sswittch(c) ccasee 11 : rrepaair11(); bbreaak ; ccasee 22 : rrepaair22(); bbreaak ; ccasee 33 : rrepaair33(); bbreaak ; ccasee 44 : rrepaair44(); bbreaak ; ddefaaultt : ccouttERRROR!enndl ;bbreaak ; ccoutt是否继继续修改改(Y/N)?c ; iff(c=YY|c=y) ccoutt请输入入你要修修改的职职称类型型:c ;

35、vvoidd deelette1() innt ii=0,nummberr ; iffstrreamm myyfille(f1.txtt,iios : binnaryy|ioos : iin); mggr pp300; myyfille.rreadd(ccharr*)(p+ii),ssizeeof*p); couut请输输入你要要删除的的对象的的编号:nnumbber ; whiile(!myyfille.eeof() iff(nuumbeer=pii.nnumbber) ii-; i+; myyfille.rreadd(ccharr*)(p+ii),ssizeeof*p); intt k=i

36、 ; myffilee.cllosee(); ofsstreeam fille2(f11.txxt,ioss : biinarry|iios : outt); forr(i=0;iik;i+) fiile22.wrritee(ccharr*)(p+ii),ssizeeof*p); vvoidd deelette2() intt i=0,nnumbber ; iifsttreaam mmyfiile(f22.txxt,ioss : biinarry|iios : in); ttechhnicciann p30; mmyfiile.reaad(chaar*)(p+i),sizzeoff*p); c

37、coutt请输入入你要删删除的对对象的编编号:nuumbeer ; whiile(!myyfille.eeof() iff(nuumbeer=pii.nnumbber) ii-; ii+; mmyfiile.reaad(chaar*)(p+i),sizzeoff*p); innt kk=i ; myyfille.cclosse(); offstrreamm fiile22(ff2.ttxt,ioos : bbinaary|ioss : ouut); forr(i=0;iik;i+) fiile22.wrritee(ccharr*)(p+ii),ssizeeof*p); vvoidd deele

38、tte3() iint i=00,nuumbeer ; iffstrreamm myyfille(f6.txtt,iios : binnaryy|ioos : iin); seell p330; myyfille.rreadd(ccharr*)(p+ii),ssizeeof*p); coout请请输入你你要删除除的对象象的编号号:nummberr ; whiile(!myyfille.eeof() iff(nuumbeer=pii.nnumbber) ii-; i+; myyfille.rreadd(ccharr*)(p+ii),ssizeeof*p); intt k=i ; myffilee

39、.cllosee(); ofsstreeam fille2(f66.txxt,ioss : biinarry|iios : outt); forr(i=0;iik;i+) fiile22.wrritee(ccharr*)(p+ii),ssizeeof*p); vvoidd deelette4() intt i=0,nnumbber ; iifsttreaam mmyfiile(f77.txxt,ioss : biinarry|iios : in); bbagmman p330; mmyfiile.reaad(chaar*)(p+i),sizzeoff*p); ccoutt请输入入你要删删除的对对象的编编号:nuumbeer ; whiile(!myyfille.eeof() iff(nuumbeer=pii.nnumbber) ii-; i+; myyfille.rreadd(ccharr*)(p+ii),ssizeeof*p); intt k=i ; myffilee.cllosee(); ofsstreeam fille2(f77.txxt,ioss : biinarry|iios : outt); forr(i=0;iik;i+) f

温馨提示

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

评论

0/150

提交评论