




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目錄一、實習容1二、設計思路2 三、程序清單3四、運行結果15五、程序使用說明20六、總結及心得體會21一、實習容課程設計的題目: 小型公司工資管理系統設計設計說明:公司主要有四類人員:經理、技術員、銷售員、銷售經理。程序要求存儲這些人的職工號、 、月工資、年齡、性別等信息。并且應用程序中要求給出菜單,用于選擇各項功能。一、程序要現的功能即菜單目錄有:1、 數據輸入:輸入各種數據;2、 數據統計:統計各銷售經理下屬銷售員的銷售額及銷售額之和;銷售經理工資進行冒泡排序;3、 數據打印:打印各類員工的數據信息;4、 數據備份:把各類員工的數據信息寫入文件中保存;5、 退出:退出本系統,即結束程序的
2、運行。二、工資的計算方法A:經理:固定月薪為8000元;B:技術員:工作時間*小時工資(100元/小時);C:銷售員:銷售額*4%提成;D:銷售經理:底薪(5000) +所轄部門銷售額總額* 0.5%。三、類的層次結構大體如下雇員類技術員類經理類 銷售員類銷售經理類二、設計思路1( 1 )首先我們要搞清楚各類之間的繼承關系,設置基類employee ,其派生類manager,technician,salesman 。再以 manager 類為基類, 再派生一個salesmanager類,將各類的數據成員設計成protected ,方便派生類對基類的繼承;( 2) 在 public 里編寫數據輸
3、入的函數, 在主函數中輸出菜單并定義各類的對象,通過對象來調用數據輸入函數;2( 1)在基類 employee 中補充幾個返回各類數據的函數以用于返回輸入的各類值;( 2)在主函數用冒泡法對銷售經理的工資進行排序,定義一個wage 來將各銷售經理下面的銷售員的銷售額進行儲存,定義一個all 用于計算銷售經理的銷售總額,以便于下面對其進行工資的計算;( 3)第2, 3 , 4 步都用大量的 for 循環進行輸出,以實現表格的形成還有表格中數據的輸入; 在主函數定義各類的對象, 然后都是直接通過類的對象調用類的函數,運用 for 循環進行打印,統計;3備份參照課本格式,選擇路徑及格式,運用 for
4、 循環備份;就是那個fstream 之類的東西; 、退出系統用exit(5) 函數實現;4 主函數運用 switch 語句, 將上述功能編為 case 15 , 每個 case 后添加 break;5程序結束。以上是我所認為的該程序的幾個要點 .三、程序清單#include<iostream>#include<string>#include<cmath>#include<iomanip>#include<fstream>using namespace std;const N=2;fstream outfile;class employ
5、ee / 基類,雇傭者protected:string name;char sex;int age;public:virtual void display() cout<<" 其: "cin>>name;cout<<" 性別 (m/w) : "cin>>sex;cout<<" 年齡: "cin>>age;string nam()return name;char se()return sex;/技術員類int ag()return age;class technic
6、ian: public employeepublic:int worktime;int number1;public:void display1()cout<<" 技術員的編號:cin>>number1;employee:display();cout<<" 工作時間 "cin>>worktime;int time()return worktime;int numb1()return number1;/class manager : public employee / 經理類protected:int number2;
7、public:void display2()cout<<" 經理的編號: "cin>>number2;employee:display();int numb2()return number2;/class salesman : public employee / 銷售員類protected:int total;int boss;int number3;public:void display3()II.cout<<" 銷售員的編號:cin>>number3;employee:display();cout<<
8、" 銷售額: "cin>>total;cout<<" 所屬銷售經理的編號:cin>>boss;int hismanager()return boss;int xiaoshoue()return total;int numb3()return number3;/class salesmanager : public manager/ 銷售經理類protected:int number4;public:void display4()cout<<" 銷售經理的編號:II.cin>>number4;em
9、ployee:display();)int numb4()return number4;/void form()/提示表格cout<<" 小型公司工資管理系統 "<<endl;cout<<" 1 "<<endl;cout<<" | 請選擇您所需的操作 I "<<endl;cout<<" |數據輸入:1,并按回車鍵I "<<endl;cout<<" |數據統計:2,并按回車鍵| "<&
10、lt;endl;cout<<" | 數據打印:3,并按回車鍵| "<<endl;cout<<" |數據備份:4,并按回車鍵| "<<endl;cout<<" |退出系統:5,并按回車鍵| "<<endl;cout<<" 11 "<<endl;cout<<”請選擇一個操作:"int main() int i,j,k,g,m,all,t;char shuzi;int wageN;technician t
11、1N;manager m1N;salesman s12*N,s22*N;salesmanager sm1N,f;for(t=1;t+)form();cin>>shuzi;switch(shuzi)case '1':/ 功能 1for(i=0;i<N;i+)t1i.display1();cout<<""<<endl;for(i=0;i<N;i+)m1i.display2(); cout<<""<<endl;for(i=0;i<2*N;i+)s1i.display3
12、(); cout<<""<<endl;for(i=0;i<N;i+)sm1i.display4();cout<<""<<endl;break;case '2':功能 2for(i=0;i<N;i+)wagei=5000;all=0;cout<<"職工號為"<<sm1i.numb4()<<"銷售經理"<<sm1i.nam()<<"下屬 銷售員的業績為:"<&
13、lt;endl;cout<<" 111 "<<endl;cout<<" | 職工號 I | 銷售額 | "<<endl;for(m=0;m<2*N;m+)if(s1m.hismanager()=sm1i.numb4() wagei=wagei+0.005*(s1m.xiaoshoue();all=all+s1m.xiaoshoue();cout<<" |111 "<<endl;cout<<" |"<<setw(10
14、)<<s1m.numb3()<<"|"<<setw(8)<<s1m.nam()<<" | "<<setw(10)<<s1m.xiaoshoue()<<"| "<<endl;cout<<" |111 "<<endl;cout<<" | 銷售額總計 I "<<setw(20)<<all<<" | "&l
15、t;<endl;cout<<" 111"<<endl;for(j=0;j<N;j+)for(k=0;k<N-j;k+)if(wagek<wagek+1)t=wagek;冒泡wagek=wagek+1;wagek+1=t;f=sm1k;sm1k=sm1k+1;sm1k+1=f;cout<<"銷售經理按工資排序為:"<<endl;cout<<" 11111 "<<endl;cout<<" |職工號 I |性別 |年齡 |工
16、資 | "<<endl;for(g=0;g<N;g+)(cout<<" |11111 "<<endl;cout<<" | "<<setw(10)<<sm1g.numb4()<<"| "<<setw(8)<<sm1g.nam()<<"I "<<setw(8)<<sm1g.se()<<"|"<<setw(8)<&
17、lt;sm1g.ag()<<""<<setw(8)<<wageg<<"| "<<endl; cout<<" 111111 "<<endl;break ;功能 3case '3': cout<<"請等待"<<endl;cout<<"職工基本情況一覽表如下"<<endl;cout<<"技術員"<<endl;co
18、ut<<" 1111"<<endl;cout<<" |職工號 |性別 |年齡 |工資"<<endl;for(i=0;i<N;i+)(cout<<" |1111"<<endl;cout<<"|"<<setw(10)<<t1i.numb1()<<""<<setw(8)<<t1i.nam()<<"|"<<set
19、w(8)<<t1i.se()<<""<<setw(8)<<t1i.ag()<<"| "<<setw(8)<<t1i.time()*100<<"| "<<endl;)cout<<" 11111"<<endl; /技術員表cout<<""<<endl;cout<<"經理"<<endl;cout<&
20、lt;" 1111"<<endl;cout<<" |職工號 |性別 |年齡 |工資"<<endl;for(i=0;i<N;i+)cout<<" I1111"<<endl; cout<<"|"<<setw(10)<<m1i.numb2()<<""<<setw(8)<<m1i.nam()<<"|"<<setw(8)<
21、;<m1i.se()<<""<<setw(8)<<m1i.ag()<<"| "<<setw(8)<<"8000"<<"| "<<endl;)cout<<" 11111"<<endl;經理表cout<<""<<endl;cout<<"銷售經理"<<endl;cout«"
22、; I11111"«endl;cout«" |職工號 I |性別 I年齡 I工資 I "«endl;for(g=0;g<N;g+)(cout«" |11111"«endl;cout«"| "«setw(10)«sm1 g.numb4()«"|"«setw(8)«sm1 g.nam()«"I"«setw(8)«sm1 g.se()«&
23、quot;I"«setw(8)«sm1 g.ag()«" I "<<setw(8)«wageg«" I "«endl;)cout«" 111111"«endl; cout«""«endl; / 銷售經理表cout«"銷售員"«endl;cout«" 1111r1 "«endl;cout«" |職工
24、號 I |性別 |年齡 I工資 I所屬 部門經理編號I “vvendl;for(i=0;i<(2*N);i+)cout<<" |11111 "<<endl; cout<<"|"<<setw(10)<<s1i.numb3()<<""<<setw(8)<<s1i.nam()<<"|"<<setw(8)<<s1i.se()<<""<<setw
25、(8)<<s1i.ag()<<"|"<<setw(8)<<s1i.xiaoshoue()*0.04<<""<<setw(16)<<s1i.hismanager()<<"| "<<endl;cout<<" 111111 "<<endl; 經理表 cout<<""<<endl;break;case '4':cout<<
26、"數據備份"<<endl;outfile.open("E:sjq.txt",ios:in|ios:out|ios:trunc);outfile<<"技術員"<<endl;outfile<<" 11111 "<<endl;outfile<<" |職工號 |性別 |年齡 |工資"<<endl;for(i=0;i<N;i+)outfile<<" |1111T "<<en
27、dl;outfile<<"|"<<setw(10)<<t1i.numb1()<<""<<setw(8)<<t1i.nam()<<"|"<<setw(8)<<t1i.se()<<""<<setw(8)<<t1i.ag()<<"| "<<setw(8)<<t1i.time()*100<<"| &quo
28、t;<<endl;outfile<<" 11111"<<endl; /技術員表 outfile<<""<<endl;outfile<<"經理"<<endl;outfile<<" 11111 "<<endl;outfile<<" |職工號 |性別 |年齡 |工資"<<endl;for(i=0;i<N;i+)outfile<<" |1111T
29、 "<<endl;outfile<<"|"<<setw(10)<<m1i.numb2()<<""<<setw(8)<<m1i.nam()<<"|"<<setw(8)<<m1i.se()<<""<<setw(8)<<m1i.ag()<<"| "<<setw(8)<<"8000"&
30、lt;<"| "<<endl;outfile<<" 11111"<<endl; 經理表outfile<<""<<endl;outfile<<"銷售經理"<<endl;outfile<<" 11111 "<<endl;outfile<<" |職工號 |性別 |年齡 |工資"<<endl;for(g=0;g<N;g+)(outfile&l
31、t;<" |1111T "<<endl;outfile<<" |"<<setw(10)<<sm1g.numb4()<<""<<setw(8)<<sm1g.nam()<<"|"<<setw(8)<<sm1g.se()<<""<<setw(8)<<sm1g.ag()<<"| "<<setw(8)&
32、lt;<wageg<<" I "<<endl;outfile<<" 11111"<<endl;outfile<<""<<endl; / 銷售經理表outfile<<"銷售員"<<endl;outfile<<" 1111n1 "<<endl;outfile<<" | 職工號I性別年齡屬部門經理編號I “vvendl;for(i=0;i<(2*N)
33、;i+)(outfile«" |1111H1 "«endl;outfile«"|"«setw(10)«s1 i.numb3()«""«setw(8)«s1 i.nam()«"|"«setw(8)«s1 i.se()«""«setw(8)«s1 i.ag()«"|"«setw(8)«s1i.xiaoshoue(
34、)*0.04«""«setw(16)«s1i.hismanager()«" | "«endl;)outfile«" 11111J1 "«endl;經理表outfile«""«endl;outfile.close();break;case '5':cout«"確定退出系統嗎? "«endl;cout«"是否:2"vvendl;int a;cin
35、»a;if(a=1) exit(5); break;default :cout«"error"«endl;)return 0;四、運行結果aa._ 牙_二DE&_cmE_ 鍵鍵鍵鍵鍵 作車車車聿 操回回回回回IJiJ- > BM S I擇人計普統請©:數藪麹退技kQ的褊=:1刖 汪姓名:shansil 性別m/心:, 年蜂:Z7 工作心間56 技術員的編號:102 甚姓名; w&nfl 性別Cm': n 生能27 工作時間58L 20 2 0292 2 anH gm 年2hl>:& g>
36、;: 壇 w 86 - / 3 / 3 的名加,.的名(n 理姓別齡理姓別齡 三鼻:丁一1._三=十112 2 00 4 4 4 4 1v=2 號3 號4 號 0 0 .offi 0 0 .ffl 3 冬? 您3 岑$ 緋 士 WM- Au 1 _TJ 1,mt i B 。a WM-1-3. 號* 岫理號中"時理號nlH附理號nzm s 扁k : 0 5s ; 4空府也: 日工工扁舊士 修空 z> G 72- 0 L>, 5 t'J> 8-+J- 的:/w28.1z器:/w351匡晶 川師:售 員名5 :額第貝名<n;額信網名刎!額售網名畫:額銷 隹后
37、m墾林別齡隹營喔別齡住晝援別齡崔晨 希屯年年年年停401st二二二E :經名扁 U密UkM* 1 =r-l >6里 93 f - s X 2h名cm.也屆別齡鐫甚別齡 年年小型公司工資管理系統rhi-二 nJ-I- -二 IhB一 爭一二 鍵鍵鍵橫鍵 操回回回回回 的鰲-rn-串一 口 &M 1 2 3 4 5擇人計國統 選尊打堇系 請WWK33 數數數數退請選擇一個第K 2職工號為4正鞘售經理*un下屬銷售員的業績為:職工號姓名國售額皿- JzhangJ302- 3 wangJ4060|銷售額總計如只工號為4融箱營經理liu下屬鋪售員的業績為工職工號姓名銷售額 |303uan
38、13 04van2捐售額總計140Q0Q銷售經理按工資排序為職工號 姓名 性別 年齡 工資402liuu29S700431sun365520:小型公司工資管理系統rti-一 JtuL >一二孑二.MM秋苫目目若作4車車車車操回回回回.口的按技nnnnsn12 3 4 5擇人計方裝 這篇打拿 如救期致退,選速1個操作 尤倩區二面蓑如下職工號姓名性別年齡工資101142Nhanglw 右 ngl590O經理職工號姓名性別年齡工資201Eh0ng?uing2銷售經理職工號姓名性別年齡工資432LiuW2957S04B1sunW365520銷售員職工號姓名ttjsij年齡工資所屬都I J經理編號
39、301shangSm2820004»1302VJdflSf 3w322ies491303vianlw3524名B例304uan2m2632004。2小型公司工資管理系統UFr-upr-her-hEJ- 士二 榛博鍵鋰犍 ttt444 操回回回回回 的WWK 尸 p 尸 p p 月 12 3 4 5 傷 擇人計考統 選*居E'居; 工 一 J J rip J.E二 L-L 數數數數退情選好個操作;4工小型公司T瓷蕾理系統HIE&£,Itlcrti 二 UEJ- 三-,.H."J" 一.- Uy > 各帝5帝君 作車w+m- 探回回回回回 的tww L ",產* p F 12 3 4 5 您 步人計M統 選姿數數數數限力kJ 2®l小 先 一1 審確獰continue數據備份容技術員職工號姓名性別年翳工資1 01zhangl271 02vianglm27890經理職工號姓名性別年齡工資2B1zhang2妙3489002般uang2n368。眄銷售經理職工號姓名性別年齡工資4 02liuW2957 00401sun365520皆售后職工號姓名性別年齡工資所屬部門經理編號301ztiang3in282 000401392w32216B401303u>an1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電視設備智能生物診斷技術考核試卷
- 園林綠化工程綠化施工項目風險管理考核試卷
- 典當行不良資產處置與風險化解考核試卷
- 無損檢測非金屬專用設備考核試卷
- 廚房電器行業人才培養與技能培訓考核試卷
- 紡織行業經濟效益與投資回報分析考核試卷
- 服務綠色發展考核試卷
- 屠宰場食品安全管理考核試卷
- 漁業資源的保護與可持續發展考核試卷
- 糖果與巧克力銷售區域差異化策略考核試卷
- 第14課推進綠色發展的課件
- 汽車租賃合同協議電子版
- 模擬電子技術基礎智慧樹知到期末考試答案章節答案2024年北京航空航天大學
- 中國蠶絲綢文化 知到智慧樹網課答案
- T-CCAA 39-2022碳管理體系 要求
- 幼兒園大班健康《我會保護眼睛》說課課件
- 武漢大唐不夜城規劃方案
- 110(66)kV~220kV智能變電站設計規范
- 手術質量控制指標
- MOOC 房地產管理-華中科技大學 中國大學慕課答案
- GB/T 17630-2024土工合成材料動態穿孔試驗落錐法
評論
0/150
提交評論