


版權(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ù)中,要想訪(fǎng)問(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高層精裝二手房買(mǎi)賣(mài)合同書(shū)7篇
- 《北極星“不動(dòng)”的秘密》學(xué)習(xí)任務(wù)單
- 2025年高中化學(xué)新教材同步 必修第一冊(cè) 第2章 第2節(jié) 第2課時(shí) 氯氣的實(shí)驗(yàn)室制法 氯離子的檢驗(yàn)
- 108-信息發(fā)布系統(tǒng)
- 小學(xué)英語(yǔ)稱(chēng)呼用語(yǔ)試卷
- 彩色等離子體顯示屏專(zhuān)用系列光刻漿料市場(chǎng)分析及競(jìng)爭(zhēng)策略分析報(bào)告
- 與國(guó)企合作合同范本
- 供氧安裝合同范本
- 建筑架子工題庫(kù)+參考答案
- 三年級(jí)第二學(xué)期班主任工作總結(jié)
- 2025年上半年潛江市城市建設(shè)發(fā)展集團(tuán)招聘工作人員【52人】易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 旋轉(zhuǎn)類(lèi)機(jī)電設(shè)備故障預(yù)測(cè)、診斷研究
- 旅游電子商務(wù)(第2版) 課件全套 周春林 項(xiàng)目1-8 電子商務(wù)概述-旅游電子商務(wù)數(shù)據(jù)挖掘
- 企業(yè)承包經(jīng)營(yíng)合同范本
- 中學(xué)校長(zhǎng)2025春開(kāi)學(xué)典禮講話(huà):以黃旭華之魂、DeepSeek 之智、哪吒之氣逐夢(mèng)新程
- 【課件】自然環(huán)境課件-2024-2025學(xué)年七年級(jí)地理下冊(cè)人教版
- 2025年01月公安部第三研究所公開(kāi)招聘人民警察筆試筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2025-2030全球鋰電池用隔膜行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年南京鐵道職業(yè)技術(shù)學(xué)院高職單招高職單招英語(yǔ)2016-2024歷年頻考點(diǎn)試題含答案解析
- 《抖音高活躍群體研究報(bào)告》
- 2025年高考作文備考訓(xùn)練之二元思辨作文題目解析及范文:我與“別人”
評(píng)論
0/150
提交評(píng)論