小型公司工資管理系統(tǒng)實(shí)習(xí)報(bào)告_第1頁
小型公司工資管理系統(tǒng)實(shí)習(xí)報(bào)告_第2頁
小型公司工資管理系統(tǒng)實(shí)習(xí)報(bào)告_第3頁
小型公司工資管理系統(tǒng)實(shí)習(xí)報(bào)告_第4頁
小型公司工資管理系統(tǒng)實(shí)習(xí)報(bào)告_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、中國石油大學(xué)(華東)信息與控制工程學(xué)院程序設(shè)計(jì)實(shí)習(xí)報(bào)告小型公司工資管理系統(tǒng)設(shè)計(jì)專業(yè)班級(jí):電子1403學(xué)號(hào):14050203*姓名:張恩賜 實(shí)習(xí)時(shí)間:2015年7月6日7月10日2015年7月目錄一、 實(shí)習(xí)內(nèi)容-1二、 設(shè)計(jì)思路-2三、 程序調(diào)試過程中典型問題及解決方法-3四、 源程序代碼-4五、 程序使用說明-23六、 總結(jié)及心得體會(huì)-28 / 30文檔可自由編輯打印一、實(shí)習(xí)內(nèi)容1、設(shè)計(jì)目的:以程序設(shè)計(jì)語言(C/C+)為基礎(chǔ),針對(duì)具有一定難度的綜合性題目,進(jìn)行分析、編程、調(diào)試和運(yùn)行,進(jìn)一步掌握面向過程和面向?qū)ο蟪绦蛟O(shè)計(jì)的基本方法和編程技巧,鞏固所學(xué)理論知識(shí),是理論與實(shí)踐相結(jié)合,提高分析問題、解

2、決問題的能力。通過設(shè)計(jì)一個(gè)簡單的小型公司工資管理系統(tǒng),進(jìn)一步熟悉C+中類的概念、類的封裝、繼承和多態(tài)的實(shí)現(xiàn)方式。了解系統(tǒng)開發(fā)的需求分析、類層次設(shè)計(jì)、模塊分析、編碼測(cè)試、模塊組裝與整體調(diào)試的全過程;逐步熟悉程序設(shè)計(jì)的方法,并養(yǎng)成良好的編程習(xí)慣。2、設(shè)計(jì)要求:(1)公司主要有4類人員:經(jīng)理、技術(shù)員、銷售員、銷售經(jīng)理。要求存儲(chǔ)這些人的職工號(hào)、姓名、月工資、崗位、年齡、性別等信息。(2)工資的計(jì)算方法:A.經(jīng)理:固定月薪為8000;B.技術(shù)員:工作時(shí)間*小時(shí)工資(100元每小時(shí));C.銷售員:銷售額*4%提成;D.銷售經(jīng)理:底薪(5000)+所轄部門銷售額總額*0.5%;(3)輸入數(shù)據(jù)要求每類人員不能

3、少于2人,并按以下格式輸出:職工號(hào)姓名性別年齡崗位工資排名(4)部門業(yè)績表某銷售經(jīng)理所轄部門各銷售員的業(yè)績及自己的工資表(5)菜單要求:要有一個(gè)菜單,用于選擇各項(xiàng)功能,其中1.數(shù)據(jù)錄入:輸入各種數(shù)據(jù);2.數(shù)據(jù)統(tǒng)計(jì):統(tǒng)計(jì)各種數(shù)據(jù);3.數(shù)據(jù)打印:打印上述表格;4.數(shù)據(jù)備份:把相關(guān)數(shù)據(jù)寫入文件;5.退出:退出本系統(tǒng);二、設(shè)計(jì)思路1.4個(gè)主要功能設(shè)置為4個(gè)函數(shù)(指前四個(gè)功能);主體用swith()來實(shí)現(xiàn)功能選擇;2.四個(gè)職員都具有姓名,性別,年齡三個(gè)屬性,可以設(shè)置為一個(gè)基類包含這三個(gè)屬性;這樣這四類職員可設(shè)為派生類;3.按功能分步來做。 三、程序調(diào)試過程中典型問題及解決方法1.對(duì)象數(shù)組的設(shè)置,這里的對(duì)

4、象數(shù)組的元素多少可以動(dòng)態(tài)設(shè)置。后來了解到new運(yùn)算符。2.受保護(hù)的成員數(shù)據(jù)的訪問。在類中定義非空函數(shù)返回受保護(hù)的成員函數(shù)值;在需要變動(dòng)的受保護(hù)成員函數(shù)(如銷售經(jīng)理的工資)的訪問中,與前面不同的是在類中定義的非空函數(shù)加入了參數(shù)。3.表格因輸入數(shù)據(jù)影響不會(huì)一直對(duì)齊。后來了解到setw()函數(shù)。四、源程序代碼#include#include/stew()函數(shù)所在的頭文件#include/文件輸入輸出流函數(shù)所在頭文件#include/exit()退出函數(shù)所在頭文件#includeusing namespace std;/用來接收用戶指令int pi;class technology; /定義了指向類類

5、型technology的數(shù)據(jù)的指針變量technology *t; class manager;manager *m;class salesman;salesman *sn;class salesmanager;salesmanager *sr;/我們定義了一個(gè)基類;該基類包含了公司4類人員的基本屬性:姓名,性別,年齡。class employeepublic:void input_data_employee();string get_name()return name;char get_sex()return sex;int get_age()return age;protected:str

6、ing name;char sex;int age;void employee:input_data_employee() coutname; coutsex; coutage;/定義技術(shù)人員類,繼承方式為公有繼承。class technology:public employeepublic:void input_data_tecnology_number();void input_data_tecnology_time();int get_tecnology_number( ) return tecnology_number;double get_tecnology_time() retur

7、n tecnology_time;protected: int tecnology_number; double tecnology_time;void technology:input_data_tecnology_number()couttecnology_number;void technology:input_data_tecnology_time()couttecnology_time;/定義經(jīng)理類,繼承方式為公有繼承class manager:public employeepublic:void input_data_manager_number();int get_manager

8、_number()return manager_number;protected:int manager_number;void manager:input_data_manager_number()coutmanager_number;/定義銷售人員類class salesman:public managerpublic: void input_data_salesman_number(); void input_data_salesman_saleavolume(); void input_data_salesman_classification(); int get_salesman_n

9、umber() return salesman_number; double get_salesman_saleavolume() return salesman_saleavolume; int get_salesman_classification() return salesman_classification;protected:int salesman_number; double salesman_saleavolume; int salesman_classification; ;void salesman:input_data_salesman_number()coutsale

10、sman_number;void salesman:input_data_salesman_saleavolume()coutsalesman_saleavolume;void salesman:input_data_salesman_classification()coutsalesman_classification;/定義銷售經(jīng)理類class salesmanager:public managerpublic: void input_data_salesmanager_number(); int get_salesmanager_number() return salesmanager_

11、number; double get_salesmanager_salary() return salesmanager_salary; void caculation_salesmanager_salary(double caculation_salesmanager_salar) salesmanager_salary=caculation_salesmanager_salar;protected:int salesmanager_number;double salesmanager_salary;void salesmanager:input_data_salesmanager_numb

12、er()coutsalesmanager_number;/第一部分:數(shù)據(jù)的輸入/全局變量,用來儲(chǔ)存各個(gè)人員的人數(shù)int technology_quantity,manager_quantity,salesman_quantity,salesmanager_quantity;/定義全局變量,用于判斷是否已經(jīng)輸入數(shù)據(jù)int e=0;/各類人員人數(shù)輸入函數(shù)void quantity()couttechnology_quantity;coutmanager_quantity;coutsalesman_quantity;coutsalesmanager_quantity;/輸入各人員的相關(guān)信息函數(shù)voi

13、d information() for(int i=0;itechnology_quantity;i+)ti.input_data_tecnology_number();ti.input_data_employee();ti.input_data_tecnology_time();cout-endl;for( i=0;imanager_quantity;i+) mi.input_data_manager_number(); mi.input_data_employee(); cout-endl; for( i=0;isalesman_quantity;i+) sni.input_data_sa

14、lesman_number(); sni.input_data_employee(); sni.input_data_salesman_saleavolume(); sni.input_data_salesman_classification(); cout-endl; for( i=0;isalesmanager_quantity;i+) sri.input_data_salesmanager_number(); sri.input_data_employee(); cout-endl; / 開辟了用來存放對(duì)象數(shù)組的空間,并將對(duì)象數(shù)組的首地址返回給指針變量t/數(shù)據(jù)的輸入void input_

15、data() quantity(); t=new technologytechnology_quantity; m=new managermanager_quantity; sn=new salesmansalesman_quantity; sr=new salesmanagersalesmanager_quantity; information(); e=1; / / /第二部分:數(shù)據(jù)的統(tǒng)計(jì) / /輸出銷售員的相關(guān)信息void out1()for(int j=0;jsalesmanager_quantity;j+)cout職工號(hào)為srj.get_salesmanager_number()銷售

16、經(jīng)理srj.get_name()下屬銷售員的業(yè)績?yōu)閑ndl; coutendl; cout 職工號(hào) 姓名 銷售額 endl; double sum=0; for(int k=0;ksalesman_quantity;k+) if(snk.get_salesman_classification()=srj.get_salesmanager_number() sum=sum+snk.get_salesman_saleavolume(); coutendl;coutsetw(10)snk.get_salesman_number()setw(10)snk.get_name()setw(10)snk.g

17、et_salesman_saleavolume()endl; coutendl;cout銷售額總計(jì)setw(22) sumendl;coutendl; srj.caculation_salesmanager_salary(sum*0.005+5000);/冒泡法排序void sort()for(int i2=0;i2salesmanager_quantity;i2+)for(int j2=0;j2srj2.get_salesmanager_salary() salesmanager t1;t1=srj2+1;srj2+1=srj2;srj2=t1;/輸出冒泡法排序后的結(jié)果void out2()

18、 cout銷售經(jīng)理按工資排序?yàn)椋篹ndl; coutendl; cout 職工號(hào) 姓名 性別 年齡 工資 endl;for(int k2=0;k2salesmanager_quantity;k2+) coutendl; coutsetw(10)srk2.get_salesmanager_number()setw(10)srk2.get_name()setw(10)srk2.get_sex()setw(10)srk2.get_age()setw(10)srk2.get_salesmanager_salary()endl; coutendl;cout-endl;void statistics_da

19、ta() out1(); sort(); out2();/第三部分?jǐn)?shù)據(jù)的打印/void print_data() cout職工基本情況一覽表如下:endl; /技術(shù)員信息 cout技術(shù)員endl; coutendl; cout 職工號(hào) 姓名 性別 年齡 工資 endl;for(int k3=0;k3technology_quantity;k3+) coutendl; coutsetw(10)tk3.get_tecnology_number()setw(10)tk3.get_name()setw(10)tk3.get_sex()setw(10)tk3.get_age()setw(10)tk3.g

20、et_tecnology_time()*100endl; coutendl;cout-endl; /經(jīng)理信息 cout經(jīng)理endl; coutendl; cout 職工號(hào) 姓名 性別 年齡 工資 endl;for(int i3=0;i3manager_quantity;i3+) coutendl; coutsetw(10)mi3.get_manager_number()setw(10)mi3.get_name()setw(10)mi3.get_sex()setw(10)mi3.get_age()setw(10)8000endl; coutendl;cout-endl;/銷售經(jīng)理信息 cout銷

21、售經(jīng)理endl; coutendl; cout 職工號(hào) 姓名 性別 年齡 工資 endl;for(int j3=0;j3salesmanager_quantity;j3+) coutendl; coutsetw(10)srj3.get_salesmanager_number()setw(10)srj3.get_name()setw(10)srj3.get_sex()setw(10)srj3.get_age()setw(10)srj3.get_salesmanager_salary()endl; coutendl;cout-endl;/銷售員信息 cout銷售員endl; coutendl; c

22、out 職工號(hào) 姓名 性別 年齡 工資 所屬經(jīng)理編號(hào)endl;for(int n3=0;n3salesman_quantity;n3+) coutendl; coutsetw(10)snn3.get_salesman_number()setw(10)snn3.get_name()setw(10)snn3.get_sex()setw(10)snn3.get_age()setw(10)snn3.get_salesman_saleavolume()*0.04setw(12)snn3.get_salesman_classification()endl; coutendl;cout-endl;/第四部分

23、數(shù)據(jù)備份/void backup_data() /定義對(duì)象outfile ofstream outfile; /對(duì)象執(zhí)行動(dòng)作 out(公司職工信息備份.txt); /輸出數(shù)據(jù) outfile職工基本情況一覽表如下:endl; /技術(shù)員信息 outfile技術(shù)員endl; outfileendl; outfile 職工號(hào) 姓名 性別 年齡 工資 endl;for(int k3=0;k3technology_quantity;k3+) outfileendl; outfilesetw(10)tk3.get_tecnology_number()setw(10)tk3.get_name()setw(1

24、0)tk3.get_sex()setw(10)tk3.get_age()setw(10)tk3.get_tecnology_time()*100endl; outfileendl;outfile-endl; /經(jīng)理信息 outfile經(jīng)理endl; outfileendl;outfile 職工號(hào) 姓名 性別 年齡 工資 endl;for(int i3=0;i3manager_quantity;i3+) outfileendl; outfilesetw(10)mi3.get_manager_number()setw(10)mi3.get_name()setw(10)mi3.get_sex()se

25、tw(10)mi3.get_age()setw(10)8000endl; outfileendl;outfile-endl;/銷售經(jīng)理信息 outfile銷售經(jīng)理endl; outfileendl; outfile 職工號(hào) 姓名 性別 年齡 工資 endl;for(int j3=0;j3salesmanager_quantity;j3+) outfileendl; outfilesetw(10)srj3.get_salesmanager_number()setw(10)srj3.get_name()setw(10)srj3.get_sex()setw(10)srj3.get_age()setw(10)srj3.get_salesmanager_salary()endl; outfileendl;outfile-endl;/銷售員信息 outfile銷售員endl; outfileendl; outfile 職工號(hào) 姓名 性別 年齡 工資 endl;for(int n3=0;n3salesman_quantity;n3+) outfileendl; outfilese

溫馨提示

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

評(píng)論

0/150

提交評(píng)論