《最新C++期末作业.doc》由会员分享,可在线阅读,更多相关《最新C++期末作业.doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC+期末作业C+程序设计实验作业C+程序设计实验作业姓名:阚洪蕾 学号:12081208题目描述:编写一个程序实现小型公司的工资管理。该公司雇员(employee)包括经理(manager)、技术人员(technician)、销售员(salesman)和销售经理(salesmanager)。要求存储这些人的编号和月工资,计算月工资并显示全部信息。月工资的计算办法是:经
2、理按固定的8000领取月薪,技术人员按每小时20元领取月薪,销售员按当月销售额千分之4提成,销售经理既领取固定工资,也领取销售提成,其固定月工资为5000元,销售提成为所管辖部门当月销售额的千分之5.解题思路:定义虚基类class employee,包含3个数据成员 ID 、name、salary和成员函数pay()月薪计算函数和show()输出数据函数。由该虚基类派生出4个派生类,用于分别计算和输出其各种的月工资。在主函数中实现。代码:#include#includeusing namespace std;class employee /虚基类public:employee()coutID;
3、coutname;salary=0; /月薪virtual void pay()=0; /月薪计算函数virtual void show()=0;protected:string name; /姓名int ID; /职工编号double salary; /月薪;class technician:virtual public employeepublic:technician()perhour=20; /每小时附加酬金void pay()couthours;salary=perhour*hours;void show()cout技术人员name(编号为ID)本月工资:salaryendl;pro
4、tected:double hours; /月工作时数double perhour; /月每小时附加时数;class manager:virtual public employeepublic:manager()monthpay=8000;void pay()salary=monthpay;void show()cout经理name(编号为ID)本月工资:salaryendl;protected:double monthpay; /固定工资;class salesman:virtual public employeepublic:salesman()slfactor=0.004; /提成比例v
5、oid pay()coutamount;salary=amount*slfactor;void show()cout销售员name(编号为ID)本月工资:salaryendl;protected:double amount; /月销售额double slfactor; /提成比例;class salesmanager:public manager,public salesmanpublic:salesmanager()slfactor=0.005; /提成比例monthpay=5000;void pay()coutnameamount;salary=monthpay+amount*slfactor;void show()cout销售经理name(编号为ID)本月工资:salaryendl;int main()employee *p=NULL;cout经理的;manager mag1;cout技术人员的;technician tec1;cout销售人员的;salesman sal1;coutpay();p-show();p=&tec1;p-pay();p-show();p=&sal1;p-pay();p-show();p=&sam1;p-pay();p-show();return 0;程序的实现:博客地址:-
限制150内