c++公司人事管理_第1頁
c++公司人事管理_第2頁
c++公司人事管理_第3頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、/852369.cpp:定義控制臺應(yīng)用程序的入口點。/#includestdafx.h#include#include#include#include#include#include#include#include#includeusingnamespacestd;classStaff/聲明員工類protected:intnum,post;charname20;floatincome;public:friendclassBoss;/在一個非成員函數(shù)中,要想訪問類的私有數(shù)據(jù)成員/,該函數(shù)必須聲明為該類的友元函數(shù)Staff()/聲明一個無參的構(gòu)造函數(shù)StaffStaff(intid,char*Na

2、me,intpost,doublepay);/定義一個有參的構(gòu)造函數(shù),用參數(shù)的初始化表對數(shù)據(jù)成員初始化virtualdoublePay()return0;Staff:Staff(intid,char*Name,intPost,doublepay)/在類外定義有參構(gòu)造函數(shù)num=id;post=Post;income=pay;strcpy(name,Name);classTechniqueManager:publicStaff/聲明技術(shù)經(jīng)理類public:TechniqueManager(intid,char*Name,intpost,doublepay):Staff(id,Name,post,

3、pay)doublePay()returnincome=5000;voiddisplay();TechniqueManager();voidTechniqueManager:display()/構(gòu)造函數(shù)(Pay();coutnumname”技術(shù)經(jīng)理incomeendl;classBusinessManager:publicStaff/聲明業(yè)務(wù)經(jīng)理類(public:doubleAmount,Programe;BusinessManager(intid,char*Name,intpost,doubleamount,doubleprograme,doublepay);voidSetAmount(do

4、ubles,doubled);doublePay();BusinessManager();BusinessManager:BusinessManager(intid,char*Name,intpost,doubleamount,doubleprograme,doublepay):Staff(id,Name,post,pay)/構(gòu)造函數(shù)Amount=amount;Programe=programe;voidBusinessManager:SetAmount(doubles,doubled)Amount=s;Programe=d;doubleBusinessManager:Pay()returni

5、ncome=2000+Amount*15/100+Programe*10/100;classSecretary:publicStaff/聲明文秘類public:Secretary(intid,char*Name,intpost,doublepay):Staff(id,Name,post,pay)doublePay()returnincome=1500;voiddisplay();Secretary();/構(gòu)造函數(shù)voidSecretary:display()(Pay();coutnumname文秘incomeendl;classFinancial:publicStaff/聲明財務(wù)人員類(pub

6、lic:Financial(intid,char*Name,intpost,doublepay):Staff(id,Name,post,pay)doublePay()returnincome=2000;voiddisplay();Financial();voidFinancial:display()/構(gòu)造函數(shù)Pay();coutnumname財務(wù)incomeendl;classSales:publicStaff/聲明業(yè)務(wù)人員類public:doubleAmount,Programe;Sales(intid,char*Name,intpost,doubleamount,doubleprogram

7、e,doublepay);voidSetAmount(doubles,doubled);virtualdoublePay();Sales();Sales:Sales(intid,char*Name,intpost,doubleamount,doubleprograme,doublepay):Staff(id,Name,post,pay)/在類外定義有參構(gòu)造函數(shù)Amount=Amount;/銷售額Programe=programe;/項目額doubleSales:Pay()returnincome=Amount*15/100+Programe*10/100;voidSales:SetAmount

8、(doubles,doubled)(Amount=s;Programe=d;classTechnician:publicStaff/聲明技術(shù)員類(public:doubleLine;Technician(intid,char*Name,intpost,doubleline,doublepay):Staff(id,Name,post,pay)(Line=line;doublePay();voiddisplay();Technician();doubleTechnician:Pay()/在類外定義無參構(gòu)造函數(shù)returnincome=Line;voidTechnician:display()Pay

9、();coutnumname技術(shù)人員incomeendl;classBoss/聲明老板類public:Boss();voidAdd();voidSearch();voidDelete();voidModify();voidDisPlay();Boss();voidBoss:Add()time_tt=time(0);chartmp64;strftime(tmp,sizeof(tmp),%Y/%m/%d%X%A本年第j夭z”,localtime(&t);puts(tmp);Staffp,*p1;intpost,id;charName20,ch;doublepay,Amount,sell,progr

10、ame;coutendl;coutendl;coutnnnnttt”添加職工信息endl;coutttt”1技術(shù)經(jīng)理endl;coutttt2業(yè)務(wù)經(jīng)理endl;coutttt”3文秘endl;coutttt”4業(yè)務(wù)人員endl;coutttt”5技術(shù)人員endl;coutttt”6財務(wù)人員endl;dofstreamfile(company.dat”,ios:out|ios:app|ios:binary);/以寫,追加,二進制形式打開文件if(file.fail()coutcannotopenfile!endl;coutendlpost;coutid;coutName;switch(post)

11、case1:p1=newTechniqueManager(id,Name,post,0);/聲明一個基類的指針指向派生類,用new創(chuàng)建了派生類的對象pay=(*p1).Pay();p=TechniqueManager(id,Name,post,pay);break;case2:coutsell;coutprograme;coutendl;p1=newBusinessManager(id,Name,post,sell,programe,0);pay=(*p1).Pay();p=BusinessManager(id,Name,post,sell,programe,pay);break;case3:

12、p1=newSecretary(id,Name,post,0);pay=(*p1).Pay();p=Secretary(id,Name,post,pay);break;case4:coutsell;coutprograme;coutendl;p1=newSales(id,Name,post,sell,programe,0);pay=(*p1).Pay();p=Sales(id,Name,post,sell,programe,pay);break;case5:coutAmount;p1=newTechnician(id,Name,post,Amount,0);pay=(*p1).Pay();p=

13、Technician(id,Name,post,Amount,pay);break;case6:p1=newFinancial(id,Name,post,0);pay=(*p1).Pay();p=Financial(id,Name,post,pay);break;file.write(char*)(&p),sizeof(p);/以寫的方式讀入文件中file.close();coutch;if(ch=n|ch=N)break;while(ch=y|ch=Y);system(cls);voidBoss:Search()/查找員工信息time_tt=time(0);chartmp64;strftim

14、e(tmp,sizeof(tmp),%Y/%m/%d%X%A本年第j夭%z,localtime(&t);puts(tmp);intd;Staffp;charch;查找員工信息endl;技術(shù)經(jīng)理endl;業(yè)務(wù)經(jīng)理endl;文coutttt1coutttt”2-coutttt”3-業(yè)務(wù)人員技術(shù)人員財務(wù)人員秘endl;endl;endl;endl;coutnnnnnncoutttt4-coutttt5-coutttt”6-docout請輸入崗位:;cind;coutendl;fstreamfile(company.dat,ios:in|ios:binary);/以讀的方式打開文件,if(file.f

15、ail()coutcannotopenthefile!endl;)while(file.read(char*)&p,sizeof(p)/文件中的內(nèi)容一個一個的讀出來,不停止,直到文件尾if(d=1&p.post=1)p.incomeendl;)elseif(d=2&p.post=2)p.incomeendl;)elseif(d=3&p.post=3)p.incomeendl;)elseif(d=4&p.post=4)p.incomeendl;)elseif(d=5&p.po

16、st=5)(p.incomeendl;)elseif(d=6&p.post=6)p.incomeendl;)file.closeQ;coutch;if(ch=n|ch=N)(break;while(ch=y|ch=Y);system(cls);voidBoss:Modify()修改信息(time_tt=time(0);chartmp64;strftime(tmp,sizeof(tmp),%Y/%m/%d%X%A本年第j夭z”,localtime(&t);puts(tmp);charName20;Staffp310;Staff*p1;S

17、taffp;intpost,id,i=0,j=0;doublepay,Amount,sell,programe;修改員工信息endl;coutnnnnnncoutttt1coutttt2coutttt3coutttt4coutttt5coutttt6技術(shù)經(jīng)理endl;業(yè)務(wù)經(jīng)理endl;文秘endl;業(yè)務(wù)人員endl;技術(shù)人員endl;財務(wù)人員endl;coutid;fstreamfile(company.dat,ios:in|ios:binary);if(file.fail()(coutcannotopenthefile!endl;file.seekg(0,ios:beg);/把文件指針放在文

18、件的開始while(file.read(char*)&p,sizeof(p)(p3i=p;if(p3i.num=id)(coutpost;coutName;coutendl;switch(post)(case1:p1=newTechniqueManager(id,Name,post,0);pay=(*p1).Pay();p3i=TechniqueManager(id,Name,post,pay);break;case2:coutsell;coutprograme;coutendl;p1=newBusinessManager(id,Name,post,sell,programe,0);pay=(

19、*p1).Pay();p3i=BusinessManager(id,Name,post,sell,programe,pay);break;case3:p1=newSecretary(id,Name,post,0);pay=(*p1).Pay();p3i=Secretary(id,Name,post,pay);break;case4:coutsell;coutprograme;coutendl;p1=newSales(id,Name,post,sell,programe,0);pay=(*p1).Pay();p3i=Sales(id,Name,post,sell,programe,pay);br

20、eak;case5:coutAmount;coutendl;p1=newTechnician(id,Name,post,Amount,0);pay=(*p1).Pay();p3i=Technician(id,Name,post,Amount,pay);case6:p1=newFinancial(id,Name,post,0);pay=(*p1).Pay();p3i=Financial(id,Name,post,pay);break;i+;file.close();ofstreamfile1(company.dat”,ios:out|ios:binary);if(file1.fail()(cou

21、tcannotopenthefile!endl;/把修改后的信息存入文件中for(j=0;ji;j+)(file1.write(char*)&p3j,sizeof(p3j);file1.close();system(cls);voidBoss:Delete()/刪除人員-(time_tt=time(0);chartmp64;strftime(tmp,sizeof(tmp),%Y/%m/%d%X%A本年第%j夭z”,localtime(&t);puts(tmp);intnum,i,j=0;Staffp110;Staffp;charch;do(i=0;cout刪除員工信息”;coutnum;fst

22、reamfile(company.dat,ios:in|ios:binary);/輸入文件流類if(file.fail()(coutcannotopenthefile!endl;while(file.read(char*)&p,sizeof(p)(if(p.num=num)(switch(p.post)(case1:技術(shù)經(jīng)理p.incomeendl;break;case2:財務(wù)經(jīng)理p.incomeendl;break;case3:文秘p.incomeendl;break;case4:coutp.nump.

23、incomeendl;break;case5:業(yè)務(wù)人員coutp.nump.incomeendl;break;case6:”技術(shù)員coutp.nump.incomeendl;break;財務(wù)人員else(p1i=p;i+;file.close();fstreamfile1(company.dat”,ios:out|ios:binary);/輸出文件流類if(file1.fail()(coutcannotopenthefile!endl;for(j=0;ji;j+)(file1.write(char*)&p1j,sizeof(p1j);file1.close(

24、);coutch;if(ch=n|ch=N)(break;while(ch=y|ch=Y);system(cls);voidBoss:DisPlay()(/顯示人員信息Staffp;/P是職員類的對象cout編號員工姓名endl;級別工fstreamfile(company.dat,ios:in|ios:out|ios:binary);if(file.fail()(coutcannotopenthefile!endl;while(file.read(char*)(&p),sizeof(p)(/cout編號endl;switch(p.post)(姓名case1:coutsetw(6)技術(shù)經(jīng)理case2:coutsetw(6)業(yè)務(wù)經(jīng)理case3:coutsetw(6)文秘case4:coutsetw(6)業(yè)務(wù)人員case5:coutsetw(6)技術(shù)人員case6:coutsetw(6)財務(wù)人員file.close();coutn按任意鍵返回主菜單getch();getchar();”p.num”p.incomeendl;break;p.nump.incomeendl;break;p.nump.incomeendl;p.nump.incomeendl;p.nump.incomeendl;break;p.nump.inc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論