#include <iostream>
#include <string>
#include<iomanip>
#include <fstream>
using namespace std;
fstream file;
class Employee //隅砱價濬
{
public:
void input0()
{
cout<<" 晤瘍: "; cin>>num;
cout<<" 俷靡: "; cin>>name;
cout<<" 俶梗(m/w): "; cin>>gender;
cout<<" 爛鍵: "; cin>>age;
}
int num0() { return num;}
string name0() { return name;}
char gender0() { return gender;}
int age0() { return age;}
protected:
int num,age; string name; char gender;
};
class Manager:public Employee //冪燴濬
{
public:
void output1()
{
cout<<"念岸岸岸岸拈岸岸岸拈岸岸岸岸拈岸岸岸岸拈岸岸岸岸岸岸怕"<<endl;
cout<<"岫"<<setw(8)<<num<<"岫"<<setw(6)<<name<<"岫"<<setw(8)<<gender<<"岫"<<setw(8)<<age<<"岫"<<setw(12)<<"8000"<<"岫"<<endl;
}
};
class Technician:public Employee //撮扲埜濬
{
public:
void input2()
{
input0();
cout<<" 馱釬奀潔: "; cin>>workhour;
}
void output2()
{
cout<<"念岸岸岸岸拈岸岸岸拈岸岸岸岸拈岸岸岸岸拈岸岸岸岸岸岸怕"<<endl;
cout<<"岫"<<setw(8)<<num<<"岫"<<setw(6)<<name<<"岫"<<setw(8)<<gender<<"岫"<<setw(8)<<age<<"岫"<<setw(12)<<int(workhour*100)<<"岫"<<endl;
}
int time2() { return workhour; }
protected:
int workhour;
};
class Salesperson:public Employee //种忮埜濬
{
public:
void input3()
{
input0();
cout<<" 种忮塗: "; cin>>amount;
cout<<" 垀扽种忮冪燴腔晤瘍: "; cin>>f;
}
void out()
{
cout<<"念岸岸岸岸岸岸拈岸岸岸岸岸拈岸岸岸岸岸岸怕"<<endl;
cout<<"岫"<<setw(9)<<num<<" 岫"<<setw(9)<<name<<" 岫"<<setw(9)<<amount<<" 岫"<<endl;
}
void output3()
{
cout<<"念岸岸岸岸拈岸岸岸拈岸岸岸岸拈岸岸岸岸拈岸岸岸岸岸拈岸岸岸岸岸岸岸岸岸怕"<<endl;
cout<<"岫"<<setw(8)<<num<<"岫"<<setw(6)<<name<<"岫"<<setw(8)<<gender<<"岫"<<setw(8)<<age<<"岫"<<setw(10)<<int(amount*0.04)<<"岫"<<setw(18)<<f<<"岫"<<endl;
}
int amount3() { return amount; }
int f3() { return f; }
protected:
int amount,f;
};
class Salesmanager:public Employee //种忮冪燴濬
{
public:
void output4()
{
cout<<"念岸岸岸岸拈岸岸岸拈岸岸岸岸拈岸岸岸岸拈岸岸岸岸岸岸怕"<<endl;
cout<<"岫"<<setw(8)<<num<<"岫"<<setw(6)<<name<<"岫"<<setw(8)<<gender<<"岫"<<setw(8)<<age<<"岫"<<setw(12)<<int(5000+0.005*salary)<<"岫"<<endl;
}
void fileoutput4()
{
file<<"念岸岸岸岸拈岸岸岸拈岸岸岸岸拈岸岸岸岸拈岸岸岸岸岸岸怕"<<endl;
file<<"岫"<<setw(8)<<num<<"岫"<<setw(6)<<name<<"岫"<<setw(8)<<gender<<"岫"<<setw(8)<<age<<"岫"<<setw(12)<<int(5000+0.005*salary)<<"岫"<<endl;
}
void sala4(int a) { salary=a;}
int salary4() { return salary;}
protected:
int salary;
};
//眕狟岆勤砓麼勤砓杅郪腔隅砱
Manager man[4]; Technician tec[4];
Salesperson sel[8]; Salesmanager sma[4];
//眕狟岆滲杅汒隴
void main_menu(); void input(); void asd(); void print(); void backup();
//眕狟岆�姥眻靾蕊例�
int i,sa[4];
int main() //翋滲杅
{
int operate;
do
{
main_menu(); cin>>operate;
switch(operate)
{
case 1:input();break;
case 2:asd();break;
case 3:print();break;
case 4:backup();break;
case 5:
{
char t;
cout<<"蠟�毓例肺佼鷈艞諦佼鬕瘉諻� Y,瘁ㄩ③偌N"<<endl;
cout<<"③恁寁: "; cin>>t;
for(;;)
{
if(t!='n'&&t!='N'&&t!='y'&&t!='Y')
cout<<"蠟腔恁寁衄昫ㄛ③笭陔恁寁(Y/N): ";
else break; cin>>t;
}
if(t=='n'||t=='N')
; //諾逄曆※;§
else return 0;//Ч秶賦旰最唗堍俴ㄐ
break;
}
break;
default:
cout<<"怀�賵簊鞶甭鄵寪�1-5潔腔怀��"<<endl;break;
}
}while(1);
return 0;
}
void main_menu() //隅砱翋粕等滲杅
{
cout<<"﹛∴∴苤倰鼠侗馱訧奪燴炵苀∴∴"<<endl;
cout<<"庚岸岸岸岸岸岸岸岸岸岸岸岸岸岸庖"<<endl;
cout<<"岫 ﹛ ③恁寁蠟垀剒腔紱釬 岫"<<endl;
cout<<"岫 ﹛ 杅擂怀��:1,甜偌隙陬瑩 岫"<<endl;
cout<<"岫 ﹛ 杅擂苀數:2,甜偌隙陬瑩 岫"<<endl;
cout<<"岫 ﹛ 杅擂湖荂:3,甜偌隙陬瑩 岫"<<endl;
cout<<"岫 ﹛ 杅擂掘爺:4,甜偌隙陬瑩 岫"<<endl;
cout<<"岫 ﹛ 豖堤炵苀:5,甜偌隙陬瑩 岫"<<endl;
cout<<"弩岸岸岸岸岸岸岸岸岸岸岸岸岸岸彼"<<endl;
cout<<"③恁寁珨跺紱釬: ";
}
void secondary_menu() //隅砱棒撰粕等滲杅
{
cout<<" ∴∴苤倰鼠侗馱訧奪燴炵苀∴∴"<<endl;
cout<<"庚岸岸岸岸岸岸岸岸岸岸岸岸岸岸岸岸岸庖"<<endl;
cout<<"岫 ③恁寁蠟垀剒腔紱釬 岫"<<endl;
cout<<"岫 冪燴杅擂 :1,甜偌隙陬瑩 岫"<<endl;
cout<<"岫 撮扲埜杅擂 :2,甜偌隙陬瑩 岫"<<endl;
cout<<"岫 种忮埜杅擂 :3,甜偌隙陬瑩 岫"<<endl;
cout<<"岫 种忮冪燴杅擂 :4,甜偌隙陬瑩 岫"<<endl;
cout<<"岫 殿隙奻珨撰 :5,甜偌隙陬瑩 岫"<<endl;
cout<<"弩岸岸岸岸岸岸岸岸岸岸岸岸岸岸岸岸岸彼"<<endl;
cout<<"③恁寁珨跺紱釬: ";
}
void line() //隅砱line滲杅
{ cout<<"帕帕帕帕帕帕帕帕帕帕" <<endl; }
void form() //隅砱form滲杅
{
cout<<"庚岸岸岸岸房岸岸岸房岸岸岸岸房岸岸岸岸房岸岸岸岸岸岸庖"<<endl;
cout<<"岫 眥馱瘍 岫 俷靡 岫 俶梗 岫 爛鍵 岫 馱訧 岫"<<endl;
}
void forms() //隅砱forms滲杅
{
file<<"庚岸岸岸岸房岸岸岸房岸岸岸岸房岸岸岸岸房岸岸岸岸岸岸庖"<<endl;
file<<"岫 眥馱瘍 岫 俷靡 岫 俶梗 岫 爛鍵 岫 馱訧 岫"<<endl;
}
void end() //隅砱end滲杅
{ cout<<"弩岸岸岸岸拂岸岸岸拂岸岸岸岸拂岸岸岸岸拂岸岸岸岸岸岸彼"<<endl; }
void input() //隅砱杅擂怀�赮缺�
{
do
{
secondary_menu();
int y,flag=0; cin>>y;
switch(y)
{
case 1:
for(i=0;i<4;i++)
{ cout<<endl<<"冪燴: "<<endl; man[i].input0(); } line(); break;
case 2:
for(i=0;i<4;i++)
{ cout<<endl<<"撮扲埜: "<<endl; tec[i].input2(); } line(); break;
case 3:
for(i=0;i<8;i++)
{ cout<<endl<<"种忮埜: "<<endl; sel[i].input3(); } line(); break;
case 4:
for(i=0;i<4;i++)
{ cout<<endl<<"种忮冪燴: "<<endl; sma[i].input0(); } line(); break;
case 5:flag=1; break;
default:cout<<"蠟腔恁寁衄昫ㄛ③笭陔恁寁﹝"<<endl; break;
}
if(flag) break;
}while(1);
}
void asd() //隅砱杅擂苀數滲杅
{
for(int j=0;j<4;j++)
{
cout<<"\n眥馱瘍峈"<<sma[j].num0()<<"种忮冪燴"<<sma[j].name0()<<"狟扽种忮埜腔珛憎峈:"<<endl;
cout<<"庚岸岸岸岸岸岸房岸岸岸岸岸房岸岸岸岸岸岸庖"<<endl;
cout<<"岫 眥馱瘍 岫 俷靡 岫 种忮塗 岫"<<endl;
for(i=0;i<8;i++)
{
if(sel[i].f3()==sma[j].num0())
{
sel[i].out(); sa[j]+=sel[i].amount3(); sma[j].sala4(sa[j]);
}
}
cout<<"念岸岸岸岸岸岸拈岸岸岸岸岸拂岸岸岸岸岸岸怕"<<endl;
cout<<"岫"<<" 种忮塗軞數:"<<"岫"<<setw(24)<<sa[j]<<"岫"<<endl;
cout<<"弩岸岸岸岸岸岸拂岸岸岸岸岸岸岸岸岸岸岸岸彼"<<endl;
}
cout<<"\n种忮冪燴偌馱訧齬唗峈: "<<'\n'<<endl;
form();
for(i=0;i<3;i++)
for(j=0;j<3-i;j++)
if(sa[j]<sa[j+1])
{
int temp; temp=sa[j]; sa[j]=sa[j+1]; sa[j+1]=temp;
}
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(sma[j].salary4()==sa[i])
{
sma[j].output4(); break;
}
cout<<"弩岸岸岸岸拂岸岸岸拂岸岸岸岸拂岸岸岸岸拂岸岸岸岸岸岸彼"<<endl;
}
void print() //隅砱杅擂湖荂滲杅
{
do //侚悜遠
{
cout<<" 庚岸岸岸岸岸岸岸庖"<<endl;
cout<<" 岫 湖荂�垓�: 1 岫"<<endl;
cout<<" 念岸岸岸岸岸岸岸怕"<<endl;
cout<<" 岫 紨跺湖荂: 2 岫"<<endl;
cout<<" 念岸岸岸岸岸岸岸怕"<<endl;
cout<<" 岫 殿隙奻珨撰: 3岫"<<endl;
cout<<" 弩岸岸岸岸岸岸岸彼"<<endl;
cout<<"③恁寁: ";
int z,flag=0; cin>>z;
switch(z)
{
case 1:
{
cout<<" ③脹渾......"<<endl;
cout<<"眥馱價掛①錶珨擬桶�覤�"<<endl;
cout<<"冪燴"<<endl; form();
for(i=0;i<4;i++)
man[i].output1();
cout<<"弩岸岸岸岸拂岸岸岸拂岸岸岸岸拂岸岸岸岸拂岸岸岸岸岸岸彼"<<endl;
line();
cout<<"撮扲埜"<<endl; form();
for(int i=0;i<4;i++)
tec[i].output2();
cout<<"弩岸岸岸岸拂岸岸岸拂岸岸岸岸拂岸岸岸岸拂岸岸岸岸岸岸彼"<<endl;
line();
cout<<"种忮埜"<<endl;
cout<<"庚岸岸岸岸房岸岸岸房岸岸岸岸房岸岸岸岸房岸岸岸岸岸房岸岸岸岸岸岸岸岸岸庖"<<endl;
cout<<"岫 眥馱瘍 岫 俷靡 岫 俶梗 岫 爛鍵 岫 馱訧 岫 垀扽窒藷冪燴晤瘍 岫"<<endl;
for(i=0;i<8;i++)
sel[i].output3();
c