


版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、/ 852369.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。/#include "stdafx.h"#include <iostream>#include <fstream>#include <iomanip>#include <string>#include <string.h>#include <stdlib.h>#include<time.h>#include<windows.h>#include<conio.h>using namespace std; clas
2、s Staff / 聲明員工類(lèi)protected:int num,post;char name20;float income;public:friend class Boss;/ 在一個(gè)非成員函數(shù)中,要想訪問(wèn)類(lèi)的私有數(shù)據(jù)成員/ ,該函數(shù)必須聲明為該類(lèi)的友元函數(shù)Staff() / 聲明一個(gè)無(wú)參的構(gòu)造函數(shù) StaffStaff (int id,char *Name,int post,double pay);/ 定義一個(gè)有參的構(gòu)造函數(shù),用 參數(shù)的初始化表對(duì)數(shù)據(jù)成員初始化virtual double Pay()return 0;Staff :Staff (int id,char *Name,int P
3、ost,double pay)/ 在類(lèi)外定義有參構(gòu)造函數(shù)num=id;post=Post;income= pay; strcpy(name,Name);class TechniqueManager:public Staff / 聲明技術(shù)經(jīng)理類(lèi)public:TechniqueManager(int id,char *Name,int post,double pay):Staff (id,Name,post,pay)double Pay()return income=5000; void display();TechniqueManager();void TechniqueManager:disp
4、lay()/ 構(gòu)造函數(shù)"<<name<<" 技 術(shù) 經(jīng) 理Pay();cout<<num<<" "<<income<<endl;class BusinessManager:public Staff / 聲明業(yè)務(wù)經(jīng)理類(lèi)public:double Amount, Programe;amount,doubleamount,doubleBusinessManager(int id,char *Name,int post,double programe,double pay);void Set
5、Amount(double s,double d);double Pay(); BusinessManager();BusinessManager:BusinessManager(int id,char *Name,int post,double programe,double pay):Staff (id,Name,post,pay) / 構(gòu)造函數(shù)Amount=amount;Programe=programe;void BusinessManager:SetAmount(double s,double d)Amount=s;Programe=d;double BusinessManager:
6、Pay()return income=2000+Amount*15 /100+Programe*10/100;class Secretary:public Staff / 聲明文秘類(lèi)public:Secretary(int id,char *Name,int post,double pay):Staff (id,Name,post,pay)double Pay()return income=1500;void display();Secretary();void Secretary:display() / 構(gòu)造函數(shù)"<<name<<"文秘Pay();
7、cout<<num<<" "<<income<<endl;class Financial:public Staff / 聲明財(cái)務(wù)人員類(lèi)public:Financial(int id,char *Name,int post,double pay):Staff (id,Name,post,pay)double Pay()return income=2000;void display();Financial();void Financial:display() / 構(gòu)造函數(shù)Pay();cout<<num<<&
8、quot; "<<name<<" 財(cái) 務(wù)"<<income<<endl; class Sales:public Staff / 聲明業(yè)務(wù)人員類(lèi)public:double Amount,Programe;Sales(int id,char *Name,int post,double amount,double programe,double pay);void SetAmount(double s,double d);virtual double Pay();Sales();Sales:Sales(int id,cha
9、r *Name,int post,double amount,double programe,double pay):Staff (id,Name,post,pay)/ 在類(lèi)外定義有參構(gòu)造函數(shù)Amount=Amount;/ 銷(xiāo)售額 Programe=programe;/ 項(xiàng)目額double Sales:Pay()return income=Amount*15 /100+Programe*10/100;void Sales:SetAmount(double s,double d)Amount=s;Programe=d;class Technician:public Staff / 聲明技術(shù)員類(lèi)p
10、ublic:double Line;Technician(int id,char *Name,int post,double line,double (id,Name,post,pay) Line=line;double Pay();void display(); Technician();double Technician:Pay() / 在類(lèi)外定義無(wú)參構(gòu)造函數(shù)return income=Line;void Technician:display()Pay();cout<<num<<" "<<name<<" 技 &q
11、uot;<<income<<endl; class Boss / 聲明老板類(lèi)public:Boss();void Add();void Search();void Delete();void Modify();void DisPlay();Boss() ;void Boss:Add()time_t t = time(0);char tmp64;pay):Staff術(shù)人員strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第 %j 天 %z",localtime(&t) ); puts( tmp );St
12、aff p,*p1;int post,id;char Name20,ch;double pay,Amount,sell,programe;cout<<endl;cout<<endl;cout<<"nnnnttt"<<" 添加職工信息 "<<endl;cout<<"ttt"<<"1 技術(shù)經(jīng)理"<<endl;cout<<"ttt"<<"2 業(yè)務(wù)經(jīng)理"<&l
13、t;endl;cout<<"ttt"<<"3 文秘 "<<endl;cout<<"ttt"<<"4 業(yè)務(wù)人員"<<endl;cout<<"ttt"<<"5 技術(shù)人員"<<endl;cout<<"ttt"<<"6 財(cái)務(wù)人員"<<endl;do fstream file("company.
14、dat",ios:out|ios:app|ios:binary);/以寫(xiě) ,追加 ,二進(jìn)制形式打開(kāi)文件if(file.fail()cout<<"can not open file!"<<endl;cout<<endl<<" 輸入崗位 :" cin>>post;cout<<"編號(hào):";cin>>id;cout<<" 輸入姓名 :";cin>>Name; switch(post) case 1:p1=n
15、ew TechniqueManager(id,Name,post,0); / 聲明一個(gè)基類(lèi)的指針指向派生類(lèi), 用 new 創(chuàng)建了派生類(lèi)的對(duì)象pay=(*p1).Pay();p=TechniqueManager(id,Name,post,pay); break;case 2: cout<<"本月銷(xiāo)售額:"cin>>sell;cout<<"本月產(chǎn)品額:"cin>>programe;cout<<endl;p1=new BusinessManager(id,Name,post,sell,programe
16、,0); pay=(*p1).Pay();p=BusinessManager(id,Name,post,sell,programe,pay); break; case 3:p1=new Secretary(id,Name,post,0);pay=(*p1).Pay();p=Secretary(id,Name,post,pay); break;case 4:cout<<"本月銷(xiāo)售額:"cin>>sell;cout<<" 本月產(chǎn)品額 :"cin>>programe;cout<<endl;p1=new
17、 Sales(id,Name, post,sell,programe,0);pay=(*p1).Pay();p=Sales(id,Name, post,sell,programe,pay);break;case 5: cout<<" 代碼行數(shù) :"cin>>Amount;p1=new Technician(id,Name,post,Amount,0);pay=(*p1).Pay(); p=Technician(id,Name,post,Amount,pay);break;case 6:p1=new Financial(id,Name,post,0);
18、 pay=(*p1).Pay();p=Financial(id,Name,post,pay); break;file.write(char *)(&p),sizeof(p);/ 以寫(xiě)的方式讀入文件中file.close();cout<<"是否繼續(xù)添加?y或Y:繼續(xù) n或N:結(jié)束并返回主菜單bb"cin>>ch;if(ch = 'n'|ch = 'N')break;while(ch='y'|ch='Y');system(" cls");void Boss:Sea
19、rch() / 查找員工信息time_t t = time(0);char tmp64;strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第 %j 天 %z",localtime(&t) );puts( tmp );int d;Staff p; char ch;cout<<"nnnnnncout<<"ttt"<<"1cout<<"ttt"<<"2cout<<"ttt"
20、;<<"3查找員工信息 "<<endl; 技術(shù)經(jīng)理 "<<endl; 業(yè)務(wù)經(jīng)理 "<<endl;文秘 "<<endl;cout<<"ttt"<<"4cout<<"ttt"<<"5cout<<"ttt"<<"6業(yè)務(wù)人員 "<<endl; 技術(shù)人員 "<<endl; 財(cái)務(wù)人員 "
21、;<<endl;docout<<" 請(qǐng)輸入崗位 :" cin>>d;cout<<endl;fstream file("company.dat",ios:in|ios:binary);/ 以讀的方式打開(kāi)文件, if(file.fail()cout<<"can not open the file!"<<endl;while(file.read(char *)&p,sizeof(p)/ 文件中的內(nèi)容一個(gè)一個(gè)的讀出來(lái),不停止,直 到文件尾if(d=1&&a
22、mp;p.post=1)cout<<p.num<<""<<p.income<<endl;else if(d=2&&p.post=2)cout<<p.num<<""<<p.income<<endl;else if(d=3&&p.post=3)cout<<p.num<<""<<p.income<<endl;else if(d=4&&p.post=4)
23、cout<<p.num<<""<<p.income<<endl;else if(d=5&&p.post=5)cout<<p.num<<""<<p.income<<endl;else if(d=6&&p.post=6)cout<<p.num<<"t"<<<<""<<<<""&l
24、t;<<<""<<<<""<<<<""<<<<""<<" 技 術(shù) 經(jīng) 理 "<<""<<" 財(cái) 務(wù) 經(jīng) 理 "<<""<<" 文 秘 "<<""<<" 業(yè) 務(wù) 人 員
25、"<<""<<" 技 術(shù) 人 員 "<<""<<" 財(cái) 務(wù) 人 員 "<<""<<p.income<<endl;file.close();n或N :結(jié)束并返回主菜單bb"cout<<" 是否繼續(xù)添加? y 或 Y: 繼續(xù) cin>>ch;if(ch = 'n'|ch = 'N')break;while(ch='y'
26、;|ch='Y');system(" cls");void Boss:Modify() / 修改信息time_t t = time(0);char tmp64;strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第 %j 天 %z",localtime(&t) ); puts( tmp );char Name20;Staff p310;Staff *p1;Staff p;int post,id,i=0,j=0;double pay,Amount,sell,programe;修改員工信息 &q
27、uot;<<endl;cout<<"ttt"<<"1技術(shù)經(jīng)理 "<<endl;cout<<"ttt"<<"2cout<<"ttt"<<"3cout<<"ttt"<<"4cout<<"ttt"<<"5cout<<"ttt"<<"6業(yè)務(wù)經(jīng)理 &q
28、uot;<<endl; 文 秘 "<<endl; 業(yè)務(wù)人員 "<<endl; 技術(shù)人員 "<<endl; 財(cái)務(wù)人員 "<<endl;cout<<"nnnnnncout<<"輸入所要修改員工的編號(hào):cin>>id;fstream file("company.dat",ios:in|ios:binary); if(file.fail()cout<<"can not open the file!"
29、;<<endl;file.seekg(0,ios:beg);/ 把文件指針?lè)旁谖募拈_(kāi)始while(file.read(char *)&p,sizeof(p)p3i=p;if(p3i.num=id)cout<<" 修改崗位為 :"cin>>post;cout<<" 修改名字為 :"cin>>Name; cout<<endl;switch(post) case 1:p1=new TechniqueManager(id,Name,post,0); pay=(*p1).Pay();
30、p3i=TechniqueManager(id,Name,post,pay); break;case 2:cout<<" 銷(xiāo)售額 : " cin>>sell; cout<<" 產(chǎn)品額: " cin>>programe; cout<<endl;p1=new BusinessManager(id,Name, post,sell,programe,0); pay=(*p1).Pay();p3i=BusinessManager(id,Name, post,sell,programe,pay); brea
31、k;case3:p1=newSecretary(id,Name,post,0);pay=(*p1).Pay();p3i=Secretary(id,Name,post,pay);break;case 4:cout<<" 銷(xiāo)售額 : " cin>>sell; cout<<" 產(chǎn)品額: " cin>>programe; cout<<endl; p1=new Sales(id,Name, post,sell,programe,0); pay=(*p1).Pay();p3i=Sales(id,Name,
32、post,sell,programe,pay); break; case 5:cout<<" 代碼行數(shù) :"cin>>Amount; cout<<endl; p1=new Technician(id,Name,post,Amount,0); pay=(*p1).Pay();p3i=Technician(id,Name,post,Amount,pay);case6:p1=newFinancial(id,Name,post,0);pay=(*p1).Pay();p3i=Financial(id,Name,post,pay);break; i+
33、;file.close();ofstream file1("company.dat",ios:out|ios:binary); if(file1.fail()cout<<"can not open the file!"<<endl; for(j=0;j<i;j+) / 把修改后的信息存入文件中 file1.write(char *)&p3j,sizeof(p3j); file1.close();system(" cls");void Boss:Delete() / 刪除人員 time_t t =
34、time(0);char tmp64;strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A 本年第 %j 天 %z",localtime(&t) ); puts( tmp );int num,i,j=0;Staff p110;Staff p;char ch;doi=0;cout<<" 刪除員工信息 "cout<<" 編號(hào): "cin>>num;fstream file("company.dat",ios:in|ios:binary); /
35、 輸入文件流類(lèi)if(file.fail()cout<<"can not open the file!"<<endl;while(file.read(char *)&p,sizeof(p)if(p.num=num)switch(p.post)case 1:cout<<p.num<<" "<<<<" "<<" 技 術(shù) 經(jīng) 理 "<<" "<<p.income<<
36、endl;break;case 2:cout<<p.num<<" "<<<<" "<<" 財(cái) 務(wù) 經(jīng) 理 "<<" "<<p.income<<endl;break;case 3:cout<<p.num<<""<<<<""<<" 文秘"<<""<
37、;<p.income<<endl; break;case 4:cout<<p.num<<" "<<p.income<<endl;break;case 5:"<<<<""<<" 業(yè) 務(wù)人員"<<"cout<<p.num<<" "<<p.income<<endl;break;case 6:"<<
38、<<""<<" 技術(shù)員"<<"cout<<p.num<<""<<p.income<<endl;break;"<<<<""<<" 財(cái) 務(wù)人員"<<"elsep1i=p;i+;file.close();fstream file1("company.dat",ios:out|ios:binary);/ 輸出文件
39、流類(lèi)if(file1.fail() cout<<"can not open the file!"<<endl;for(j=0;j<i;j+)file1.write(char *)&p1j,sizeof(p1j);file1.close();cout<<"是否繼續(xù)添加?y或Y:繼續(xù) n或N:結(jié)束并返回主菜單bb"cin>>ch;if(ch = 'n'|ch = 'N')break;while(ch='y'|ch='Y');syste
40、m(" cls");void Boss:DisPlay()/ 顯示人員信息Staff p;/P 是職員類(lèi)的對(duì)象cout<<" 編號(hào) "<<"I "<<" 員工姓名 "<<"I "<<" "<<"I "<<endl;級(jí)別"<<"I "<<"fstream file("company.dat",
41、ios:in|ios:out|ios:binary); if(file.fail()cout<<"can not open the file!"<<endl;while(file.read(char *)(&p),sizeof(p)/ cout<<" 編號(hào)"<<endl;switch(p.post)II<<"姓名"<<"崗位"<<"case 1:cout<<""<<set
42、w(6)<<" 技術(shù)經(jīng)理 "<<"case 2:cout<<""<<setw(6)<<" 業(yè)務(wù)經(jīng)理 "<<"case 3:cout<<""<<setw(6)<<" 文秘 "<<"case 4:cout<<""<<setw(6)<<" 業(yè)務(wù)人員 "<<"
43、case 5:cout<<""<<setw(6)<<" 技術(shù)人員 "<<"case 6:cout<<""<<setw(6)<<" 財(cái)務(wù)人員 "<<"file.close();cout << "n 按任意鍵返回主菜單 getch();getchar();"<<p.num<<""<<p.income<<en
44、dl;break;"<<p.num<<""<<p.income<<endl; break;"<<p.num<<""<<p.income<<endl;"<<p.num<<""<<p.income<<endl;"<<p.num<<""<<setw(6)<<<<&quo
45、t;"<<setw(6)<<<<""<<setw(6)<<<<"break;break;"<<p.income<<endl; break;"<<p.num<<""<<p.income<<endl; break;n""<<setw(6)<<<<""<<setw(6)<<
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- TD/T 1034-2013市(地)級(jí)土地整治規(guī)劃編制規(guī)程
- 2025年中考語(yǔ)文模擬試卷
- 2003年江蘇省徐州市中考數(shù)學(xué)真題【含答案、解析】【含答案、解析】
- 考研復(fù)習(xí)-風(fēng)景園林基礎(chǔ)考研試題附參考答案詳解【鞏固】
- 考研復(fù)習(xí)-風(fēng)景園林基礎(chǔ)考研試題(培優(yōu)b卷)附答案詳解
- 風(fēng)景園林基礎(chǔ)考研資料試題及參考答案詳解【b卷】
- 2025-2026年高校教師資格證之《高等教育法規(guī)》通關(guān)題庫(kù)附答案詳解(研優(yōu)卷)
- 2025年K12課外輔導(dǎo)行業(yè)雙減政策對(duì)行業(yè)培訓(xùn)機(jī)構(gòu)的挑戰(zhàn)與機(jī)遇報(bào)告
- 2024年消防條令綱要知識(shí)考試題庫(kù)帶答案(培優(yōu)b卷)
- 2025年普通高等學(xué)校招生全國(guó)統(tǒng)一考試數(shù)學(xué)試題(全國(guó)一卷)(有解析)
- 保姆帶小孩合同協(xié)議書(shū)
- 全國(guó)導(dǎo)游資格證考試《全導(dǎo)+地導(dǎo)》真題及答案(2025年新版)
- 2025-2030中國(guó)智能功率模塊(IPM)行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025春季學(xué)期國(guó)開(kāi)電大專(zhuān)科《中級(jí)財(cái)務(wù)會(huì)計(jì)(二)》一平臺(tái)在線形考(第一至四次形考任務(wù))試題及答案
- 2025內(nèi)蒙古土地資源收儲(chǔ)投資(集團(tuán))有限公司常態(tài)化招聘50名急需緊缺專(zhuān)業(yè)人員(第十二批)筆試參考題庫(kù)附帶答案詳解
- 個(gè)人商業(yè)計(jì)劃書(shū)范文5篇
- 廣西壯族自治區(qū)貴港市“貴百河”聯(lián)考2024-2025學(xué)年高一下學(xué)期5月月考化學(xué)試卷(含答案)
- 2025年反恐與公共安全管理職業(yè)資格考試試卷及答案
- 2025高考語(yǔ)文押題作文10篇
- 智慧樹(shù)知到《職業(yè)生涯規(guī)劃-體驗(yàn)式學(xué)習(xí)》(華僑大學(xué))見(jiàn)面課、章節(jié)測(cè)試、期末考試答案
- 基于GIS的公共服務(wù)設(shè)施選址優(yōu)化模型與實(shí)證分析
評(píng)論
0/150
提交評(píng)論