C++程序設計實習報告_第1頁
C++程序設計實習報告_第2頁
C++程序設計實習報告_第3頁
C++程序設計實習報告_第4頁
C++程序設計實習報告_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目錄一、實習內(nèi)容 1二、設計思路 2三、程序清單 3四、運行結(jié)果 15五、程序使用說明 20六、總結(jié)及心得體會 21一、實習內(nèi)容課程設計的題目:小型公司工資管理系統(tǒng)設計設計說明:公司主要有四類人員:經(jīng)理、技術員、銷售員、銷售經(jīng)理。程序要求 存儲這些人的職工號、姓名、月工資、年齡、性別等信息。并且應用程序中要求 給出菜單,用于選擇各項功能。一、程序要求實現(xiàn)的功能即菜單目錄有:1、數(shù)據(jù)輸入:輸入各種數(shù)據(jù);2、數(shù)據(jù)統(tǒng)計:統(tǒng)計各銷售經(jīng)理下屬銷售員的銷售額及銷售額之和;銷售經(jīng)理工 資進行冒泡排序;3、數(shù)據(jù)打?。捍蛴「黝悊T工的數(shù)據(jù)信息;4、數(shù)據(jù)備份:把各類員工的數(shù)據(jù)信息寫入文件中保存;5、退出:退出本系統(tǒng)

2、,即結(jié)束程序的運行。二、工資的計算方法A:經(jīng)理:固定月薪為8000元;B:技術員:工作時間*小時工資(100元/小時);C:銷售員:銷售額* 4%提成;D:銷售經(jīng)理:底薪(5000) +所轄部門銷售額總 額* 0.5%。三、類的層次結(jié)構(gòu)大體如下雇員類技術員類經(jīng)理類銷售員類銷售經(jīng)理類、設計思路1.(1)首先我們要搞清楚各類之間的繼承關系,設置基類employee,其派生類manager,technician,salesman 再以 manager類為基類,再派生一個 salesmanager 類,將各類的數(shù)據(jù)成員設計成 protected,方便派生類對基類的繼承;(2)在public里編寫數(shù)據(jù)輸

3、入的函數(shù),在主函數(shù)中輸出菜單并定義各類的對象, 通過對象來調(diào)用數(shù)據(jù)輸入函數(shù);2.(1)在基類employee中補充幾個返回各類數(shù)據(jù)的函數(shù)以用于返回輸入的各類值;(2)在主函數(shù)內(nèi)用冒泡法對銷售經(jīng)理的工資進行排序,定義一個wage口來將各銷售經(jīng)理下面的銷售員的銷售額進行儲存,定義一個all用于計算銷售經(jīng)理的銷售總額,以便于下面對其進行工資的計算;(3)第2, 3, 4步都用大量的for循環(huán)進行輸出,以實現(xiàn)表格的形成還有表格 中數(shù)據(jù)的輸入;在主函數(shù)內(nèi)定義各類的對象,然后都是直接通過類的對象調(diào)用類 內(nèi)的函數(shù),運用for循環(huán)進行打印,統(tǒng)計;3.備份參照課本格式,選擇路徑及格式,運用for循環(huán)備份;就是那

4、個fstream之類的東西;、退出系統(tǒng)用exit(5)函數(shù)實現(xiàn);4 .主函數(shù)運用switch語句,將上述功能編為case 15每個case后添加break;5 .程序結(jié)束。以上是我所認為的該程序的幾個要點 .三、程序清單#include<iostream>#include<string>#include<cmath>#include<iomanip>#include<fstream>using namespace std;const N=2;fstream outfile;class employee /基類,雇傭者protected

5、:string name;char sex;int age;public:virtual void display。cout<<"其姓名:"cin>>name;cout<<"性另1J (m/w):"cin>>sex;cout<<"年齡:"cin>>age;string nam()return name;char se()return sex;/技術員類int ag()return age;class technician: public employee publ

6、ic:int worktime;int numberl;public:void display1()cout<<”技術員的編號:"cin>>number1;employee二display。; cout<<"工作時間"; cin>>worktime;int time()return worktime;int numb1()return number1;/class manager : public employee 經(jīng)理類 protected:int number2;public:void display2() co

7、ut<<"經(jīng)理的編號:"cin>>number2;employee二display。;/int numb2()return number2; ;class salesman : public employee 銷售員類protected:int total;int boss;int number3;public:void display3()cout<<”銷售員的編號:"cin>>number3;employee二display。; cout<<"銷售額:" cin>>to

8、tal;cout<<"所屬銷售經(jīng)理的編號:"cin>>boss;int hismanager()return boss;int xiaoshoue()return total;int numb3()return number3;/class salesmanager : public manager 銷售經(jīng)理類 protected:int number4;public:void display4()II.cout<<"銷售經(jīng)理的編號: cin>>number4;employee:display();int numb4

9、()return number4;/ void form()/提示表格cout<<" 小型公司工資管理系統(tǒng) "<<endl;cout<<" 1 "<<endl;cout<<" |請選擇您所需的操作I "<<endl;cout<<" | 數(shù)據(jù)輸入:1,并按回車鍵I "<<endl; cout<<" | 數(shù)據(jù)統(tǒng)計:2,并按回車鍵| "<<endl; cout<<&quo

10、t; | 數(shù)據(jù)打?。?,并按回車鍵| "<<endl; cout<<" | 數(shù)據(jù)備份:4,并按回車鍵| "<<endl; cout<<" | 退出系統(tǒng):5,并按回車鍵| "<<endl; cout<<" 11 "<<endl;cout<<”請選擇一個操作:" int main() int i,j,k,g,m,all,t;char shuzi;int wageN;technician t1N;manager m1N;sal

11、esman 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(); cout<<&qu

12、ot;"<<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()<<"銷售經(jīng)理"<<sm1i.nam()<<"下屬銷 售員的業(yè)績?yōu)椋?quot;<<endl;cout<&

13、lt;" 111 "<<endl;cout<<" |職工號 |姓名 |銷售額 | "<<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)<<s1m.num

14、b3()<<" | "<< setw(8)<<s1m.nam()<<I "<<setw(10)<<s1m.xiaoshoue()<<" I "<<endl;cout<<" |111 "<<endl;cout<<" | 銷售額總計 I "<<setw(20)<<all<<" | "<<endl;cout<

15、<" 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<<"銷售經(jīng)理按工資排序為:"<<endl;cout<<" 11111 "<<endl;cout<<" |職工號 |姓名 |性別 |年齡 |工資 | "<<

16、;endl;for(g=0;g<N;g+)cout<<" |11111 "<<endl;cout<<" | "<<setw(10)<<sm1g.numb4()<<" | "<<setw(8)<<sm1g.nam()<<" | "<<setw(8)<<sm1g.se()<<"|"<<setw(8)<<sm1g.ag()<

17、<"|"<<setw(8)<<wageg<<" | "<<endl;cout<<" 111111 "<<endl;break ;/功能 3case '3': cout<<情等待"<<endl;cout<<"職工基本情況一覽表如下"<<endl;cout<<"技術員"<<endl;cout<<" 111

18、11"<<endl; cout<<" |職工號 |姓名 |性別 |年齡 |工資 |"<<endl;for(i=0;i<N;i+)cout<<" |11111"<<endl;cout<<" | "<<setw(10)<<t1i.numb1()<<" | "<<setw(8)<<t1i.nam()<<" | "<<setw(8)&

19、lt;<t1i.se()<<"I"<<setw(8)<<t1i.ag()<<"I"<<setw(8)<<t1i.time()*100<<" | "<<endl;cout<<" 111111"<<endl; /技術員表 cout<<""<<endl;cout<<"經(jīng)理"<<endl;cout<<

20、" 11111<<endl;cout<<" |職工號 |姓名 |性別 |年齡 |工資 "<<endl; for(i=0;i<N;i+) ( cout<<" |11111"<<endl; cout<<" | "<<setw(10)<<m1i.numb2()<<" | "<<setw(8)<<m1i.nam()<<I "<<setw(8)&

21、lt;<m1i.se()<<"|"<<setw(8)<<m1i.ag()<<""<<setw(8)<<"8000"<<" | "<<endl; cout<<" 111111"<<endl;/經(jīng)理表cout<<""<<endl;cout<<"銷售經(jīng)理"<<endl; cout<&l

22、t;" I11111"<<endl; cout<<" |職工號 |姓名 |性別 |年齡 |工資 "<<endl; for(g=0;g<N;g+) ( cout<<" |11111"<<endl; cout<<"|"<<setw(10)<<sm1g.numb4()<<""<<setw(8)<<sm1g.nam()<<"|"<

23、<setw(8)<<sm1g.se()<<""<<setw(8)<<sm1g.ag()<<" | "<<setw(8)<<wageg<<" | "<<endl; cout<<" 111111"<<endl; cout<<""<<endl;銷售經(jīng)理表cout<<"銷售員"<<endl;cout&

24、lt;<" 1111r1 "<<endl;cout<<" |職工號 |姓名 |性別 |年齡 |工資 | 所屬部門經(jīng)理編號I "<<endl;for(i=0;i<(2*N);i+)(cout<<" |1111k1 "<<endl;cout<<" | "<<setw(10)<<s1i.numb3()<<" | "<<setw(8)<<s1i.nam()<

25、;<" I "<<setw(8)<<s1i.se()<<" I "<<setw(8)<<s1i.ag()<<" I "<<setw(8)<<s1i.xiaoshoue()*0.04<<" | "<<setw(16)<<s1i.hismanager()<<" | "<<endl;cout<<" 11111L1 &qu

26、ot;<<endl; /經(jīng)理表cout<<""<<endl;break; case '4':cout<<"數(shù)據(jù)備份"<<endl;outfile.open("E:sjq.txt",ios:in|ios:out|ios:trunc);outfile<<"技術員"<<endl;outfile<<" 11111 "<<endl;outfile<<" |職工號

27、 |姓名 |性別 |年齡 |工資 I "<<endl;for(i=0;i<N;i+)(outfile<<" |1111T "<<endl; outfile<<" | "<<setw(10)<<t1i.numb1()<<" | "<<setw(8)<<t1i.nam()<<"I "<<setw(8)<<t1i.se()<<" I &quo

28、t;<<setw(8)<<t1i.ag()<<" I "<<setw(8)<<t1i.time()*100<<" | "<<endl; outfile<<" 11111"<<endl; /技術員表 outfile<<""<<endl;outfile<<"經(jīng)理"<<endl; outfile<<" 11111 "

29、<<endl; outfile<<" |職工號 |姓名 |性別 |年齡 |工資I "<<endl; for(i=0;i<N;i+) outfile<<" |1111T "<<endl; outfile<<"|"<<setw(10)<<m1i.numb2()<<"|"<<setw(8)<<m1i.nam()<<"|"<<setw(8)&l

30、t;<m1i.se()<<"|"<<setw(8)<<m1i.ag()<<" | "<<setw(8)<<"8000"<<" | "<<endl; outfile<<" 11111"<<endl;/經(jīng)理表outfile<<""<<endl;outfile<<"銷售經(jīng)理"<<endl;

31、outfile<<" 11111 "<<endl; outfile<<" |職工號 |姓名 |性別 |年齡 |工資I "<<endl;for(g=0;g<N;g+)outfile<<" |1111T "<<endl; outfile<<"|"<<setw(10)<<sm1g.numb4()<<"|"<<setw(8)<<sm1g.nam()<

32、<"|"<<setw(8)<<sm1g.se()<<"|"<<setw(8)<<sm1g.ag()<<" I "<<setw(8)<<wageg<<" I "<<endl; outfile<<" 11111"<<endl; outfile<<""<<endl; 銷售經(jīng)理表outfile<<&q

33、uot;銷售員"<<endl; outfile<<" 1111n1 "<<endl;outfile<<" |職工號 |姓名 |性別 |年齡 |工資 I所屬部門經(jīng)理編號I "<<endl; for(i=0;i<(2*N);i+) ( outfile<<" |1111H1 "<<endl;outfile<<" | "<<setw(10)<<s1i.numb3()<<&quo

34、t; | "<<setw(8)<<s1i.nam()<<" I "<<setw(8)<<s1i.se()<<" I "<<setw(8)<<s1i.ag()<<" I "<<setw(8)<<s1i.xiaoshoue()*0.04<<" | "<<setw(16)<<s1i.hismanager()<<" | &qu

35、ot;<<endl; outfile<<" 11111J1 "<<endl;/經(jīng)理表outfile<<""<<endl;outfile.close();break;case '5':cout<<'確定退出系統(tǒng)嗎? "<<endl;cout<<”是:1, 否:2"<<endl;int a;cin>>a;if(a=1) exit(5);break;default :cout<<&quo

36、t;error"<<endl;return 0;四、運行結(jié)果1 1 200 £ 1 1Jp 19 I 1W 號ngFtA 扁 h : G.S-a ; 8 7茅 N > 5 4 w > 5 一時,八27間的I A27間 攆爰<111:町貝名.時 因術姓別齡次姓別齡作 百年工技卷年工102號zh>:號waj扁 W 4扁: / 3 :的名5 .的名理姓別齡理姓別齡0 Ap S 300理號narw 0SS £ ,.隹晶!ZW32理號nl00理號n2m4 空扁& I 2: Efl L- I w> 6 Fw> s .隹蔚

37、.zw35.隹晶./W26:經(jīng)編一貝名5 :額輯貝名.額,貝名CR:額智貝名CR:額M短別齡生是甚別齡隹盡屆別齡隹蜃屆別齡良一言.百年百年百年存年喜號 號 編、編Si 1 ) 理.%36理:/w29 .經(jīng)名<n經(jīng)名5 : 隹娃別齡隹娃別齡 年年3Cfhlcftl-一31一 鍵鍵鍵鍵鍵 作車車車車車 操回回回回回 的按按按按按 一 i , B 1 2 3 4 5 您 計禺統(tǒng) 選要打拿 請數(shù)數(shù)數(shù)數(shù)Is 夕7-r*7f?、Ta小型公司工資管理系統(tǒng)最譬就M帛J理stm下屬銷售員的業(yè)績?yōu)?職工號姓名銷售額 1301zhang350000302wang354000銷售額總計104000只工號為402

38、銷售經(jīng)理liu下屬銷售員的業(yè)績?yōu)?職工號姓名銷售額303wanl60000304wan 280000銷售額總計140000個型公司工資管理系統(tǒng)Bll I fhit n I 3111 2二 作車車車車車 操回回回回回 的技按按按技 cd ,J*, 12 3 4 5 您 計積統(tǒng) 選塞打票 請 數(shù)數(shù)數(shù)數(shù)退請選拄一個操作:3 請等否職工其本情況一覽表如下 技術員職二號姓名性別年齡工資zhanglW2756001102 |wangln275800職二號姓名性別年齡工資201zhang2W348000202wang2m368000銷售經(jīng)理職工弓姓名性別年齡工費的2liuVI2957001 儂sunW365

39、520銷售員職工號姓名性別年齡工資所屬部門經(jīng)理編號301zhang3R282000401302viang3W322160401303wanlW352400402304wan 2n263200402小型公司工賁管理系統(tǒng)三匚 一 jw= - g= e i rfuJ 一 I二,:-rlL, 卷針卷隹卷 作車車車車車 揉回回回回回 的a ,J"尸,-bv 12 3 4 5整aJ $ 3擇人計M統(tǒng)選星打窠請魏知教甥退道選擇一個操作:4螂備份支小型公司工資管理系統(tǒng)田二-e - g -1二 Jn 二 卷隹卷笆較 作車車車車車 操回回回回 的 owae R E- 12 3 4 5 您J- 3 - 擇人計黑統(tǒng) 選期打第 請數(shù)數(shù)致短退請選樣一個理作:5 確定隨出系境嗎?是小 杏工2Pi*ess any key Co cantinue數(shù)據(jù)備份內(nèi)容技術員職二號姓名性別年齡工資101zhangl275600102wanglR275800經(jīng)理職二號姓名性別年齡工資201zhang2348000202viang2m368000銷售經(jīng)理職二號姓名性別年齡工資402liu295700401sun365520銷售貝職工號姓名性別年齡工資所屬部門經(jīng)理編號301zhang3m282000401302wang3VJ322160401303wan1VJ3524

溫馨提示

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

評論

0/150

提交評論