Problem Description
某公司有老板Boss、雇员Employee、小时工HourlyWorker和营销人员CommWorker,
每类人员都有姓名、职工编号、年龄、性别、工资等数据。
他们的薪金计算方法如下:
老板实行年薪制,如一年15万;
雇员按月计酬,方法是,基本工资+奖金;
小时工按工作时间计算报酬,方法是,工作小时每小时单价;
营销人员按月计酬,方法是,基本工资+销售利润5%。
设计计算各类人员报酬的程序,打印输出各位工作人员的所有数据。
//你的代码将被嵌在这里
int main() {
Person* pb=new Boss(“张华”, “N001”, 30, “男”);
pb->print();
Person* pe=new Employee(“李明”, “N002”, 40, “男”, 900,1000);
pe->print();
Person* ph=new HourlyWorker(“向力”, “N003”, 38, “男”,30,60);
ph->print();
Person* pc=new CommWorker(“刘晓云”, “N004”, 28, “女”,1600,10000);
pc->print();
delete pb;
delete pe;
delete ph;
delete pc;
return 0;
}
Sample Output
老板
姓名:张华
职工编号:N001
年龄:30
性别:男
年薪:15万元
雇员
姓名:李明
职工编号:N002
年龄:40
性别:男
基本工资:900元
奖金:1000元
月薪:1900元
小时工
姓名:向力
职工编号:N003
年龄:38
性别:男
每小时单价:60元
工作时间:30小时
报酬:1800元
营销人员
姓名:刘晓云
职工编号:N004
年龄:28
性别:女
基本工资:1600元
销售利润:10000元
月酬:2100元
#includeusing namespace std; #include class Person { public: string name, id, sex; int age; // Person(){} virtual void print() = 0; }; class Boss :public Person//老板 { public: Boss(string a, string b, int c, string d) { name = a; id = b; age = c; sex = d; } void print() { cout << "********************老板********************" << endl; cout << "姓名:" << name << endl; cout << "职工编号:" << id << endl; cout << "年龄:" << age<< endl; cout << "性别:" << sex << endl; cout << "年薪:" << "15万元" << endl; } }; class Employee :public Person//雇员 { public: int jiben, jiangjin; Employee(string a, string b, int c, string d, int e, int f) { name = a; id = b; age = c; sex = d; jiben = e; jiangjin = f; } void print() { cout << "********************雇员********************" << endl; cout << "姓名:" << name << endl; cout << "职工编号:" << id << endl; cout << "年龄:" << age << endl; cout << "性别:" << sex << endl; cout << "基本工资:" << jiben << "元" << endl; cout << "奖金:" << jiangjin << "元" << endl; cout << "月薪:" << jiben + jiangjin << "元" << endl; } }; class HourlyWorker :public Person//小时工 { public: int time, price; HourlyWorker(string a, string b, int c, string d, int e, int f) { name = a; id = b; age = c; sex = d; time = e; price = f; } void print() { cout << "********************小时工********************" << endl; cout << "姓名:" << name << endl; cout << "职工编号:" << id << endl; cout << "年龄:" << age << endl; cout << "性别:" << sex << endl; cout << "每小时单价:" << price << "元" << endl; cout << "工作时间:" << time << "小时" << endl; cout << "报酬:" << price * time << "元" << endl; } }; class CommWorker :public Person//营销人员 { public: int jibeng, lirun; CommWorker(string a, string b, int c, string d, int e, int f) { name = a; id = b; age = c; sex = d; jibeng = e; lirun = f; } void print() { cout << "********************营销人员********************" << endl; cout << "姓名:" << name << endl; cout << "职工编号:" << id << endl; cout << "年龄:" << age << endl; cout << "性别:" << sex << endl; cout << "基本工资:" << jibeng << "元" << endl; cout << "销售利润:" << lirun << "元" << endl; cout << "月酬:" << jibeng + lirun * 0.05 << "元" << endl; } }; int main() { Person* pb = new Boss("张华", "N001", 30, "男"); pb->print(); Person* pe = new Employee("李明", "N002", 40, "男", 900, 1000); pe->print(); Person* ph = new HourlyWorker("向力", "N003", 38, "男", 30, 60); ph->print(); Person* pc = new CommWorker("刘晓云", "N004", 28, "女", 1600, 10000); pc->print(); delete pb; delete pe; delete ph; delete pc; return 0; }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)