1、#include〈iomanip。h〉
#include 2、Manager:public Employ//经理类
{
public:
void set();
void print();
void reserved();
};
class Salesman:public Employ//销售员类
{
protected:
int salesvolume;
int snum;
public:
void set();
void print();
void reserved();
void printinfor();
int getsales()
{return salesvolume;}
3、int getsnum()
{return snum;}
};
class MarketMan:public Manager//销售经理类
{
protected:
int salesvolume;
public:
void set();
void print();
void reserved();
int resetwage();
int getnum()
{return num;}
char*getname()
{return name;}
int getamount(Salesman s[],int n)
{
salesvol 4、ume=0;
for(int i=0;i〈n;i++)
{if(s[i]。getsnum()==num)
salesvolume+=s[i]。getsales();}
return salesvolume;
}
};
class Technician:public Employ//技术员类
{
protected:
int worktime;
public:
void set();
void print();
void reserved();
};
void Manager::set()
{
wage=8000;
cout<<”经理的编号: 5、
cin>>num;
cout<<”其姓名:";
cin〉〉name;
cout〈〈"性别(m/w):";
cin>〉sex;
cout<〈”年龄:”;
cin〉〉age;
}
void Manager::print()//经理类成员函数
{
cout〈<”┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫"〈〈endl;
cout<〈"┃”〈〈setw(12)〈〈num<〈"┃"< 6、e<〈”┃"〈 7、
cout〈<”其姓名:";
cin>>name;
cout〈〈”性别(m/w):”;
cin〉>sex;
cout<〈"年龄:”;
cin〉>age;
}
void MarketMan::print()
{
resetwage();
cout〈<"┣━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━╋━━━━━━┫”〈〈endl;
cout<〈”┃”<〈setw(12)〈 8、e<〈”┃"< 9、
return wage;
}
void Salesman::set()//销售员类定义
{
cout<〈”销售员的编号:”;
cin>>num;
cout〈<”其姓名:";
cin>>name;
cout<〈"性别(m/w):";
cin〉〉sex;
cout〈〈”年龄:”;
cin>〉age;
cout〈<”销售额:";
cin>〉salesvolume;
cout〈<"所属销售经理的编号:”;
cin〉〉snum;
wage=int(salesvolume*0.04);
}
void Salesman::printinfor()
{
cout<< 10、┣━━━━━━━╋━━━━━━━╋━━━━━━━┫”〈〈endl;
cout〈<”┃”〈〈setw(14)<〈num<〈”┃”<〈setw(14)〈 11、<〈"┃”〈〈setw(10)〈〈wage<<”┃”〈 12、 〈<”所属销售经理的编号"〈〈snum<〈endl;
}
void Technician::set()//技术员类定义
{
cout〈<"技术员的编号:”;
cin>〉num;
cout<〈”其姓名:”;
cin>〉name;
cout〈〈”性别(m/w):";
cin>>sex;
cout〈〈”年龄:";
cin〉〉age;
cout<<”工作时间:”;
cin>〉worktime;
wage=worktime*100;
}
void Technician::print()
{
cout<<”┣━━━━━━╋━━━━━━╋━━━━━━╋━ 13、━━━━━╋━━━━━━┫"〈〈endl;
cout<〈”┃”〈〈setw(12)〈〈num〈<”┃”< 14、endl
〈<"性别(m/w):”< 15、分别输入技术员,经理,销售员,销售经理人数:”〈〈endl;
cin〉〉t>〉m〉〉s>〉mm;
pt=new Technician[t];
pm=new Manager[m];
ps=new Salesman[s];
pmm=new MarketMan[mm];
if((!pt)||(!pm)||(!ps)||(!pmm))
{
cout<〈”堆内存分配失败!”〈〈endl;
exit(1);}
single();
}
void single()
{
cout<<”★★小型公司工资管理系统★★”〈 16、endl;
cout〈〈”┃ 请选择所需的操作 ┃ "<〈endl;
cout〈〈"┃┃”〈〈endl;
cout〈〈”┃ 数据输入:1,并按回车键 ┃”〈 17、键 ┃”<〈endl;
cout<〈"┃┃”<〈endl;
cout〈〈"┗━━━━━━━━━━━━━┛”<〈endl;
cout〈〈”请选择一个操作:”〈〈endl;
int choice;
cin〉〉choice;
switch(choice)
{
case 1:setin();
case 2:count();
case 3:printdata();
case 4:reservedall();
case 5:exit(0);
}
}
void setin()
{
Menu1:
cout〈<"★★小型公司工资管理系统★★"〈 18、out〈〈”┏━━━━━━━━━━━━━━━━┓"〈〈endl;
cout〈〈”┃ 请选择所需的操作 ┃”〈 19、〈〈endl;
cout<〈”┃┃"〈〈endl;
cout〈<”┃返回上一级菜单 : 5,并按回车键 ┃"< 20、m;i++)
pm[i]。set();
cout<<”———--———-—-—--——————-————-—————-—”〈 21、〈<"—-————-————--—-—-——--——-—-—-—-——-"<〈endl;
goto Menu1;
}
case 5:single();
}}
void count()
{
Menu2:
cout<〈”★★小型公司工资管理系统★★”〈〈endl;
cout〈〈"┏━━━━━━━━━━━━━━━━━━━━━━┓”〈 22、〈endl;
cout<〈”┃┃”〈〈endl;
cout〈〈”┃销售经理按工资排序 : 2,并按回车键 ┃”〈 23、getnum()<<”销售经理:”<〈pmm[i]。getname()〈〈”下属销售员的业绩为:”〈〈endl;
cout〈〈"┏━━━━━━━┳━━━━━━━┳━━━━━━━┓”〈〈endl;
cout〈〈”┃职工号 ┃姓名 ┃销售额 ┃"〈〈endl;
for(j=0;j 24、━━━┻━━━━━━━┫”〈 25、
if(pmm[j]。getamount(ps,s)〈pmm[j+1]。getamount(ps,s))
{
pmmm=pmm[j];
pmm[j]=pmm[j+1];
pmm[j+1]=pmmm;
}
cout〈〈”┏━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━┓”〈 26、m;i++)
pmm[i]。print();
cout〈〈"┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛"<〈endl;
cout〈〈” ——-———---—-———-———-—--————————-----——-—-————”<〈endl;
goto Menu2;}
case 3:single();
}}
void printdata()
{
Menu3:
cout<<”★★小型公司工资管理系统★★”〈 27、t〈<"┃ 请选择所需的操作 ┃”<〈endl;
cout<〈”┃┃"〈〈endl;
cout〈〈"┃技术员数据输出 : 1,并按回车键 ┃”<〈endl;
cout〈<"┃┃”〈 28、回上一级 : 5,并按回车键 ┃"<〈endl;
cout〈<"┗━━━━━━━━━━━━━━━━┛”<〈endl;
cout〈<”请选择一个操作”;
int ch3,i;
cin〉>ch3;
switch(ch3)
{case 1:{
cout〈〈”技术员”〈 29、endl;
for(i=0;i〈t;i++)
pt[i]。print();
cout<<”┗━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛”<〈endl;
cout〈〈”—-—----————---————-——————-—--—-———--———-—-”<〈endl;
goto Menu3;}
case 2:{ cout<<"经理”〈〈endl〈 30、 cout<〈”┃ 职工号 ┃ 姓名 ┃ 性别 ┃ 年龄 ┃ 工资 ┃”<〈endl;
for(i=0;i 31、dl〈 32、———-——-———-————-—-"< 33、━━━━━┻━━━━━┻━━━━━━━━┛”〈 34、<〈”┃技术员数据备份 : 1,并按回车键 ┃”< 35、l;
cout<〈"请选择一个操作”;
int ch4,i;
cin〉〉ch4;
switch(ch4)
{
case 1:{for(i=0;i〈t;i++)
pt[i].reserved();
goto Menu4;
}
case 2:{for(i=0;i〈m;i++)
pm[i].reserved();
goto Menu4;
}
case 3:{for(i=0;i〈s;i++)
ps[i]。reserved();
goto Menu4;
}
case 4:{for(i=0;i
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818