假设要为某个公司编写员工工资支付程序。一般工人(worker)按每月工作的天数计算工资;销售人员(salesman)在基本工资的基础上每个月还有销售提成;经理(manager)每月按固定工资支付,临时工(floater)按小时支付。要求设计抽象类(employee)描述左右雇员的共同特性(如姓名,性别,出生日期,员工类别),含有计算工资的纯虚函数computeSalary(),所有员工用该方法计算工资。要求用多态实现。
经理工资计算:月工资()
销售人员工资计算:基本工资+每件产品提成额度*销售的产品数量;
一般工人工资计算:每天工资*工作天数;
临时工工资计算:每小时工资*总工作小时数
文本界面为:
新增员工信息
删除员工信息
员工信息搜索
员工信息统计(按姓名或工资或类别)
员工信息分类存储
员工信息导入
按工资排序
退出
#include <iostream>
using namespace std;
class employee
{
char name;
char sex;
char birth;
virtual int computeSalary()=0;
};
class worker:public employee
{
int work_day;
int wage;
worker(x,y)
{
work_day=x;
wage=y;
}
int computeSalary(work_day,wage)
{
return work_day*wage;
}
};
class salesman:public employee
{
int base_salary;
int sale_num;
int commission;
salesman (x,y,z)
{
base_salary=x;
sale_num=y;
commission=z;
}
int computeSalary(base_salary,sale_num,commission)
{
return base_salary+sale_num*commission;
}
};
class manager:public employee
{
int salary;
manager (z)
{
salary=z;
}
int computeSalary(salary)
{
return salary;
}
};
class temporary:public employee
{
int hour;
int wage;
temporary (int x,int y)
{
hour=x;
wage=y;
}
int computeSalary(hour,wage)
{
return hour*wage;
}
};
int main()
{
cout << "1.新增员工信息" << endl;
cout << "2.删除员工信息" << endl;
cout << "3.员工信息搜索" << endl;
cout << "4.员工信息统计" << endl;
cout << "5.员工信息分类存储" << endl;
cout << "6.员工信息导入" << endl;
cout << "7.按工资排序" << endl;
cout << "8.退出" << endl
return 0;
}