




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、中國石油大學(華東)信息與控制工程學院程序設計實習報告小型公司工資管理系統(tǒng)的設計姓名:Yuppies Liu 時 間:2011.7.142011.7.172011年7月目錄一、 實習內容1二、 設計思路2三、 程序代碼清單3四、 運行結果10五、 程序使用說明16六、 總結及心得體會17程序設計實習報告一、實習內容1 題目:小型公司管理系統(tǒng)的設計設計2.設計說明與基本要求(1) 公司主要有4類人員:經理、技術員、銷售員、銷售經理。 要求存儲這些人的職工號、姓名、月工資、年齡、性別等信息。(2) 工資的計算方法 A 經理:固定月薪為8000元; B技術員:工作時間*小時工資(100元/小時);C
2、銷售員:銷售額*4%提成; D銷售經理:底薪(5000元)+所轄部門銷售額總額*0.5%。(3) 員工基本數據的輸入 要求每類人員不能少于4人,其中銷售員需要8名,每名銷 售經理手下有名銷售員。(4) 各類的數據成員訪問權限設置為:protected3.實現(xiàn)基本功能 (1) 數據輸入:輸入各種數據 (2) 數據的輸入 :統(tǒng)計各銷售經理下屬銷售員的銷售額及銷售額之和;銷售經理按工資進行的帽泡排序; (3) 數據打印:打印各類員工的數據信息;(4) 數據備份(5) 退出:退出本系統(tǒng) 備注:可適當擴充程序功能,功能擴充得當可加分4菜單說明(1)數據錄入指通過鍵盤輸入各類員工的各項數據(2)數據統(tǒng)計指
3、統(tǒng)計各銷售經理下屬銷售員的銷售額及銷售額之和;銷售經理按工資進行的冒泡排序 (3) 數據的打印指按照表格的格式在屏幕上輸出各員工的數據信息(4) 數據的備份指把各類員工的數據信息寫入文件中保存(5)退出:結束程序的運行二、設計思路在這個公司中有四類人員:經理、兼職技術人員、銷售員要存儲的信息有姓名、編號、性別、年齡、工資、銷售額、所屬經理編號由于所有職員有相同的成員如編號(num)、姓名(name)、性別(sex)、年齡(age)、工資(wage)。所以可將所有信息歸納為一個職員類(Guyuan),將其作為一個基類,然后派生出子類,實現(xiàn)各類人員不同的信息(如工資計算), 由于銷售經理具有銷售員
4、和經理的特性,所以銷售經理采用多重繼承的關系,繼承銷售員和經理的兩個類,為避免二義性將employee定義為虛基類,可用下圖表示:題目中假設公司有2名技術員、4名銷售員、經理和銷售經理各2名,所以用對象數組的方式,利用循環(huán)語句來實現(xiàn)人員的輸入和輸出,整個程序設計如下:基類雇員類:數據成員有職工號、姓名、年齡、性別、月工資;成員函數只有姓名、年齡、性別的設置函數。技術員類:繼承基類數據成員增加了工作時間;成員函數有設置函數、構造函數、輸出函數下屬函數、備份函數下屬函數。經理類:繼承基類數據成員未增加;成員函數有設置函數、構造函數、輸出函數下屬函數、備份函數下屬函數。銷售員類:繼承基類數據成員多了
5、銷售額、所屬經理編號;成員函數有設置函數、構造函數、輸出函數下屬函數、備份函數下屬函數、銷售額返回函數、所屬經理編號輸出函數。銷售經理類:繼承基類數據成員未增加;成員函數有設置函數、構造函數、輸出函數下屬函數、備份函數下屬函數、統(tǒng)計函數所屬函數。三、程序代碼清單#include<iostream>#include<string>#include<iomanip>#include<fstream>using namespace std;ofstream outfile("f1.txt",ios:out);class Guyuan
6、public:int num,age;string name;char sex;int wage;class Jishuyuan: protected Guyuanpublic:int time; void set_jishuyuan()cout<<"技術員編號:" cin>>num; cout<<endl; cout<<"其姓名:" cin>>name; cout<<endl; cout<<"性別(m/w):" cin>>sex; cou
7、t<<endl; cout<<"年齡:" cin>>age; cout<<endl; cout<<"工作時間:" cin>>time; cout<<endl; wage=time*100; void show_jishuyuan() cout<<""<<setw(12)<<num<<""<<setw(12)<<name<<""&l
8、t;<setw(12)<<sex<<""<<setw(12)<<age<<""<<setw(12)<<wage<<""<<endl; void show_jishuyuan4() outfile<<""<<setw(12)<<num<<""<<setw(12)<<name<<""&
9、lt;<setw(12)<<sex<<""<<setw(12)<<age<<""<<setw(12)<<wage<<""<<endl;class Jingli:protected Guyuanpublic: void set_jingli() cout<<"經理的編號:" cin>>num; cout<<endl; cout<<"其姓名:&quo
10、t; cin>>name; cout<<endl; cout<<"其性別(m/w):" cin>>sex; cout<<endl; cout<<"年齡:" cin>>age; cout<<endl;wage=8000; void show_jingli() cout<<""<<setw(12)<<num<<""<<setw(12)<<name<
11、<""<<setw(12)<<sex<<""<<setw(12)<<age<<""<<setw(12)<<wage<<""<<endl; void show_jingli4() outfile<<""<<setw(12)<<num<<""<<setw(12)<<name<&l
12、t;""<<setw(12)<<sex<<""<<setw(12)<<age<<""<<setw(12)<<wage<<""<<endl; ; class Xiaoshouyuan:protected Guyuanpublic: void set_xiaoshouyuan() cout<<"銷售員的編號:" cin>>num; cout<<e
13、ndl; cout<<"其姓名:" cin>>name; cout<<endl; cout<<"性別(m/w):" cin>>sex; cout<<endl; cout<<"年齡:" cin>>age; cout<<endl; cout<<"銷售額:" cin>>sell; cout<<endl; cout<<"所屬銷售經理的編號:" cin
14、>>belong; cout<<endl; wage=sell*4/100; void show_xiaoshouyuan() cout<<""<<setw(14)<<num<<""<<setw(14)<<name<<""<<setw(14)<<sell<<""<<endl; void show_xiaoshouyuan2() cout<<"
15、;"<<setw(8)<<num<<""<<setw(8)<<name<<""<<setw(8)<<sex<<""<<setw(8)<<age<<""<<setw(8)<<wage<<""<<setw(18)<<belong<<""<<end
16、l; void show_xiaoshouyuan4() outfile<<""<<setw(8)<<num<<""<<setw(8)<<name<<""<<setw(8)<<sex<<""<<setw(8)<<age<<""<<setw(8)<<wage<<""<<setw
17、(18)<<belong<<""<<endl;int sell,belong;class Xiaoshoujingli:protected Guyuanpublic: int shu_jingli() return num; void set_xiaoshoujingli() cout<<"銷售經理的編號:"cin>>num;cout<<endl; cout<<"其姓名:"cin>>name;cout<<endl; cout&l
18、t;<"性別(m/w):"cin>>sex;cout<<endl; cout<<"年齡:"cin>>age; cout<<endl; void show_num()cout<<num; void show_name()cout<<name; void show_xiaoshoujingli() cout<<""<<setw(12)<<num<<""<<setw(12)
19、<<name<<""<<setw(12)<<sex<<""<<setw(12)<<age<<""<<setw(12)<<wage<<""<<endl; void show_xiaoshoujingli4() outfile<<""<<setw(12)<<num<<""<<se
20、tw(12)<<name<<""<<setw(12)<<sex<<""<<setw(12)<<age<<""<<setw(12)<<wage<<""<<endl; void show_wage() cout<<wage; void wage_sum(int sum) wage=5000+sum*0.5/100; void disp() cout<<&
21、quot; 小型公司工資管理系統(tǒng) "<<endl; cout<<" "<<endl; cout<<" 請選擇您所需要的操作 "<<endl; cout<<" 數據輸入: 1,并按回車鍵 "<<endl; cout<<" 數據統(tǒng)計: 2,并按回車鍵 "<<endl; cout<<" 數據打印: 3,并按回車鍵 "<<endl; cout<<&qu
22、ot; 數據備份: 4,并按回車鍵 "<<endl; cout<<" 退出系統(tǒng): 5,并按回車鍵 "<<endl; cout<<" "<<endl; cout<<endl; cout<<"請選擇一個操作: " int main() const int n=2; int i,w; Jishuyuan an; Jingli bn; Xiaoshouyuan c2*n; Xiaoshoujingli dn; disp();while (1)cin&
23、gt;>w;switch(w)case 1: for(i=0;i<n;i+) ai.set_jishuyuan();cout<<"*"<<endl;for(i=0;i<n;i+) bi.set_jingli();cout<<"*"<<endl;for(i=0;i<(2*n);i+) ci.set_xiaoshouyuan();cout<<"*"<<endl;for(i=0;i<n;i+) di.set_xiaoshoujingli()
24、;cout<<"*"<<endl;disp(); ;break;case 2: int sumn; int i,j; for(j=0;j<n;j+) sumj=0;cout<<"職工號為"dj.show_num();cout<<"銷售經理"dj.show_name();cout<<"下屬銷售員的業(yè)績?yōu)椋?quot;<<endl; cout<<""<<endl; cout<<" 職工號
25、 姓名 銷售額 "<<endl;for(i=0;i<2*n;i+) if(ci.belong=dj.shu_jingli() cout<<""<<endl;ci.show_xiaoshouyuan(); sumj=sumj+ci.sell; cout<<""<<endl; cout<<""<<"銷售額總計 "<<setw(28)<<sumj<<" "<&l
26、t;endl; cout<<""<<endl;cout<<"銷售經理按工資排序為:"<<endl;cout<<""<<endl; cout<<" 職工號 姓名 性別 年齡 工資 "<<endl; Xiaoshoujingli x; double y;for(i=0;i<n;i+)for(j=0;j<n;j+)if(sumi<sumi+1)x=di;di=dj;dj=x;y=sumi;sumi=sumj;
27、sumj=y; for(i=0;i<n;i+) cout<<""<<endl;di.wage_sum(sumi);di.show_xiaoshoujingli(); cout<<""<<endl; disp(); ; break;case 3: int i;cout<<"請等待."<<endl;cout<<"職工基本情況一覽表如下"<<endl;cout<<"技術員"<<
28、endl;cout<<""<<endl; cout<<" 職工號 姓名 性別 年齡 工資 "<<endl; for(i=0;i<n;i+) cout<<""<<endl;ai.show_jishuyuan(); cout<<""<<endl;cout<<"*"<<endl;cout<<"經理"<<endl; cout<&l
29、t;""<<endl; cout<<" 職工號 姓名 性別 年齡 工資 "<<endl; for(i=0;i<n;i+) cout<<""<<endl;bi.show_jingli(); cout<<""<<endl; cout<<"*"<<endl; cout<<"銷售經理"<<endl; cout<<""
30、<<endl; cout<<" 職工號 姓名 性別 年齡 工資 "<<endl; for(i=0;i<n;i+) cout<<""<<endl;di.show_xiaoshoujingli(); cout<<""<<endl;cout<<"*"<<endl;cout<<"銷售員"<<endl; cout<<""<<e
31、ndl; cout<<" 職工號 姓名 性別 年齡 工資 所屬部門經理編號 "<<endl; for(i=0;i<n*2;i+) cout<<""<<endl;ci.show_xiaoshouyuan2(); cout<<""<<endl;cout<<"*"<<endl; disp(); ;break;case 4: int i;outfile<<"職工基本情況一覽表如下"<&
32、lt;endl;outfile<<"技術員"<<endl;outfile<<""<<endl; outfile<<" 職工號 姓名 性別 年齡 工資 "<<endl; for(i=0;i<n;i+) outfile<<""<<endl;ai.show_jishuyuan4(); outfile<<""<<endl;outfile<<"*"&
33、lt;<endl;outfile<<"經理"<<endl; outfile<<""<<endl;outfile<<" 職工號 姓名 性別 年齡 工資 "<<endl; for(i=0;i<n;i+) outfile<<""<<endl;bi.show_jingli4(); outfile<<""<<endl; outfile<<"*"
34、<<endl; outfile<<"銷售經理"<<endl; outfile<<""<<endl; outfile<<" 職工號 姓名 性別 年齡 工資 "<<endl; for(i=0;i<n;i+) outfile<<""<<endl;di.show_xiaoshoujingli4(); outfile<<""<<endl; outfile<<
35、"*"<<endl; outfile<<"銷售員"<<endl; outfile<<""<<endl; outfile<<" 職工號 姓名 性別 年齡 工資 所屬部門經理編號 "<<endl; for(i=0;i<n*2;i+) outfile<<""<<endl;ci.show_xiaoshouyuan4(); outfile<<""<<
36、endl; outfile<<"*"<<endl; outfile.close(); disp();break;case 5: exit(0); ;break;default:cout<<" 選擇錯誤,請重新選擇!"<<endl; disp();break; return 0;四、運行結果小型公司工資管理系統(tǒng) 請選擇您所需要的操作 數據輸入: 1,并按回車鍵 數據統(tǒng)計: 2,并按回車鍵 數據打印: 3,并按回車鍵 數據備份: 4,并按回車鍵 退出系統(tǒng): 5,并按回車鍵 請選擇一個操作: 1技術員編號:101
37、其姓名:zhang1性別(m/w):w年齡:27工作時間:56技術員編號:102其姓名:wang1性別(m/w):m年齡:27工作時間:58*經理的編號:201其姓名:wang2其性別(m/w):w年齡:34經理的編號:202其姓名:36其性別(m/w):m年齡:36*銷售員的編號:301其姓名:zhang3性別(m/w):m年齡:28銷售額:50000所屬銷售經理的編號:401銷售員的編號:302其姓名:wang3性別(m/w):w年齡:32銷售額:54000所屬銷售經理的編號:401銷售員的編號:303其姓名:wan1性別(m/w):w年齡:35銷售額:60000所屬銷售經理的編號:402
38、銷售員的編號:304其姓名:wan2性別(m/w):m年齡:26銷售額:80000所屬銷售經理的編號:402*銷售經理的編號:401其姓名:sun性別(m/w):w年齡:36銷售經理的編號:402其姓名:liu性別(m/w):w年齡:29* 小型公司工資管理系統(tǒng) 請選擇您所需要的操作 數據輸入: 1,并按回車鍵 數據統(tǒng)計: 2,并按回車鍵 數據打印: 3,并按回車鍵 數據備份: 4,并按回車鍵 退出系統(tǒng): 5,并按回車鍵 請選擇一個操作: 2職工號為401銷售經理sun下屬銷售員的業(yè)績?yōu)椋?職工號 姓名 銷售額 301 zhang3 50000 302 wang3 54000銷售額總計 104
39、000 職工號為402銷售經理liu下屬銷售員的業(yè)績?yōu)椋?職工號 姓名 銷售額 303 wan1 60000 304 wan2 80000銷售額總計 140000 銷售經理按工資排序為: 職工號 姓名 性別 年齡 工資 402 liu w 29 5700 401 sun w 36 5520 小型公司工資管理系統(tǒng) 請選擇您所需要的操作 數據輸入: 1,并按回車鍵 數據統(tǒng)計: 2,并按回車鍵 數據打印: 3,并按回車鍵 數據備份: 4,并按回車鍵 退出系統(tǒng): 5,并按回車鍵 請選擇一個操作: 3請等待.職工基本情況一覽表如下技術員 職工號 姓名 性別 年齡 工資 101 zhang1 w 27 5600 102 wang1 m 27 5800*經理 職工號 姓名 性別 年齡 工資 201 wang2 w 34 8000 202 36 m 36 8000*銷售經理 職工號 姓名 性別 年齡 工資 402 liu w 29 5700 401 sun w 36 5520*銷售員 職工號 姓名 性別 年齡 工資 所屬部門經理編號 301 zhang3 m 28 2000 401 302 wang3 w 32 2160 40
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療素養(yǎng)管理課件
- 身份管理為崗位管理辦法
- 進京車輛限制管理辦法
- 鄭州市養(yǎng)犬管理暫行辦法
- 重慶電動車管理暫行辦法
- 高校電動車管理暫行辦法
- 銷售電價管理暫行辦法
- 2025中糧糖業(yè)校園招聘13人筆試歷年參考題庫附帶答案詳解
- 2025福建廈門海投建設咨詢有限公司招聘14人筆試歷年參考題庫附帶答案詳解
- 2025山西沁水縣醫(yī)療集團專項招聘10人筆試歷年參考題庫附帶答案詳解
- 如何做好一名合格醫(yī)生
- 【生態(tài)文明建設評價分析的國內外文獻綜述3200字】
- 大數據在橋梁結構健康監(jiān)測中的應用研究
- 2025年中醫(yī)藥現(xiàn)代化國際市場拓展:新加坡市場潛力分析報告
- 充電站可行性研究報告
- 公司安全事故隱患內部舉報、報告獎勵制度
- 《光伏發(fā)電工程預可行性研究報告編制規(guī)程》(NB/T32044-2018)中文版
- 身份證籍貫自動對照自動生成
- 《普通高中課程方案》解讀.ppt
- 熱電聯(lián)產能效能耗限額標準及計算方法
- 商場全年促銷活動計劃表
評論
0/150
提交評論