![C++員工工資管理系統(tǒng)源代碼_第1頁(yè)](http://file4.renrendoc.com/view/33edf0e12672f1001a57d69a857aefa4/33edf0e12672f1001a57d69a857aefa41.gif)
![C++員工工資管理系統(tǒng)源代碼_第2頁(yè)](http://file4.renrendoc.com/view/33edf0e12672f1001a57d69a857aefa4/33edf0e12672f1001a57d69a857aefa42.gif)
![C++員工工資管理系統(tǒng)源代碼_第3頁(yè)](http://file4.renrendoc.com/view/33edf0e12672f1001a57d69a857aefa4/33edf0e12672f1001a57d69a857aefa43.gif)
![C++員工工資管理系統(tǒng)源代碼_第4頁(yè)](http://file4.renrendoc.com/view/33edf0e12672f1001a57d69a857aefa4/33edf0e12672f1001a57d69a857aefa44.gif)
![C++員工工資管理系統(tǒng)源代碼_第5頁(yè)](http://file4.renrendoc.com/view/33edf0e12672f1001a57d69a857aefa4/33edf0e12672f1001a57d69a857aefa45.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、includeiomanipincludeiostreaminclude#includevstring。husingnamespacestd;defineNULL0defineLENsizeof(structstudent)intconstN=20;voidMenu();voidPass();intn=0;/定義一個(gè)全局變量統(tǒng)計(jì)職工人數(shù)/-定義一個(gè)職工信息的結(jié)構(gòu)體-職工類-職工類charsexN;longid;floatpaid3;inttotal;/用來(lái)存放性別/用來(lái)存放編號(hào)/用來(lái)存放工資/用來(lái)存放總工資charnameN;/用來(lái)存放姓名structstudent*next;/-classI
2、nformationpublic:Information();/構(gòu)造函數(shù).Information();析構(gòu)函數(shù).studentcreat();/建立鏈表voidoutput(student*head);intcount(student*head);/顯示職工信息定義函數(shù)count()統(tǒng)計(jì)職工總數(shù)voidaverage(student*head);/定義職工工資平均值的函數(shù)private:studentp1,p2,p3,*head,st;/-建立鏈表信息studentInformation:creat(void)定義一個(gè)指向structstudent的結(jié)構(gòu)體指針函數(shù)大creat()用來(lái)錄入職工信
3、息。charchN;n=0;/用來(lái)存放職工姓名pl=p2=(student*)malloc(LEN);調(diào)用malloc()函數(shù)用來(lái)開(kāi)辟一個(gè)新的存儲(chǔ)單元cout”-請(qǐng)建立員工信息表,在姓名處鍵以結(jié)束輸入!-endl;cout”姓名:;cinch;head=NULL;/給指針head賦初值while(strcmp(ch,”)!=0)調(diào)用字符比較函數(shù)strcmp()用來(lái)判斷是否繼續(xù)輸入pl=(student卡)malloc(LEN);調(diào)用malloc()函數(shù)用來(lái)開(kāi)辟一個(gè)新的存儲(chǔ)單元strcpy(p1name,ch);將循環(huán)結(jié)構(gòu)前面輸入的姓名復(fù)制到結(jié)構(gòu)體名為pl的數(shù)組name中coutplid;whi
4、le(plid)vOII(plid)100000)判斷輸入的編號(hào)是否有效(100000個(gè))coutv對(duì)不起您的輸入錯(cuò)誤!請(qǐng)重新輸入(0pl-id;coutp1paid0;while(p1paid0)0|I(p1-paid0)100000)判斷輸入的分?jǐn)?shù)是否有效(=0=100000)cout”對(duì)不起您的輸入錯(cuò)誤!請(qǐng)重新輸入(0p1paid0;coutpaid1;while(p1-paid1)0|I(p1-paid1)100000)判斷輸入的分?jǐn)?shù)是否有效(=0=100000)cout”對(duì)不起您的輸入錯(cuò)誤!請(qǐng)重新輸入(0p1paid1;cout”其他獎(jiǎng)金:”;cinp1-paid2;while(p1
5、paid2)0|(p1paid2)100000)/判斷輸入的分?jǐn)?shù)是否有效(=0=100000)cout0100000):”;cinp1-paid2;p1total=p1paid0+p1paid1+p1paid2;/計(jì)算總額if(n=0)head=p1;如果是輸入第一組職工信息就將指針p1賦給指針headelsep2next=p1;否則將p1賦給p2所指結(jié)構(gòu)體的next指針p2=p1;將指針p1賦給指針p2將職工人數(shù)n的值加將職工人數(shù)n的值加1coutn姓名:”cinch;將輸入的姓名存放到字符數(shù)組ch中p2next=NULL;將p2所指結(jié)構(gòu)體的next指針重新賦空值return(head);/
6、將輸入的第一組職工信息返回/-定義output()函數(shù)將職工的信息從頭指針?biāo)竷?nèi)容開(kāi)始輸出voidInformation::output(student大head)system(cls);if(head=NULL)cout”這是一個(gè)空表,請(qǐng)先輸入員工信息!n”;elsecoutcout”大職工工資信息表大n”;coutcout”大職工工資信息表大n”;coutcout丨編號(hào)II姓名I丨性別II基本工資II加班工資丨丨其他獎(jiǎng)金丨I總額ln”;cout”-n;p1=head;/將頭指針賦給pdocoutsetw(6)p1-idsetw(10)p1-namesetw(10)p1sexsetw(10)
7、p1paid0setw(10)p1-paid1setw(12)p1paid2setw(12)p1-totalendl;couttotal=plpaid0+pl-paid1+pl-paid2;計(jì)算總分p2=head;/將頭指針賦給p2if(head=NULL)若沒(méi)調(diào)用次函數(shù)以前的頭指針head為空head=pl;plnext=NULL;則將pl賦給頭指針head并將pl所指結(jié)構(gòu)體成員指針next賦空值elsewhile(plidp2-id)&(p2-next!=NULL)p3=p2;p3指向原p2指向的結(jié)點(diǎn)p2=p2next;/p2后移一個(gè)結(jié)點(diǎn)if(plidnext=p2;插入到p3所指結(jié)點(diǎn)之后
8、elsep2-next=pl;pl-next=NULL;插入到尾結(jié)點(diǎn)之后n+;/將職工人數(shù)加lcout”t-”id&p1-next!=NULL)/尋找要?jiǎng)h除的結(jié)點(diǎn)當(dāng)p1所指的職工編號(hào)不是輸入的職工編號(hào)并且pl所指的next指針不為空p2=pl;pl=plnext;if(id=p1id)如果輸入的職工編號(hào)是pl所指的職工編號(hào)結(jié)點(diǎn)找到后刪除if(p1=head)head=p1next;/如果head指針和p1指針相等則將下一個(gè)結(jié)點(diǎn)賦給指針headelsep2next=p1-next;否則將pl所指結(jié)點(diǎn)賦給p2所指結(jié)點(diǎn)將要?jiǎng)h除的職工信息跳過(guò)去cout”刪除編號(hào)為”idvv”的職工n”;n;/將職工人
9、數(shù)減1return(head);/將頭指針?lè)祷?*修改職工數(shù)據(jù)*/student*Information::modify(studenthead,longid)system(”cls);coutt請(qǐng)輸入須修改的員工工資信息-n”endl;p1=(student)malloc(LEN);/使p1指向輸入的結(jié)點(diǎn)p1=head;否則將頭指針賦給plwhile(id!=p1-idp1next!=NULL)尋找結(jié)點(diǎn)當(dāng)pl所指的職工編號(hào)不是輸入的職工編號(hào)并且pl所指的next指針不為空pl=plnext;/p2指向原pl指向的結(jié)點(diǎn)pl后移一個(gè)結(jié)點(diǎn)if(id=plid)如果要查找的職工編號(hào)是pl所指的職工編
10、號(hào)cout”你需要修改的員工信息如下:n”;coutn”其他獎(jiǎng)cout丨編號(hào)丨丨姓名丨丨性別I丨基本工資丨丨加班工資丨其他獎(jiǎng)金丨丨總額丨n;cout-n”coutsetw(6)p1-idsetw(10)namesetw(10)p1sexsetw(10)paid0setw(10)p1-paid1setw(12)paid2setw(12)p1-totalendl;cout”-n”;coutid)01I(plid)100000)cout0100000):”;cinpl-id;/將輸入的編號(hào)存放到pl所指結(jié)構(gòu)體的數(shù)組id中coutp1name;將輸入的姓名存放到結(jié)構(gòu)體名為pl的數(shù)組name中cout性
11、別:”;cinpl-sex;coutplpaid0;while(plpaid0)paid0)l00000)cout對(duì)不起您的輸入錯(cuò)誤!請(qǐng)重新輸入(0l00000):”;coutplpaidl;while(plpaidl)paidl)l00000)cout”對(duì)不起您的輸入錯(cuò)誤!請(qǐng)重新輸入(0l00000):;cinp1paid1;將輸入的加班工資存放到pl所指結(jié)構(gòu)體的數(shù)組paid中coutpaid2;while(plpaid2)0II(plpaid2)l00000)cout0100000):;cinp1-paid2;/將輸入的其他獎(jiǎng)金存放到p1所指結(jié)構(gòu)體的數(shù)組paid中p1-total=p1pa
12、id0+p1paid1+p1-paid2;/計(jì)算總分else信息getchar();return(head);/-查找職工信息studentInformation::find(student*head,longid)定義一個(gè)指向structstudent的結(jié)構(gòu)體指針函數(shù)*find()用來(lái)查找職工信息。system(cls”)if(head=NULL)若調(diào)用次函數(shù)以前的頭指針head為空cout”這是一個(gè)空表,請(qǐng)先輸入員工信息!n”;return(head);elsep1=head;/否則將頭指針賦給p1while(id!=p1idp1next!=NULL)尋找結(jié)點(diǎn)當(dāng)pl所指的職工編號(hào)不是輸入的
13、職工編號(hào)并且pl所指的next指針不為空p1=p1next;p2指向原p1指向的結(jié)點(diǎn)p1后移一個(gè)結(jié)點(diǎn)if(id=p1id)如果要查找的職工編號(hào)是p1所指的職工編號(hào)cout-n”;cout”丨編號(hào)I丨姓名I丨性別丨丨基本工資丨丨加班工資丨丨其他獎(jiǎng)金I丨總額丨n”;coutcoutsetw(6)p1idnamesetw(10)p1sexsetw(10)p1-paid0setw(10)p1paid1setw(12)p1paid2setw(12)p1totalendl;cout-n”;elsecout”信息中沒(méi)有編號(hào)為vid”的員工。n;結(jié)點(diǎn)沒(méi)找到return(head);/-定義paixu()函數(shù)將
14、職工的工資總額從大到小排列并輸出system(”cls”);inti,k,m=0,j;student*pN;/定義一個(gè)指向structstudent的結(jié)構(gòu)體指針數(shù)組pif(head!=NULL)如果頭指針是空則繼續(xù)m=count(head);cout”-n”;cout”大員工工資統(tǒng)計(jì)表*n”;coutv-n;coutv”丨編號(hào)丨丨姓名丨丨性別丨丨基本工資II加班工資丨丨其他獎(jiǎng)金II總額丨丨名次丨n”;couttotalvpj-total)p2=pk;pk=pj;pj=p2;/從大到小排列的指針for(i=0;im;i+)/-求各工資的平均值的函數(shù)voidInformation:average(
15、student*head)intk,m;floatarg1=0,arg2=0,arg3=0;if(head=NULL)如果頭指針是空則繼續(xù)cout”這是一個(gè)空表,請(qǐng)先輸入員工信息!n”;elsem=count(head);p1=head;for(k=0;kpaid2;p1=p1next;arg1/=m;arg2/=m;arg3/=m;coutV大各項(xiàng)工資的平均值*n”;cout”-n;coutV”tt基本工資的平均值:Vsetw(4)Varg1”n”tt加班工資的平均值:setwarg2”n”tt獎(jiǎng)金的平均值:”setw(4)arg3n;cout”-n”/-菜單voidMenu()Inform
16、ationperson;studenthead=NULL;intchoice;longi;head=person。Read();docoutvt探”endl;coutv址”endl;coutv址歡迎進(jìn)入員工信息統(tǒng)計(jì)管理”endl;coutvt探vvendl;coutt探”endl;cout”tvendl;coutt相關(guān)操作選項(xiàng)vendl;cout”t”endl;coutt探vendl;coutt探vendl;coutt探endl;coutt探1。員工數(shù)據(jù)輸入endl;coutvt探vendl;coutv址2.顯示員工工資endl;coutt探vendl;coutt探3.排序統(tǒng)計(jì)工資endl;c
17、outt探vendl;coutt探4.查找員工工資vvendl;coutv址endl;coutt探5。增加員工工資vendl;coutvt探vvendl;coutt探6.刪除員工工資endl;coutt探vvendl;coutvv乜7。修改員工信息vendlcoutt探vendl;coutt探8。成功保存信息vendl;coutt探vendl;coutt探9.安全退出系統(tǒng)vendl;coutt探endl;coutvt探nendl;cout請(qǐng)輸入您的選擇(0-9):”;cinchoice;while(choicevOIIchoice9)coutv對(duì)不起您的輸入錯(cuò)誤!請(qǐng)輸入您的選擇(0-9):;c
18、inchoice;head=person。Read();switch(choice)case1:head=person。creat();break;case2:/head=person。Read();person。output(head);break;case3:head=person。Read();person.paixu(head);person.average(head);coutv”參加工作的員工人數(shù)為:”person。count(head)人nn”;break;case4:/head=person.Read();couti;while(i01Ii100000)cout”對(duì)不起您的輸入錯(cuò)誤!
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 防火疏散的應(yīng)急預(yù)案
- 二手房買賣合同終止協(xié)議模板
- 業(yè)務(wù)合同模板:勞動(dòng)聘用關(guān)鍵條款
- 臨時(shí)借用合同范文
- 臨時(shí)工雇傭合同書(shū)
- 三方合作合同模板范本
- 云計(jì)算服務(wù)框架合同
- 事業(yè)單位合同到期人員何去何從
- 二手汽車轉(zhuǎn)讓合同協(xié)議
- 個(gè)人土地承包經(jīng)營(yíng)權(quán)轉(zhuǎn)讓合同范本
- 華為經(jīng)營(yíng)管理-華為的研發(fā)管理(6版)
- 鋰離子電池生產(chǎn)工藝流程圖
- 平衡計(jì)分卡-化戰(zhàn)略為行動(dòng)
- 幼兒園小班下學(xué)期期末家長(zhǎng)會(huì)PPT模板
- 礦山安全培訓(xùn)課件-地下礦山開(kāi)采安全技術(shù)
- 【課件】DNA片段的擴(kuò)增及電泳鑒定課件高二下學(xué)期生物人教版(2019)選擇性必修3
- GB/T 6417.1-2005金屬熔化焊接頭缺欠分類及說(shuō)明
- 2023年湖北成人學(xué)位英語(yǔ)考試真題及答案
- 《社會(huì)主義市場(chǎng)經(jīng)濟(jì)理論(第三版)》第七章社會(huì)主義市場(chǎng)經(jīng)濟(jì)規(guī)則論
- 《腰椎間盤突出》課件
- simotion輪切解決方案與應(yīng)用手冊(cè)
評(píng)論
0/150
提交評(píng)論