公司工資管理系統(tǒng)程序設計報告_第1頁
公司工資管理系統(tǒng)程序設計報告_第2頁
公司工資管理系統(tǒng)程序設計報告_第3頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、綜合實驗報告面向對象程序設計面向對象程序設計綜合實驗報告一、課程設計題目 2二、主要功能分析 3三、設計思路 3四、編碼實現(xiàn) 3五、程序使用注意事項 25六、運行結果 25七、心得及體會 28一、課程設計題目公司工資管理系統(tǒng)i面向對象程序設計綜合實驗報告設計要求:(1) 公司主要有4類人員:經理、技術員、銷售員、銷售經理。要求存儲 這些人的職工號、姓名、月工資、崗位、年齡、性別等信息。(2) 工資的計算辦法:經理:固定月薪為8000;技術員:工作時間*小時工資(100元每小時);銷售員:銷售額* 4勉成; 銷售經理:底薪(5000)+所轄部門銷售額總額* 0.5%;(3) 類的層次結構大體如下

2、:(4)輸入數(shù)據(jù)要求每類人員不能少于 4人,并按以下格式輸出:職工 號姓名性別年齡崗位工資排名及某銷售經理所轄部門各銷售員的業(yè)績及自己的工資表:職工 號姓名銷售 額銷售額合計:(5)總體設計,要有一個菜單,用于選擇各項功能,其中 數(shù)據(jù)錄入:輸入各種數(shù)據(jù);數(shù)據(jù)統(tǒng)計:各銷售經理的工資計算及最終按工資進行的冒泡排序; 數(shù)據(jù)打?。捍蛴∩鲜霰砀?;數(shù)據(jù)備份:把相關數(shù)據(jù)寫入文件;退出:退出本系統(tǒng);注:各項菜單都調用一個函數(shù)來實現(xiàn)。二、主要功能分析1、資料錄入:通過鍵盤輸入公司各項職員的各項數(shù)據(jù);2、資料統(tǒng)計:統(tǒng)計各銷售經理下屬銷售員的銷售額及銷售額之和;銷售經理按 工資進行冒泡排序;3、數(shù)據(jù)打?。喊凑毡砀竦?/p>

3、格式在屏幕上輸出各類員工的信息;4、資料備份:把各類員工的數(shù)據(jù)信息寫入文件中保存;5、退出:退出本系統(tǒng)三、設計思路1、整體考慮程序應該實現(xiàn)的功能,有數(shù)據(jù)輸入,數(shù)據(jù)統(tǒng)計,數(shù)據(jù)打印,數(shù)據(jù)備 份和退出系統(tǒng)5個。2、 首先定義了一個Employee的雇員基類,然后由此派生出Technician ,Manager, Seller三個類,并且Manager類和Seller類為虛擬繼承。然后定義一個 Salesmanager類多重繼承于Manager類和Seller類。所有的繼承都為共有繼承。3、通過switch語句判斷進行什么操作。四、編碼實現(xiàn)#in clude#in clude#in clude#in

4、clude#in cludeusing n amespace std;ofstream outfile;const int B=4;const int T=4;con st int SB=2;const int S=4;double wage1(i nt n);經理信息void man ageri nformati on();void tech nicianin formatia n();/技術員信息void salesma nageri nformati on();銷售經理信息void selleri nformatio n();銷售員信息void total();/ 求工資函數(shù)4void

5、maopao();/void yejibiao();void SBra nk();void excelhead();void excelmiddle();void excele nd();冒泡排序進行工資排列打印業(yè)績表格銷售經理工資排序表頭表中表尾void backup_yejibiao();/void backup_SBra nk();/各項信息表格void backup_tech nicia nin formatia n();/備份void backup_ma nageri nformati on();/void backup_salesma nageri nformati on();/v

6、oid backup_selleri nformati on();/ class Employee public:int nu me() retur n(nu m);職工號stri ng n am()return( name);/名字char showsex() retur n( sex); /性另 Uint showage() retur n( age);/年齡protected:int num; stri ng n ame; char sex;int age;int wage;面向對象程序設計綜合實驗報告;class Man ager:virtual public Employee元為經理

7、固定public:Ma nager()8000月薪wage=8000;int man agerwage() retur n( wage); void set_i n()cout經理的編號:; cinnum;coute ndl;cout其姓名:;cinn ame;coute ndl;cout sex;coute ndl;cout age; coute ndl;class Tech nicia n: public Employeepublic:void set_i n()cinnum;coute ndl;cout其姓名:;cinn ame;coute ndl;cout sex;coute ndl;

8、cout age;coute ndl;cout worktime;coute ndl;in t get_wage()/技術員工資算法元為單位小時工資return (worktime*100);/100protected:int worktime;class Seller:virtual public Employeepublic:int boss nu me() retur n( boss nu m);int mon ey() retur n( salesm on ey);void set_ in()cout銷售員的編號:;cinnum;coute ndl;6面向對象程序設計綜合實驗報告cou

9、t其姓名:;cinn ame;coute ndl;cout sex;coute ndl;cout age;coute ndl;cout salesm on ey;coute ndl;cout boss num; coute ndl;double get_wage()銷售員工資算法retur n (salesm on ey*0.04);protected:int salesm on ey;int boss num;class Salesma nager:public Man ager,public Sellerpublic:Salesma nager()allsale=0;void set_ i

10、n()cout銷售經理的編號:;8面向對象程序設計綜合實驗報告cinnum;coute ndl;cout其姓名:;cinn ame;coute ndl;cout sex;coute ndl;cout age;coute ndl;double get wage()/銷售經理工資算法return (5000+allsale*0.005);5000元為銷售經理底薪protected:int allsale;Man ager bossB;Tech nician tech niT;Seller salesma n S;Salesma nager salesbossSB;int salesbosstota

11、leSB=0;Salesma nager excha ngeSB;int excha nge;int b=O,t=O,sb=O,s=O;int In putboss()for(int i=O;iB;i+)9面向對象程序設計綜合實驗報告e ndl;total()bossi.set_i n();cout return 0;/經理數(shù)據(jù)處理函數(shù)int In puttech ni()for(i nt j=O;jT;j+)tech nij.set_ in();cout e ndl;return 0;/技術員數(shù)據(jù)處理函數(shù)int In putsalesma n()for(i nt n=O;nS;n+)sale

12、sma nn .set_ in();cout e ndl;return 0;/銷售員數(shù)據(jù)處理函數(shù)int In putsalesboss()for(int m=0;mSB;m+)salesbossm.set_i n();return 0;/銷售經理數(shù)據(jù)處理函數(shù)double wage1(i nt n)return(5000+n*0.005);/以下為第二步計算工資代碼void/求總銷售額for(i nt n=O;nS;n+)for(i nt m=O;mSB;m+)if(salesma nn .boss nu me()=salesbossm. nu me()salesbosstotalem+=sal

13、esma nn .m on ey();break;void/冒泡法排序for(int n=1;nSB;n+)for(i nt m=1;msalesbosstotalem) excha ngeSB=salesbossm-1; salesbossm-1=salesbossm; salesbossm=excha ngeSB;excha nge=salesbosstotalem-1;salesbosstotalem-1=excha nge; salesbosstotalem=excha nge;void yejibiao()/打印表格 for(int n=0;nSB;n+)salesboss n. n

14、am()下屬的銷售員業(yè)績?yōu)?e ndl;maopao()銷售經理cout 職工號為salesbossn.nume()12couti e ndl;I職工號丨姓名cout面向對象程序設計綜合實驗報告售額 丨endl;for(i nt j=O;jS;j+)if(salesma nj.boss nu me()=salesboss n . nu me()cout |111 e ndl;cout | setw(12)salesmanj.nume()Isetw(12)salesma nj. nam()|setw(14)salesmanj.money()| endl;cout|111e ndl;cout| 銷

15、售額總計 : Isetw(28)salesbosstotalen| endl;cout 111 e ndl;void SBra nk()cout銷售經理按工資排序為:-1;n-)excelmiddle();cout|setw(8)salesboss n. nu me()|setw(8)salesboss n. nam()|setw(8)salesboss n.showage()I setw(8) 銷 售經理| setw(8)wage1(salesbosstotalen)| endl;excele nd();/以下為職工信息一覽表代碼 void tech nicianin formatia n(

16、)excelhead();for(int k=0;kT;k+)excelmiddle();cout|setw(8)tech ni k. nu me()|setw(8)tech nik. nam()|setw (6) tech nik.showsex()|setw(8)technik.showage()| setw(8)技術員|setw(8)technik.get_wage()| endl;excele nd();void man ageri nformatio n()excelhead();for(int k=0;kB;k+)excelmiddle();cout|setw(8)bossk. n

17、u me()|setw(8)bossk .n am()I setw(6)bossk.showsex()| setw(8)bossk.showage() | setw(8) 經理|setw(8)bossk.managerwage()| -1;k-)excelmiddle();cout|setw(8)salesbossk. nu me()|setw(8)salesbossk. nam()|setw(6)salesbossk.showsex()|setw(8)salesbossk.showage()| setw(8) 銷售經理| setw(8)wage1(salesbosstotalek)| end

18、l;excele nd();void selleri nformatio n()cout I1111111e ndl;cout |職工號| 姓名|性別| 年齡 | 崗位| 工 資|所屬部門經理編號|e ndl;for(int k=0;kS;k+)cout |1111111e ndl;cout|setw(8)salesma n k. nu me()|setw(8)salesma n k. nam()|setw(8)salesmank.showage()| setw(8)銷售員Isetw(8)salesma n k.get_wage()|setw(16)salesmank.bossnume()|

19、endl;cout 11111111e ndl;/各步表格的表頭,表中和表尾void excelhead()cout I111111 endl;cout |職工號| 姓名|性別I 年齡 I 崗位I 工 資 | endl;void excelmiddle()cout |111111 endl;void excele nd()cout 1111111 e ndl;II資料備份void backup_yejibiao()outfile.ope n(”備份資料.doc,ios:out);16面向對象程序設計綜合實驗報告for(int n=0;*SB;n+)outfile 職工號為salesbossn.

20、nume()銷售經理salesboss n. nam()下屬的銷售員業(yè)績?yōu)?e ndl;outfile i111e ndl;outfile丨職工號丨姓名 丨 銷售額丨e ndl;for(i nt j=O;jS;j+)if(salesma nj.boss nu me()=salesboss n . nu me()outfile |11T endl;outfile | setw(12)salesma nj. nu me()|setw(12)salesma nj. nam()|setw(14)salesmanj.money()| endl;outfile|111e ndl;outfile| 銷 售

21、額 總 計 :|setw(28)salesbosstotalen| endl;outfile 111e ndl;void backup_SBra nk()outfile銷售經理按工資排序為:e ndl;outfile18面向對象程序設計綜合實驗報告e ndl;outfile |職工號丨 姓名丨性別丨 年齡 丨 崗位丨 工資 | -1;n-)outfile |111111e ndl;outfile|setw(8)salesboss n . nu me()|setw(8)salesboss n. nam()|setw(6)salesboss n.showsex()|setw(8)salesboss

22、n.showage()| setw(8) 銷售經理| setw(8)wage1(salesbosstotalen)| endl;outfile 1111111 e ndl;void backup_tech nicianin formatia n()outfile職工基本情況一覽表如下e ndl;outfile技術員endl;outfile i111111 e ndl;outfile |職工號| 姓名|性別| 年齡 | 崗位| 工資 | endl;for(int k=0;kT;k+)outfile |1111H1e ndl;setw(8)tech nik. nam()|setw (6) tech

23、 nik.showsex()|setw(8)technik.showage()| setw(8)技術員|setw(8)technik.get_wage()| endl;outfile 1111111 e ndl;void backup_ma nageri nformati on()outfile經理endl;outfile i111111 e ndl;outfile |職工號| 姓名|性別| 年齡 | 崗位|工資 | endl;for(int k=O;kB;k+)outfile |1111H1e ndl;outfile|setw(8)bossk. nu me()|setw(8)bossk.na

24、m()| setw(6)bossk.showsex()| setw(8)bossk.showage() | setw(8) 經理| setw(8)bossk.managerwage() | endl;outfile 1111111 e ndl;void backup_salesma nageri nformati on()outfile銷售經理endl;21面向對象程序設計綜合實驗報告outfile |111111 e ndl;outfile |職工號丨 姓名丨性別丨 年齡 丨 崗位丨 工資 | endl;for(int k=O;kSB;k+)outfile |1111H1e ndl;outf

25、ile|setw(8)salesbossk. nu me()|setw(8)salesbossk. nam()|setw(6)salesbossk.showsex()|setw(8)salesbossk.showage()| setw(8) 銷售經理| setw(8)wage1(salesbosstotalek)| endl;outfile 1111111e ndl;void backup_selleri nformatio n()outfile銷售員endl;outfilee ndl;outfile | 職工號 |姓名|性別| 年齡 | 崗位|outfile|setw(8)salesma n

26、 k. nu me()22工資|所屬部門經理編號|e ndl;for(int k=0;kS;k+) outfile |H11e ndl;setw(8)salesma n k. nam()面向對象程序設計綜合實驗報告24/資料備份int mai n ()setw(6)salesma n k.showsex()|setw(8)salesmank.showage()| setw(8)銷售員|setw(8)salesma n k.get_wage()|setw(16)salesmank.bossnume()| endl;outfile 11111111e ndl;outfile.close();for

27、(;)cout小型公司工資管理系統(tǒng)e ndl;cout 11e ndl;cout |請選擇您所需要的操作| endl;cout |數(shù)據(jù)輸入:1,并按回車鍵| endl;cout |資料統(tǒng)計:2,并按回車鍵| endl;cout |數(shù)據(jù)打印:3,并按回車鍵| endl;cout |資料備份:4,并按回車鍵| endl;cout |退出系統(tǒng):5,并按回車鍵| endl;cout 11e ndl;cout select;/根據(jù)序號進行選擇操作switch(select)/建立選項表case 1:for(;)面向對象程序設計綜合實驗報告/輸入數(shù)據(jù)選項中的子選項cout小型公司工資管理系統(tǒng)e ndl;c

28、out |1e ndl;cout |請選擇您所需要的操作e ndl;cout|經理數(shù)據(jù)輸入:1,并按回車鍵e ndl;cout|技術員數(shù)據(jù)輸入:2,并按回車鍵e ndl;cout|銷售員數(shù)據(jù)輸入:3,并按回車鍵e ndl;cout|銷售經理數(shù)據(jù)輸入:4,并按回車鍵e ndl;cout|返回上一級:5,并按回車鍵e ndl;cout 1e ndl;cout choice;switch(choice)case 1:In putboss(); b+;break;case 2:In puttech ni ();break;case 3:In putsalesma n();s+;break;case 4

29、:In putsalesboss();sb+;break;case 5:break;default:cout輸入有誤,請重新輸入.endl;if(choice=5) break;break;case 2:if(s=0) cout尚未輸入銷售員數(shù)據(jù).e ndl;if(sb=0) cout尚未輸入銷售經理數(shù)據(jù).e ndl;if(s=0|sb=0) break;maopao();yejibiao();SBra nk();break;case 3:cout請等待.endl;if(t!=O|b!=O|sb!=O|s!=O)26面向對象程序設計綜合實驗報告cout職工基本情況一覽表如下endl; if(t

30、!=O)cout技術員endl;tech nicianin formatia n();coute ndl;if(b!=0)cout經理endl;man ageri nformatio n();cout endl;if(sb!=O)cout銷售經理endl;salesma nageri nformatio n();coute ndl;if(s!=0)cout銷售員endl;selleri nformatio n();cout endl;if(t=O&b=0&sb=O&s=0)cout尚未錄入任何人員資料.endl;elseif(t=0)cout尚未錄入技術員數(shù)據(jù) .endl;if(b=0)cou

31、t尚未錄入經理數(shù)據(jù).endl;if(sb=0)cout尚未錄入銷售經理數(shù)據(jù).endl;if(s=0)cout尚未錄入銷售員數(shù)據(jù).endl;if(t=O|b=O|sb=O|s=O)cout請錄入所需打印數(shù)據(jù)或進行其它操作endl;break;case 4:if(t=O|b=O|sb=O|s=O)cout人員數(shù)據(jù)輸入尚未完全,份.e ndl;break;backup_yejibiao();backup_SBra nk();backup_tech ni cia nin formatia n();backup_ma nageri nformati on();backup_salesma nageri nformati on

溫馨提示

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

評論

0/150

提交評論