Problem E: 薪酬计算
Time Limit: 3 Sec Memory Limit: 128 MB
Submit: 3497 Solved: 2007
[Submit][Status]
Description

某公司有经理(Manager)、雇员(Employee)、小时工(HourlyWorker)和营销人员(CommWorker)四类员工(Person),他们的薪酬计算方法各不一样:

Manager采用年薪制;

Employee按月计酬,方法是:月基本工资+奖金,奖金是指奖励几个月工资;

HourlyWorker是按工作时间计酬,方法是:工作小时*每小时工资;

CommWorker按月计酬,方法是:月基本工资+年销售额的2%;

由于每类员工(Person)的工资输入(input函数)、工资计算办法(pay函数)、显示信息(show函数)均不一样,因此使用多态来实现。


请仔细阅读append.cc代码,并设计并实现这个员工类的派生体系,使main()函数能够运行并得到正确的输出。

Input

输入的第一个整数n,表示用n组测试样例。

每组测试样例占一行,分别为员工职位、员工姓名、基础工资base、附加项k(Manager无此项)。

员工职位为Manager,其base为年薪,单位为千元;

员工职位为Employee,其base为月薪,单位为千元,附加项为奖励k个月的工资;

员工职位为HourlyWorker,其base为时薪,单位为元,附加项为年工作k个小时;

员工职位为CommWorker,其base为月薪,单位为千元,附加项是年销售额k千元;

Output

按格式输出每个人的姓名、职位和最终计算的年薪,详细格式见sample。

Sample Input

6
Manager Zhang3 200
Employee Li4 8 5
Employee Wang5 10 3
HourlyWorker Zhao6 45 650
CommWorker Liu7 5 300
CommWorker Sun8 6 180

Sample Output

Zhang3 (Manager) Annual Salary is 200000.
Li4 (Employee) Annual Salary is 136000.
Wang5 (Employee) Annual Salary is 150000.
Zhao6 (HourlyWorker) Annual Salary is 29250.
Liu7 (CommWorker) Annual Salary is 66000.
Sun8 (CommWorker) Annual Salary is 75600.
代码如下:

#include <iostream>using namespace std;
class Person
{
public:string name;int wages;Person(){}virtual int pay()=0;virtual void show(){}virtual void input(){}
};class Manager:public Person
{
public:string name;int wages;Manager(string name_):name(name_){}void input(){cin>>wages;}int pay(){return 1000*wages;}void show(){cout<<""<<name<<" (Manager)";}};
class Employee:public Person
{
public:string name;int wages;int k3;Employee(string name_):name(name_){}void input(){cin>>wages;cin>>k3;}int pay(){return wages*1000*12+k3*1000*wages;}void show(){cout<<name<<" (Employee)";}};
class HourlyWorker:public Person
{
public:string name;int wages;int k1;HourlyWorker(string name_):name(name_){}void input(){cin>>wages;cin>>k1;}int pay(){return wages*k1;}void show(){cout<<name<<" (HourlyWorker)";}};
class CommWorker:public Person
{
public:string name;int wages;int k2;CommWorker(string name_):name(name_){}void input(){cin>>wages;cin>>k2;}int pay(){return wages*1000*12+k2*1000*0.02;}void show(){cout<<name<<" (CommWorker)";}};int main()
{Person *person;string name, job;int cases;cin >> cases;for(int i = 1; i <= cases; ++i){cin >> job >> name;if(job == "Manager")person = new Manager(name);if(job == "Employee")person = new Employee(name);if(job == "HourlyWorker")person = new HourlyWorker(name);if(job == "CommWorker")person = new CommWorker(name);person->input();person->show();cout << " Annual Salary is " << person->pay() << "." << endl;}}

Problem E: 薪酬计算相关推荐

  1. Problem B: 薪酬计算

    Problem B: 薪酬计算 Time Limit: 3 Sec  Memory Limit: 128 MB Submit: 3366  Solved: 1937 [Submit][Status][ ...

  2. Problem A: 薪酬计算

    Description 某公司有经理(Manager).雇员(Employee).小时工(HourlyWorker)和营销人员(CommWorker)四类员工(Person),他们的薪酬计算方法各不一 ...

  3. Problem B: 薪酬计算 之二

    Description 某公司有经理(Manager).销售(Sales).销售经理(SalesManager)四类雇员(Employee),他们的薪酬计算方法各不一样: 每个雇员(Employee) ...

  4. Problem G: 薪酬计算

    Description 某公司有经理(Manager).雇员(Employee).小时工(HourlyWorker)和营销人员(CommWorker)四类员工(Person),他们的薪酬计算方法各不一 ...

  5. Problem M: 薪酬计算 之二

    Description 某公司有经理(Manager).销售(Sales).销售经理(SalesManager)四类雇员(Employee),他们的薪酬计算方法各不一样: 每个雇员(Employee) ...

  6. 115_Power Pivot之HR薪酬计算:公积金、社保、个税、实发工资相关

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.背景 1.之前写了一个关于入离调转的pp应用,现在个税新增专项附加扣除项目,借此写一个关于薪酬计算的案例: 2.本案例 ...

  7. Java 多态的薪酬计算的练习

    一个简单的 Java 多态的薪酬计算,主要练习面向对象编程的函数方法, public class SalaryManage {public static void main(String[] args ...

  8. Schema_CN28_CNNG净薪酬计算

    行     功能  参1  参2  参3  参4  D 文本 000010 COM                             净薪酬计算 000020 BLOCK BEG         ...

  9. Problem D. L04-04 计算银行存款(复利简单问题)

    Problem D. L04-04 计算银行存款 计算银行存款余额和利息:假设银行存款季度利息是5.3\%5.3%,根据输入的原始数据计算利息和账户余额,并输出每个季度的利息和账户余额. 输入 共两个 ...

最新文章

  1. PostgreSQL在函数内返回returning
  2. 北大女生拿下阿里数学预赛第一名!决赛入围率不到1%,最小晋级选手只有14岁...
  3. 快速排名系统询火星推荐_搜狗网站快速排名系统 - 新站权重如何快速提升
  4. 初探面向对象编程之oop与设计模式
  5. Entity Framework 数据库先行、模型先行、代码先行
  6. 声笔双拼单字效率分析
  7. mysql数据库年龄_sql获取时间、年龄
  8. Java中对Array数组的api展示
  9. bzoj 3394: [Usaco2009 Jan]Best Spot 最佳牧场(floyd)
  10. “CEPH浅析”系列之一——前言
  11. springSecurity jwt 认证与鉴权及异常
  12. 如何零代码制作日报、周报管理系统?
  13. python实现搜索引擎——构建爬虫系统(二)
  14. php内置函数分析之ucfirst()、lcfirst()
  15. 计算机转魔方最快多少,人类最快还原魔方的极限时间是几秒?
  16. 大学生破译周鸿祎手机号 李开复放 橄榄枝
  17. 下载视频并保存至手机相册
  18. 构建DCT过完备字典
  19. MOSFET类型识别小结
  20. 域名被劫持了怎么处理

热门文章

  1. 相似度算法余弦相似度
  2. 公司注册涉及前置审批和后置审批的经营范围有哪些(2019年上海最新版)
  3. Moblin授权中心在台北挂牌开业
  4. 阿里云学生成长计划资格考试分享
  5. 皇帝成长计划html文件打不开,伯爵皇帝成长计划解决存档问题XP/win7/win8适用
  6. 浅提计算机未来的想法,浅述未来计算机的发展趋势论文
  7. Mac版PS如何导入笔刷 ,ps笔刷导入安装教程
  8. Three.js - 鼠标拾取(射线追踪法)(十九)
  9. Excel 使用技巧集锦——163种技巧
  10. 华为p40pro android11,90Hz的华为P40Pro用了半年?最流畅的安卓旗舰?