![銷售公司人員管理_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/14/69d02ebd-3817-466c-9367-5e5c229a093e/69d02ebd-3817-466c-9367-5e5c229a093e1.gif)
![銷售公司人員管理_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/14/69d02ebd-3817-466c-9367-5e5c229a093e/69d02ebd-3817-466c-9367-5e5c229a093e2.gif)
![銷售公司人員管理_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/14/69d02ebd-3817-466c-9367-5e5c229a093e/69d02ebd-3817-466c-9367-5e5c229a093e3.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C+大作業(yè)報(bào)告班級: 031013學(xué)號:姓名:銷售公司員工管理一題目:設(shè)計(jì)一個(gè)虛基類 Staff (員工),包含編號、姓名和年齡保護(hù)數(shù)據(jù)成員以及相關(guān)的成員函 數(shù);由Staff派生出銷售員類 Salesman,包含銷售額保護(hù)數(shù)據(jù)成員以及相關(guān)的成員函數(shù);再 由Staff派生出經(jīng)理類Manager;然后由 Salesman和 Manager類派生出銷售經(jīng)理類SalesManager。設(shè)計(jì)一個(gè)利用文件處理方式實(shí)現(xiàn)對公司人員 (包括銷售員、 經(jīng)理和銷售經(jīng)理) 進(jìn)行管理, 具有增加數(shù)據(jù)、更新數(shù)據(jù)、查詢數(shù)據(jù)、刪除數(shù)據(jù)以及重組文件的功能。(刪除數(shù)據(jù)在記錄中做刪除標(biāo)志,重組文件指在物理上刪除有刪除標(biāo)志的記錄。
2、)另外要求分別統(tǒng)計(jì)這三類員工 的人數(shù)以及所有員工的總數(shù)。二 分析,流程及編程思想:首先定義一個(gè)虛基類 Staff類,然后通過虛擬繼承生成Salesman類和Manager類,最后由Salesman和Manager派生出銷售經(jīng)理類 SalesManager。這四個(gè)類中定義 InputFrom &n) 這一輸入函數(shù),另外每個(gè)類還定義輸入信息和輸出信息的成員函數(shù),之后定義 StaffChart、SalesmanChart、 ManagerChart 和 SalesManagerChart 四個(gè)類來,為實(shí)現(xiàn)增加、更新、查詢、 刪除以及特定類別人員顯示, 特定類別人員數(shù)目顯示的功能定義addItem、
3、modifyItem 、 find 、removeItem 以及 display、 findnumber 函數(shù)。 最后在主函數(shù)定義 Staff_Chart、 Salesman_Chart、 Manager_Chart 和 SalesManager_Chart 四個(gè)對象,通過循環(huán)執(zhí)行并用 switch 函數(shù)選擇功能, 然后調(diào)用相關(guān)的函數(shù)來實(shí)現(xiàn)各種功能。三 實(shí)驗(yàn)代碼:#includeiostream #includefstream using namespace std;class Staffprotected:char num10;char name10;int age;public:Staff
4、 * Next;void set_staff()coutnum;coutname; coutage;void InputFrom &in)innumnameage;void show()coutnumber:numendl; coutname:nameendl; coutage : ageendl;char *get_num()return num;char *get_name()return name;int get_age()return age;class Salesman:virtual public Staffprotected:int sales;public:Salesman *
5、 Next;void set_salesman()coutnum; coutname; coutage; coutsales;void InputFrom &in)innumnameagesales;void show_salesman()coutnumber : numendl; coutname : nameendl; coutage : ageendl; coutsales: salesendl;int get_sales()return sales;class Manager:virtual public Staffprotected:char job10;char dept10;pu
6、blic:Manager * Next;void set_manager()coutnum; coutname; coutage; coutjob; coutdept;void InputFrom &in) innumnameagejobdept;void show_manager()coutnumber : numendl; coutname : nameendl; coutage : ageendl; coutposition : jobendl; coutdepartment : deptendl;char *get_job()return job;char *get_dept()ret
7、urn dept;class SalesManager:public Salesman,public Managerpublic:SalesManager * Next;void set_salesmanager()coutnum; coutname; coutage; coutsales; coutjob; coutdept;void InputFrom &in) innumnameagesalesjobdept;void show_salesmanager()coutnumber : numendl; coutname : nameendl; coutage : ageendl; cout
8、sales: salesendl; coutposition : jobendl; coutdepartment : deptNext; for(p;p!=End;p=p-Next) p-show(); coutset_staff(); End-Next=new Staff;End=End-Next; save(); private:Staff * Head,* End; ifstream in; ofstream out;Staff * findItem(char * num) for(Staff * p=Head;p-Next!=End;p=p-Next) if(!strcmp(p-Nex
9、t-get_num() ,num) return p;return NULL; ;StaffChart:StaffChart()Head=new Staff; Head-Next=new Staff; End=Head-Next;in.open(StaffChart.txt); while(!in.eof() End-InputFrom); if(End-get_num()0=0) break;End-Next=new Staff; End=End-Next; in.close();StaffChart:StaffChart() for(Staff * temp;Head-Next!=End;
10、) temp=Head-Next; Head-Next=Head-Next-Next;delete temp;delete Head,End;void StaffChart:find()char num10;Staff * p=NULL;cinnum;cinnum;coutNext-show();else coutNot found!endlendl;void StaffChart:modifyItem()char num10;Staff * p=NULL;coutNext-show(); coutPlease input the new content : Next-set_staff();
11、else coutNot found!endlendl;save();void StaffChart:removeItem()char num10;Staff *p=NULL,*temp=NULL;coutnum; if(p=findItem(num) temp=p-Next; p-Next=p-Next-Next; delete temp;coutDeleted successfully!endlendl;elsecoutNot found!endlNext;p!=End;p=p-Next)outget_num() get_name() get_age()Next; while(p!=NUL
12、L) n+; p=p-Next;coutNumber of staff:n-1Next;p!=End;p=p-Next) p-show_salesman();void addItem() End-set_salesman(); End-Next=new Salesman; End=End-Next; save(); private:Salesman * Head,* End; ifstream in; ofstream out;Salesman * findItem(char * num) for(Salesman * p=Head;p-Next!=End;p=p-Next) if(!strc
13、mp(p-Next-get_num() ,num) return p;return NULL;SalesmanChart:SalesmanChart()Head=new Salesman; Head-Next=new Salesman; End=Head-Next;in.open(SalesmanChart.txt); while(!in.eof() End-InputFrom); if(End-get_num()0=0) break;End-Next=new Salesman; End=End-Next; in.close();SalesmanChart:SalesmanChart() fo
14、r(Salesman * temp;Head-Next!=End;) temp=Head-Next; Head-Next=Head-Next-Next; delete temp;delete Head,End;void SalesmanChart:find()char num10;Salesman * p=NULL;coutnum; if(p=findItem(num)p-Next-show_salesman();else coutNot found!endlendl;void SalesmanChart:modifyItem()char num10;Salesman * p=NULL;cou
15、tnum; if(p=findItem(num) p-Next-show_salesman(); coutPlease input the new content : Next-set_salesman();else coutNot found!endlendl;save();void SalesmanChart:removeItem()char num10;Salesman *p=NULL,*temp=NULL;coutnum; if(p=findItem(num) temp=p-Next; p-Next=p-Next-Next; delete temp;coutDeleted succes
16、sfully!endlendl;elsecoutNot found!endlNext;p!=End;p=p-Next) outget_num()get_name()get_age()get_sales()Next;while(p!=NULL) n+;p=p-Next;coutSales numbers:n-1Next; for(p;p!=End;p=p-Next) p-show_manager();void addItem()End-set_manager();End-Next=new Manager;End=End-Next; save();private:Manager * Head,*
17、End; ifstream in;ofstream out;Manager * findItem(char * num) for(Manager * p=Head;p-Next!=End;p=p-Next) if(!strcmp(p-Next-get_num() ,num) return p;return NULL;ManagerChart:ManagerChart()Head=new Manager; Head-Next=new Manager; End=Head-Next; in.open(ManagerChart.txt); while(!in.eof()End-InputFrom);
18、if(End-get_num()0=0) break;End-Next=new Manager; End=End-Next;in.close();ManagerChart:ManagerChart()for(Manager * temp;Head-Next!=End;) temp=Head-Next; Head-Next=Head-Next-Next; delete temp;delete Head,End;void ManagerChart:find()char num10;Manager * p=NULL;coutnum; if(p=findItem(num)p-Next-show_man
19、ager();else coutNot found!endlendl;void ManagerChart:modifyItem()char num10;Manager * p=NULL;coutnum; if(p=findItem(num) p-Next-show_manager(); coutPlease input the new content : Next-set_manager();else coutNot found!endlendl;save();void ManagerChart:removeItem()/ 刪除條目char num10;Manager *p=NULL,*tem
20、p=NULL;coutnum; if(p=findItem(num) temp=p-Next; p-Next=p-Next-Next; delete temp;coutDeleted successfully!endlendl;else coutNot found!endlNext;p!=End;p=p-Next)outget_num()get_name()get_age()get_job()get_dept()Next;while(p!=NULL) n+;p=p-Next;coutManager number:n-1Next;for(;p!=End;p=p-Next)p-show_sales
21、manager();void addItem()End-set_salesmanager();End-Next=new SalesManager;End=End-Next;save();private:SalesManager * Head,* End;ifstream in;ofstream out;SalesManager * findItem(char * num)for(SalesManager * p=Head;p-Next!=End;p=p-Next) if(!strcmp(p-Next-get_num() ,num) return p;return NULL;SalesManag
22、erChart:SalesManagerChart()Head=new SalesManager;Head-Next=new SalesManager;End=Head-Next;in.open(SalesManagerChart.txt);while(!in.eof()End-InputFrom);if(End-get_num()0=0)break;End-Next=new SalesManager;End=End-Next;in.close();SalesManagerChart:SalesManagerChart()for(SalesManager * temp;Head-Next!=E
23、nd;)temp=Head-Next;Head-Next=Head-Next-Next;delete temp;delete Head,End;void SalesManagerChart:find()char num10;SalesManager * p=NULL;coutnum; if(p=findItem(num)p-Next-show_salesmanager();else coutNot found!endlendl;void SalesManagerChart:modifyItem()char num10;SalesManager * p=NULL;coutnum; if(p=fi
24、ndItem(num) p-Next-show_salesmanager(); coutPlease input the new content : Next-set_salesmanager();else coutNot found!endlendl;save();void SalesManagerChart:removeItem()char num10;SalesManager *p=NULL,*temp=NULL;coutnum; if(p=findItem(num) temp=p-Next; p-Next=p-Next-Next; delete temp;coutDeleted suc
25、cessfully!endlendl;else coutNot found!endlNext;p!=End;p=p-Next)outget_num()get_name()get_age()get_sales()get_job()g et_dept()Next;while(p!=NULL) n+; p=p-Next;coutSales Manager for the number:n-1endl;return n-1;int main()int x,y,z;StaffChart Staff_Chart;SalesmanChart Salesman_Chart;ManagerChart Manag
26、er_Chart;SalesManagerChart SalesManager_Chart;bool quit=false;while(!quit)coutSelect function : n1.the increase of data t2. update data t3.query datat4.delete data t5. for specific categories of personnel t6. show the number of employees t7. exitx;switch(x)case 1:coutSelection for increased types: n
27、1. employee t2. Sales t3.Managert4.Sales Managery;switch(y)case 1:Staff_Chart.addItem();break;case 2:Salesman_Chart.addItem();break;case 3:Manager_Chart.addItem();break;case 4:SalesManager_Chart.addItem();break;default :coutInput error, program termination ! endl;exit(-1); break;case 2:coutSelect Up
28、date type: n1. employee t2. Sales t3.Manager t4.Sales Managery; switch(y) case 1:Staff_Chart.modifyItem();break;case 2:Salesman_Chart.modifyItem();break;case 3:Manager_Chart.modifyItem();break;case 4:SalesManager_Chart.modifyItem();break;default :coutInput error, program termination ! endl;exit(-1);
29、 break;case 3:coutChoose a query type: n1. employee t2. Sales t3.Manager t4.Sales Managery;switch(y)case 1:Staff_Chart.find();break;case 2:Salesman_Chart.find();break;case 3:Manager_Chart.find();break;case 4:SalesManager_Chart.find();break;default :coutInput error, program termination ! endl;exit(-1
30、); break;case 4:coutSelect Delete type : n1. employee t2. Sales t3.Manager t4.Sales Managery; switch(y) case 1:Staff_Chart.removeItem();break;case 2:Salesman_Chart.removeItem();break;case 3:Manager_Chart.removeItem();break;case 4:SalesManager_Chart.removeItem();break;default :coutInput error, progra
31、m termination ! endl;exit(-1); break;case 5:coutList of personnel selection type: n1. employee t2. Sales t3.Manager t4.Sales Managery;switch(y)case 1:Staff_Chart.display();break;case 2:Salesman_Chart.display();break;case 3:Manager_Chart.display();break;case 4:SalesManager_Chart.display();break;defau
32、lt :coutInput error, program termination ! endl;exit(-1); break;case 6:coutSelect view the number of types of staff : n1. employee t2. Sales t3.Manager t4.Sales Managert5.All personnel of the total number ofy; switch(y) case 1:Staff_Chart.findnumber();break;case 2:Salesman_Chart.findnumber();break;c
33、ase 3:Manager_Chart.findnumber();break; case 4:SalesManager_Chart.findnumber();break;case 5:z=Staff_Chart.findnumber()+Salesman_Chart.findnumber()+Manager_Chart.findnumber()+Sale sManager_Chart.findnumber();coutAll personnel a total : zendl; break;default :coutInput error, program termination ! endl
34、;exit(-1); break;case 7: quit=true;break; default : coutInput error, program termination ! c par I inic n t售 卻a nunber ; 2 the name: h the Ag*e a: 42 posit Ion: 經(jīng)理 the Departmen:卡肖售2fdata4. dele te data 5 . f ot*the hlimber of3friers;& input positiontPl&a&e enter the Depai*tncnt 銷售部 Function :dat a4
35、.de lathe nunbe r- o F11, the inci?easer ot d占七占 2 - uf)dat:e data 3 .query pec iFic cAtearies of personnel6 sliow7* axLt3-Manager4 - Sal&s HanagfdPleasePic a. eF LetiL-eH I卩Ez S 1 lr U- L-3 .quei*y data 4. de le6 . liou t he number aF1 Please inpuit the i*euis ion maneF ID: 1 nuinbei; 1haine: alaje
36、: 5iBposlcion;經(jīng)理Id&partciient ;十肖崔三pinput vh new content;nt&r ft numberi 1input the name: a input the age: Siinput position: 召王里2enter the Departnent:銷售邯 function ;11.the increase of data 2_ update data pec if Ijc categories of personnel 卩.exitXL? a pg it ion:經(jīng)理department - 銷售部Plfeasft inpud: the ne
37、w contentPlease enter 住 numbes?: 1.Pleas:& Please PleastPlease Select梢售部input the name: a input the age t 51 input positinn: enter the Department: Funct 3.on :3-query data 4 - dele 需- sliou t he ri u.nhe v- o f4 .Sales Heui也g詢:L the increase oF data 2- update data p*c if Lc catererof personnel7. exa
38、_tChoos:& a qwery type =:L tntplQee 2 Sales33Please input theRanker ID; 1nunher1: 1 nan&: aage: 51posit Urn:經(jīng)王學(xué)depart merit :銷售部Select function si . the inciease of data 2- Uficlate data 3 .quei*y data 4. dele pec if ic catEgorles of personnel6 - sliou the n umber- a F?, exit4-=C:UsersI zx Dm Ho pl
39、未恭名 1, exedata 4de 1 the nunbep of4.ales rtanayedata 4. de 1 t he numbe r o fList oF peirsonnel se lection type ;1 * enploee3 - Sales3 Manaei*nunbei-: 3s25 理銷皆部ne;售部ajje: 9position; ISdepaitmen t -numhei*- 1nane ; az; Siposit Lon:盤士里2ideprtnent:銷售部nunher ; 2netne : hajje: 42position: 經(jīng)理 亠department:于住悝部Select Function :1. the increase oF data 2- Ujpdate data 3 .query pec if IjC cate9oi?ies of personnel6 . sliou7 exitPl&a&e input the deletion nanager ID: 1 DL&td aueeessfully*Select Function1 * the increase oF data 2 - ujpdate dat
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代辦公模式下的軟件盜版防范策略研究
- 國慶節(jié)活動團(tuán)購活動方案
- 生態(tài)旅游規(guī)劃的核心策略案例研究報(bào)告
- Unit 2 My family(Period 4)(說課稿)-2024-2025學(xué)年人教大同版(2024)英語三年級上冊
- 12 盤古開天地 (說課稿)-2024-2025學(xué)年統(tǒng)編版語文四年級上冊
- 21三黑和土地 (說課稿)-2024-2025學(xué)年六年級上冊語文統(tǒng)編版
- 14文言文二則《兩小兒辯日》(說課稿)-2023-2024學(xué)年統(tǒng)編版語文六年級下冊
- 2024年五年級數(shù)學(xué)上冊 5 簡易方程第16課時(shí) 實(shí)際問題與方程(5)配套說課稿 新人教版
- 2024-2025學(xué)年高中物理 第10章 熱力學(xué)定律 4 熱力學(xué)第二定律說課稿1 新人教版選修3-3
- 2025道路綠化養(yǎng)護(hù)委托合同
- 2025民政局離婚協(xié)議書范本(民政局官方)4篇
- 2024年03月四川農(nóng)村商業(yè)聯(lián)合銀行信息科技部2024年校園招考300名工作人員筆試歷年參考題庫附帶答案詳解
- 小學(xué)一年級數(shù)學(xué)上冊口算練習(xí)題總匯
- 睡眠專業(yè)知識培訓(xùn)課件
- 潤滑油知識-液壓油
- 2024年江蘇省中醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 臨床思維能力培養(yǎng)
- 人教版高中物理必修第三冊第十章靜電場中的能量10-1電勢能和電勢練習(xí)含答案
- 2024年四川省巴中市級事業(yè)單位選聘15人歷年高頻難、易錯(cuò)點(diǎn)練習(xí)500題附帶答案詳解
- 《中國香文化》課件
- 蓋房四鄰簽字協(xié)議書范文
評論
0/150
提交評論