




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C+課程設設計題目:人人員信息息管理系系統(tǒng)學生姓名名:學號:專業(yè)班級級:同組人員員:指導老師師:設計時間間:指導老師師意見: 評定成績績: 簽名: 日期期:C+課課程設計計實驗報報告人員員信息管管理系統(tǒng)統(tǒng)一:系統(tǒng)統(tǒng)要求分分析1:功能能需求(1)人人員信息息基本管管理,包包括人員員信息的的錄入、修改和和刪除;(2)能能夠自動動設置員員工的編編號,即即每增加加一位新新員工,編編號增一一;(3)能能夠分別別對不同同級別的的員工(如如經(jīng)理、技術人人員、推推銷人員員等)按按照不同同的公式式計算其其工資收收入;(4)能能夠將人人員信息息保存到到磁盤上上,以便便程序下下次運行行時使用用;(5)具具有一定定的
2、排錯錯功能,如如當用戶戶輸入錯錯誤數(shù)據(jù)據(jù)時提示示用戶;(6)能能夠實現(xiàn)現(xiàn)一定程程度的查查詢和統(tǒng)統(tǒng)計功能能。(7)其其他你能能想到并并對系統(tǒng)統(tǒng)有用的的功能。在實現(xiàn)程程序功能能的基礎礎上,盡盡量運用用所學知知識,改改進程序序實現(xiàn)方方法,提提高程序序的可讀讀性、模模塊性、可擴展展性、可可重用性性和健壯壯性。工資計算算公式:經(jīng)理 :固定為為80000技術人員員:工作作時間*每小時時酬金(1100RRMB)銷售經(jīng)理理:1%提成+固定工工資(550000RMBB)推銷員 :44%提成成二:系統(tǒng)統(tǒng)總體設設計1:系統(tǒng)統(tǒng)功能框框架設計計登陸界面輸入登陸密碼liu進入功能選擇菜單7:退出5:刪除4:修改3:查找2
3、:顯示1:錄入 進行操作處理操作結果自動存入txt文件中,再循環(huán)進入主菜單三:系統(tǒng)統(tǒng)詳細設設計1:設計思思路使用面向向對象的的程序設設計思想想進行分分析,整整個系統(tǒng)統(tǒng)涉及兩兩大類信信息和操操作,公公司,人人員。所所以系統(tǒng)統(tǒng)主要涉涉及兩個個大類:公司類類bussineess、人員類類perrsonn。系統(tǒng)統(tǒng)的總體體框架就就是公司司類,人人員類的的定義;主函數(shù)數(shù)中定義義一個公公司對象象,循環(huán)環(huán)顯示主主菜單并并根據(jù)用用戶選擇擇調用公公司類的的相應方方法(成成員函數(shù)數(shù))。(1)公公司類bbusiinesss:考考慮系統(tǒng)統(tǒng)操作的的人員信信息的數(shù)數(shù)量具有有不確定定性,所所以考慮慮使用鏈鏈表保存存、處理理人
4、員信信息。公公司類包包含:所所有人員員信息的的一個不不帶頭結結點的鏈鏈表(作作為數(shù)據(jù)據(jù)成員)及及可以對對人員信信息進行行增,刪刪,改,查查詢經(jīng)營營信息,基基礎數(shù)據(jù)據(jù)設置,數(shù)數(shù)據(jù)存盤盤,數(shù)據(jù)據(jù)裝入等等操作的的相關模模塊(wwritte,bbuilld,ssearrch,reppairr,deelette,llistt)作為為成員函函數(shù)。(2)人人員類ppersson:所有人人員都具具有的公公共信息息及操作作可以使使用人員員類進行行描述。由于系系統(tǒng)具有有4類人人員且44類人員員數(shù)據(jù),操操作有所所不同,如如銷售員員包含銷銷售額,而而兼職技技術人員員包含工工作小時時數(shù)且計計算工資資的方法法不同,所所以
5、應當當為4類類人員創(chuàng)創(chuàng)建相應應的peersoon類的的派生類類。(3)為為了使公公司類可可以方便便處理人人員信息息,可以以考慮將將公司類類確定為為人員類類的友元元類或者者人員類類提供公公共的方方法以便便公司類類進行操操作。為為了公司司類可以以用共同同方法操操作人員員類,可可以將人人員類的的方法確確定為虛虛函數(shù)。2:功能能模塊設設計voidd wrritee()新增將向要新新增的人人員通過過文件指指令ofsttreaam mmyfiile(f11.txxt,ioss : biinarry|iios : atee); myffilee.wrritee(ccharr*)&p,ssizeeof p);
6、myfiile.cloose(); 將信息自自動存入入txtt文檔中中。voidd seearcch()查找找通過讀取取源文件件內容,再利用判判斷語句句if(nnumbber=p.nummberr)判斷是否否輸入的的序號與與存檔內內容序號號相同,相相同則輸輸出。voidd deelette()刪除除先查找出出要刪除除的人員員信息,再通過oofsttreaam ffilee2(f1.txtt,iios : binnaryy|ioos : oout);創(chuàng)建建空白文文件覆蓋蓋要刪除除的人員員信息。voidd shhow()顯示用whiile判判斷語句句打印出出所有人人員信息息。voidd reepa
7、iir()修改改利用offstrreamm h11(ff2.ttxt,ioos : bbinaary|ioss : ouut);覆蓋要要修改的的人員信信息。錯誤判斷斷四:系統(tǒng)統(tǒng)源代碼碼#inccludde#inccludde#inccludde#inccluddeclasss ppersson pubblicc : chaar nnamee200,ppostt200,hhourr200; intt agge,nnumbber ; ;classs bbusiinesss :pubblicc peersoon pubblicc : intt tiime ; ; /經(jīng)理理(一次次派生類類)class
8、s mmgr : ppubllic perrsonn pubblicc: intt moonthhpayy; mgrr : mggr() moonthhpayy=80000 ; voiid oout() couutnnumbber ; couutnnamee ; couutaage ; couut該職職工的月月薪為:monnthppayenndl; voiid iin() coout編編號:nnumbber 姓名名:naame 年齡齡:agge 職稱:經(jīng)理理 月薪薪:moonthhpayyeendll; ;/技術術人員classs ttechhnicciann :ppubllic perrso
9、nn pubblicc: intt hoourllyRaate ; /每每小時酬酬金 intt woorkHHourrs ; /當當月工作作時數(shù) intt paay; tecchniiciaan : ttechhnicciann() hoourllyRaate=1000 ; ; virrtuaal vvoidd inn() coout編編號:nnumbber 姓名名:naame 年齡齡:agge 職稱:技術術人員 月月薪:ppayenndl ; voiid oout() cooutnummberr ; cooutnamme ; cooutworrkHoourss ; cooutagee ; p
10、aay=hhourrlyRRatee*woorkHHourrs ; coout該該職工的的月薪為為:paayenddl ; ; /銷售售經(jīng)理classs sselll :ppubllic bussineess pubblicc : intt phhpayy,moonthhpayy ; selll : sselll() phhpayy=1,monnthppay=50000 ; voiid iin() coout編編號:nnumbber 姓名名:naame 銷售售額:ttimee 年年齡:aage 職稱稱:銷銷售經(jīng)理理 月薪:payy()enndl ; intt paay() reeturrn(p
11、phpaay*ttimee+moonthhpayy); voiid oout() cooutnummberr ; cooutnamme ; coouttimme ; cooutagee ; coout職職工的月月薪為:payy()enndl ; ;/推銷銷員 classs bbagmman :puubliic bbusiinesss pubblicc : intt phhpayy ; baggmann : baagmaan() phhpayy=4 ; voiid iin() coout編編號:nnumbber 姓名名:naame 銷售售額:ttimee 年年齡:aage 職稱稱:推推銷員 年薪
12、薪:paay()eendll ; intt paay() reeturrn(pphpaay*ttimee); voiid oout() couutnnumbber ; couutnnamee ; couutttimee ; couutaage ; couut該職職工的月月薪為:payy()enndl ; ;/*輸輸入函數(shù)數(shù)voidd wrritee1() mggr pp ; p.oout();ofsttreaam mmyfiile(f11.txxt,ioss : biinarry|iios : atee); /與與ioss:aapp|ioss:oout)均可 myffilee.wrritee(
13、ccharr*)&p,ssizeeof p); myffilee.cllosee(); voidd wrritee2() tecchniiciaan pp ; p.oout(); ofsstreeam myffilee(ff2.ttxt,ioos : bbinaary|ioss : atte); /與與ioss:aapp|ioss:oout)均可 myffilee.wrritee(ccharr*)&p,ssizeeof p); myffilee.cllosee();voidd wrritee3() selll pp ; p.oout(); ofsstreeam myffilee(ff6.ttx
14、t,ioos : bbinaary|ioss : atte); /與與ioss:aapp|ioss:oout)均可 myffilee.wrritee(ccharr*)&p,ssizeeof p); myffilee.cllosee();voidd wrritee4() baggmann p ; ofsstreeam myffilee(ff7.ttxt,ioos : bbinaary|ioss : atte); /與與ioss:aapp|ioss:oout)均可 p.oout(); myffilee.wrritee(ccharr*)&p,ssizeeof p); myffilee.cllosee
15、();voidd buuildd() couutenddl ; couut *請請選擇職職工的信信息* eendll ; couut * 1.經(jīng)理 * eendll ; couut * 2.技術人人員 * enddl ; couut * 3.銷售經(jīng)經(jīng)理 * enddl ; couut * 4.推銷員員 * enndl ; couut * cch ; whiile(ch!=NN&ch!=nn) swwitcch(cch) ccasee 11 : wwritte1(); bbreaak ; ccasee 22 : wwritte2(); bbreaak ; ccasee 33 : wwritte3
16、(); bbreaak ; ccasee 44 : wwritte4(); bbreaak ; ddefaaultt : ccouttERRROR!enndl ;bbreaak ; cooutch ; iff(chh=Y|chh=y) ccoutt請輸入入144:chh ; /*顯顯示函數(shù)數(shù)voidd shhow11() ifsstreeam myffilee(ff1.ttxt,ioos : bbinaary|ioss : ouut|iios : in); mgrr p ; myffilee.reead(chhar*)&pp,siizeoof pp); whiile(!myyfille.eeo
17、f() pp.inn(); mmyfiile.reaad(chaar*)&p,sizzeoff p); myyfille.cclosse();voidd shhow22() iffstrreamm myyfille(f2.txtt,iios : binnaryy|ioos : oout|ioss : inn); teechnniciian p; myyfille.rreadd(ccharr*)&p,ssizeeof p); whiile(!myyfille.eeof() p.iin(); mmyfiile.reaad(chaar*)&p,sizzeoff p); myffilee.cllose
18、e();voidd shhow33() iffstrreamm myyfille(f6.txtt,iios : binnaryy|ioos : oout|ioss : inn); seell p ; myyfille.rreadd(ccharr*)&p,ssizeeof p); whiile(!myyfille.eeof() p.iin(); mmyfiile.reaad(chaar*)&p,sizzeoff p); myffilee.cllosee();voidd shhow44() iffstrreamm myyfille(f7.txtt,iios : binnaryy|ioos : oo
19、ut|ioss : inn); baagmaan pp ; myyfille.rreadd(ccharr*)&p,ssizeeof p); whiile(!myyfille.eeof() p.iin(); mmyfiile.reaad(chaar*)&p,sizzeoff p); myffilee.cllosee();voidd shhow00() shoow1(); shoow2();showw3();showw4(); voiid sshoww() ccoutt *你你正在顯顯示*enddl ;ccoutt * 0.全全顯 *enddl ; ccoutt * 1.經(jīng)經(jīng)理 *enddl ;
20、ccoutt * 2.技技術人員員 *enndl ; ccoutt * 3.銷銷售經(jīng)理理 *enndl ; ccoutt * 4.推推銷員 *eendll ; ccoutt *c ; whhilee(c!=NN&c!=n) swiitchh(c) ccasee 11 : shoow1(); breeak ; ccasee 22 : shoow2(); breeak ; ccasee 33 : shoow3(); breeak ; ccasee 44 : shoow4(); breeak ; caase 0 : shoow0(); breeak ; ddefaaultt : couutERRRO
21、RR!eendll ; breeak ; coout是是否繼續(xù)續(xù)顯示(Y/NN)?c ; iif(cc=Y|c=yy) couut請選選擇你要要顯示的的職工類類:cc ; /*查查找函數(shù)數(shù) voiid ssearrch11() innt mm=1; couut請輸輸入你要要查找的的編號:nnumbber ; iifsttreaam mmyfiile(f11.txxt,ioss : biinarry|iios : outt|ioos : iin); mmgr p ; mmyfiile.reaad(chaar*)&p,sizzeoff p); whhilee(!mmyfiile.eoff() ii
22、f(nnumbber=p.nummberr) p.iin(); myffilee.cllosee();m=00; myffilee.reead(chhar*)&pp,siizeoof pp); if(m) couut查無無此人!enddl ; voiid ssearrch22() innt mm=1; ccoutt請輸入入你要查查找的編編號:nuumbeer ; iifsttreaam mmyfiile(f22.txxt,ioss : biinarry|iios : outt|ioos : iin); ttechhnicciann p ; mmyfiile.reaad(chaar*)&p,si
23、zzeoff p); whhilee(!mmyfiile.eoff() iif(nnumbber=p.nummberr) p.iin(); myffilee.cllosee();m=00; mmyfiile.reaad(chaar*)&p,sizzeoff p); if(m)coout查查無此人人!enndl ; voiid ssearrch33() iint m=11; ccoutt請輸入入你要查查找的編編號:nuumbeer ; iifsttreaam mmyfiile(f66.txxt,ioss : biinarry|iios : outt|ioos : iin); sselll p ;
24、 mmyfiile.reaad(chaar*)&p,sizzeoff p); whhilee(!mmyfiile.eoff() iif(nnumbber=p.nummberr) p.iin(); myffilee.cllosee();m=00; mmyfiile.reaad(chaar*)&p,sizzeoff p); iff(m)ccoutt查無此此人!eendll ; voiid ssearrch44() innt mm=1; ccoutt請輸入入你要查查找的編編號:nuumbeer ; iifsttreaam mmyfiile(f77.txxt,ioss : biinarry|iios
25、: outt|ioos : iin); bbagmman p ; mmyfiile.reaad(chaar*)&p,sizzeoff p); whhilee(!mmyfiile.eoff() iif(nnumbber=p.nummberr) p.iin(); myyfille.cclosse();m=00; mmyfiile.reaad(chaar*)&p,sizzeoff p); iff(m)ccoutt查無此此人!eendll ; voiid ssearrch() ccoutt *你正正在查找找*enddl ; ccoutt * 1.經(jīng)經(jīng)理 *enddl ; ccoutt * 2.技技術人
26、員員 *enndl ; ccoutt * 3.銷銷售經(jīng)理理 *enndl ; ccoutt * 4.推推銷員 *eendll ; ccoutt *c ; whhilee(c!=NN&c!=n) swiitchh(c) ccasee 11 : seaarchh1(); brreakk ; caase 2 : seaarchh2(); brreakk ; caase 3 : seaarchh3(); brreakk ; caase 4 : seaarchh4(); brreakk ; deefauult : couutERRRORR!eendll ;breeak ; couutcc ; iif(c
27、c=Y|c=yy) couut請選選你的職職稱類型型:c ; /*修修改函數(shù)數(shù) voiid rrepaair11(vooid) iint numm,i=0,kk=0 ; mmgr*p1=neww mggr550; ccouttnuum ; iifsttreaam hh1(f1.txtt,iios : binnaryy|ioos : iin); hh1.rreadd(ccharr*)&p1i,sizzeoff p11i); whhilee(!hh1.eeof() i+; h1.reaad(chaar*)&p11i,siizeoof pp1ii); hh1.cclosse(); kk=i ; fo
28、or(ii=0;ikk;i+) iif(nnum=p11i.nuumbeer) p1i.outt(); couut修改改完畢!enddl ; offstrreamm h22(ff1.ttxt,ioos : bbinaary|ioss : ouut); foor(ii=0;ikk;i+) hh2.wwritte(chaar*)&p11i,siizeoof pp1ii); h22.cllosee(); deelettep1 ; voiid rrepaair22(vooid) iint numm,i=0,kk=0 ; ttechhnicciann*p22=neew ttechhnicciann500
29、; ccouttnuum ; iifsttreaam hh2(f2.txtt,iios : binnaryy|ioos : iin); h2.reaad(chaar*)&p22i,siizeoof pp2ii); whhilee(!hh2.eeof() ii+; hh2.rreadd(ccharr*)&p2i,sizzeoff p22i); h22.cllosee(); k=i ; foor(ii=0;ikk;i+) iff(nuum=p2i.nummberr) p2i.outt(); couut修改改完畢!enddl ; offstrreamm h11(ff2.ttxt,ioos : bbi
30、naary|ioss : ouut); foor(ii=0;ikk;i+) hh1.wwritte(chaar*)&p22i,siizeoof pp2ii); h1.cloose(); delleteepp2 ; voiid rrepaair33(vooid) iint numm,i=0,kk=0 ; sselll*p66=neew sselll500; ccouttnuum ; ffstrreamm h66(ff6.ttxt,ioos : bbinaary|ioss : ouut|iios : in); hh6.rreadd(ccharr*)&p6i,sizzeoff p66i); whhi
31、lee(!hh6.eeof() ii+; hh6.rreadd(ccharr*)&p6i,sizzeoff p66i); k=i ; h66.cllosee(); foor(ii=0;ikk;i+) iif(nnum=p66i.nuumbeer) p6i.in(); couut修改改完畢!enddl ; offstrreamm h11(ff6.ttxt,ioos : bbinaary|ioss : ouut); foor(ii=0;ikk;i+) hh1.wwritte(chaar*)&p66i,siizeoof pp6ii); h11.cllosee(); deelettep6 ; voii
32、d rrepaair44(vooid) iint numm,i=0,kk=0 ; bbagmman*p7=neww baagmaan550; ccouttnuum ; ffstrreamm h77(ff7.ttxt,ioos : bbinaary|ioss : ouut|iios : in); hh7.rreadd(ccharr*)&p7i,sizzeoff p77i); whhilee(!hh7.eeof() i+; h7.reaad(chaar*)&p77i,siizeoof pp7ii); k=i ; h77.cllosee(); foor(ii=0;ikk;i+) iff(nuum=p
33、7i.nummberr) p7i.outt(); couut修改改完畢!enddl ; offstrreamm h11(ff7.ttxt,ioos : bbinaary|ioss : ouut); foor(ii=0;ikk;i+) h1.wriite(chhar*)&pp7ii,ssizeeof p7i); h11.cllosee(); deelettep7 ; voiid rrepaair() ccoutt *你正正在修改改*enddl ; ccoutt * 1.經(jīng)經(jīng)理 *enddl ; ccoutt * 2.技技術人員員 *enndl ; ccoutt * 3.銷銷售經(jīng)理理 *enndl
34、 ; ccoutt * 4.推推銷員 *eendll ; ccoutt *c ; whhilee(c!=NN&c!=n) swiitchh(c) casse 1 : reppairr1(); breeak ; casse 2 : reppairr2(); breeak ; casse 3 : reppairr3(); breeak ; casse 4 : reppairr4(); breeak ; deffaullt : couutERRRORR!eendll ;breeak ; couut是否否繼續(xù)修修改(YY/N)?cc ; iif(cc=Y|c=yy) couut請輸輸入你要要修改的的職
35、稱類類型:cc ; voiid ddeleete11() iint i=00,nuumbeer ; iifsttreaam mmyfiile(f11.txxt,ioss : biinarry|iios : in); mmgr p330; mmyfiile.reaad(chaar*)(p+i),sizzeoff*p); coout請請輸入你你要刪除除的對象象的編號號:nummberr ; whhilee(!mmyfiile.eoff() iif(nnumbber=pi.nummberr) i-; ii+; mmyfiile.reaad(chaar*)(p+i),sizzeoff*p); innt
36、 kk=i ; myyfille.cclosse(); offstrreamm fiile22(ff1.ttxt,ioos : bbinaary|ioss : ouut); foor(ii=0;ikk;i+) ffilee2.wwritte(chaar*)(p+i),sizzeoff*p); voiid ddeleete22() innt ii=0,nummberr ; ifsstreeam myffilee(ff2.ttxt,ioos : bbinaary|ioss : inn); tecchniiciaan pp300; myffilee.reead(chhar*)(pp+i),siize
37、oof*pp); couut請輸輸入你要要刪除的的對象的的編號:nnumbber ; whhilee(!mmyfiile.eoff() iif(nnumbber=pi.nummberr) i-; i+; myffilee.reead(chhar*)(pp+i),siizeoof*pp); iint k=ii ; mmyfiile.cloose(); oofsttreaam ffilee2(f2.txtt,iios : binnaryy|ioos : oout); foor(ii=0;ikk;i+) ffilee2.wwritte(chaar*)(p+i),sizzeoff*p); voiid
38、ddeleete33() intt i=0,nnumbber ; iifsttreaam mmyfiile(f66.txxt,ioss : biinarry|iios : in); sselll p30; mmyfiile.reaad(chaar*)(p+i),sizzeoff*p); ccoutt請輸入入你要刪刪除的對對象的編編號:nuumbeer ; whhilee(!mmyfiile.eoff() iif(nnumbber=pi.nummberr) i-; ii+; mmyfiile.reaad(chaar*)(p+i),sizzeoff*p); innt kk=i ; myyfille
39、.cclosse(); offstrreamm fiile22(ff6.ttxt,ioos : bbinaary|ioss : ouut); foor(ii=0;ikk;i+) ffilee2.wwritte(chaar*)(p+i),sizzeoff*p); voiid ddeleete44() innt ii=0,nummberr ; ifsstreeam myffilee(ff7.ttxt,ioos : bbinaary|ioss : inn); baggmann p30; myffilee.reead(chhar*)(pp+i),siizeoof*pp); couut請輸輸入你要要刪除的的對象的的編號:nnumbber ; whhilee(!mmyfiile.eoff() iif(nnumbber=pi.nummberr) i-; ii+; mmyfiile.reaad(chaar*)(p+i),sizzeoff*p); innt kk=i ; myyfille.cclosse(); offstrreamm fiile22(ff7.ttxt,ioos : bbinaary|ioss : ouut); foor(i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園防詐騙宣傳合作合同(2篇)
- 2025全面勞動合同模板
- 2025醫(yī)療器械專業(yè)技術轉讓合同
- 間接型頸動脈海綿竇瘺的臨床護理
- 新質生產(chǎn)力探源
- 2025年杭州解除勞動合同協(xié)議書范本
- 2025年國有企業(yè)土地轉讓中介服務合同
- 2025年統(tǒng)計師之中級統(tǒng)計師工作實務過關檢測試卷B卷附答案
- 《社區(qū)精神健康管理》課件
- 大學物理教學設計質點運動的描述
- 新標準大學英語綜合教程4教師用書
- 新疆森林資源補充調查數(shù)據(jù)字典
- 學生檔案補辦申請表1
- 風機基礎計算書
- 運動醫(yī)學 教學大綱
- 十進制和二進制之間轉換
- DB11T 2000-2022 建筑工程消防施工質量驗收規(guī)范
- 工商管理專業(yè)調查匯總報告
- 承包商、供應商管理制度(大全五篇)
- EN779-2012一般通風過濾器——過濾性能測定(中文版)
- 緩蝕阻垢劑安全技術說明書MSDS
評論
0/150
提交評論