网友您好, 请在下方输入框内输入要搜索的题目:
阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
设计某IT教育研发中心的工资管理系统,该中心主要有3类人员:经理、销售员和销售经理。要求存储这些人员的编号、姓名和月工资,计算月工资并显示全部信息。月工资计算办法是:经理拿固定月薪8000元;销售员拿固定工资1000元,然后再按当月销售额的4%提成;销售经理既拿固定月工资也领取销售提成,固定月工资为5000元,销售提成为所管辖部门当月销售总额的5‰。
按要求设计一个基类employee,销售员类salesman,经理类manager,销售经理类salesmanager.
程序5-1是类employee的模块内容,程序5-2是类salesman的类模块内容,程序5-3是类manager的模块内容,程序5-4是类salesmanager的模块内容。在主测试程序中,输入张三所管部门月销售量10000后的输出结果如下:
【程序5-1】
#include
#include
classemployee
{
protected:
intno;
char*name;
floatsalary;
public:
employee(intnum,char*ch)
{no=num;
name=ch;
salary=0;}
virtualvoidpay()=0;
virtualvoiddisplay()
{cout《"编号:"《no《endl;
cout《"本月工资:"《salary《endl;}
};
【程序5-2】
classsalesman:(1)
{
protected:
floatcommrate,sales;
public:
salesman(intnum,char*ch):employee(num,ch)
{commrate=0.04;}
voidpay()
{cout《name《"本月销售额:";
cin》sales;
salary=sales*commrate+1000;}
voiddisplay()
{cout《"销售员:"《name《endl;
employee::display();}
};
【程序5-3】
classmanager:(1)
{
protected:
floatmonthpay;
public:
manager(intnum,char*ch):employee(num,ch)
{monthpay=8000;}
voidpay()
{salary=monthpay;}
voiddisplay()
{cout《"经理:"《name《endl;
employee::display();}
};
【程序5-4】
classsalesmanager:(2)
{
public:
salesmanager(intnum,char*ch):(3)
{monthpay=5000;
commrate=0.005;}
voidpay()
{cout《name《"所管部门月销售量:";
cin》sales;
(4)}
voiddisplay()
{cout《"销售经理:"《name《endl;
(5)}
};
voidmain()//主测试函数
{salesmanagerp1(1001,"张三");
p1.pay();
p1.display();
}
参考答案