Problem Q: 计算公司员工的工资

Problem Description

某公司有老板Boss、雇员Employee、小时工HourlyWorker和营销人员CommWorker,他们的薪金计算方法如下:

老板实行年薪制,如一年15万;雇员按月计酬,方法是基本工资+奖金;小时工按工作时间计算报酬,方法是工作小时*每小时单价;营销人员按月计酬,方法是基本工资+销售利润*5%。
每类人员都有姓名、职工编号、年龄、性别、工资等数据。设计计算各类人员报酬的程序,用虚函数getPay()计算各类人员的应得报酬,用虚函数print()打印输出各位工作人员的基本数据。
#include <iostream>
using namespace std;
class Person{
private:
string name;//姓名
string no;//职工编号
int age;//年龄
string sex;//性别
float salary;//工资
public:
Person(string s1,string s2,int Age,string Sex,float Salary=0);
virtual double getPay()=0;
virtual void print();
};
Person::Person(string s1,string s2,int Age,string Sex,float Salary){
name=s1;no=s2;age=Age;sex=Sex;salary=Salary;}
void Person::print(){
cout<<"姓名:"<<name<<"\n职工编号:"<<no<<"\n年龄:"<<age<<"\n性别:"<<sex;}
//你的代码将被嵌在这里
int main(){    
    Boss b("张华","N001",30,"男");
    b.print();
    Employee e("李明","N002",40,"男");
    e.setBWage(900);
    e.setBonus(1000);
    e.print();
    HourlyWorker hw("向力","N003",38,"男");
    hw.settime_Hours(30);
    hw.setUHPrice(60);
    hw.print();
    CommWorker cw("刘晓云","N004",28,"女");
    cw.setBWage(1600);
    cw.setinterest(10000);
    cw.print();
    return 0;
}

Sample Output
********************老板********************
姓名:张华
职工编号:N001
年龄:30
性别:男
年薪:15万元
********************雇员********************
姓名:李明
职工编号:N002
年龄:40
性别:男
基本工资:900
奖金:1000
月薪:1900元
********************小时工********************
姓名:向力
职工编号:N003
年龄:38
性别:男
每小时单价:60元
工作时间:30小时
报酬:1800元
********************营销人员********************
姓名:刘晓云
职工编号:N004
年龄:28
性别:女
基本工资:1600元
销售利润:10000元
月酬:2100元
Hint

1、将各类人员都有的共有的属性和行为抽象在类Person中,包括姓名、职工编号、年龄、性别等,以及函数getPay()和print()。

2、getPay()设计为纯虚函数,将print()设计成一般虚函数,其余类从Person类派生,各类再定义getPay()的实现方法,并重定义函数print()输出具体数据。

3、每个类还需要根据实际情况定义相应的成员函数,获取诸如工作时间、基本工资、销售利润之类的基础数据。

 

class Boss : public Person
{
public:Boss(string s1, string s2, int Age, string Sex) :Person(s1, s2, Age, Sex) {}double getPay(){return 15;}void print(){cout << "********************老板********************" << endl;Person::print();cout << "\n年薪:15万元" << endl;}
};
class Employee : public Person
{
public:int BWage;int Bonus;Employee(string s1, string s2, int Age, string Sex) : Person(s1, s2, Age, Sex){}double getPay(){return BWage + Bonus;}void setBWage(int wage){BWage = wage;}void setBonus(int bonus){Bonus = bonus;}void print(){cout << "********************雇员********************" << endl;Person::print();cout << "\n基本工资:" << BWage<< "\n奖金:" << Bonus<< "\n月薪:" << getPay() << endl;}
};
class HourlyWorker : public Person
{
public:int Hours;int UHP;HourlyWorker(string s1, string s2, int Age, string Sex) : Person(s1, s2, Age, Sex) {}double getPay(){return Hours * UHP;}void settime_Hours(int hours){Hours = hours;}void setUHPrice(int uhp){UHP = uhp;}void print(){cout << "********************小时工********************" << endl;Person::print();cout << "\n每小时单价:" << UHP << "元" << endl;cout << "工作时间:" << Hours << "小时" << endl;cout << "报酬:" << getPay() << "元" << endl;}
};
class CommWorker : public Person
{
public:int BWage;int I;CommWorker(string s1, string s2, int Age, string Sex) : Person(s1, s2, Age, Sex) {}double getPay(){return BWage + (I * 0.05);}void setBWage(int bwage){BWage = bwage;}void setinterest(int i){I = i;}void print(){cout << "********************营销人员********************" << endl;Person::print();cout << "\n基本工资:" << BWage << "元" << endl;cout << "销售利润:" << I << "元" << endl;cout << "月酬:" << getPay() << endl;}
};

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/50306.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenAi最简洁的Java流式返回接入方式,没有第三方依赖,只需要使用Spring Boot即可!轻松构建你的带有聊天记忆、画图功能的chatgpt!

OpenAi最简洁的Java流式返回接入方式&#xff0c;没有第三方依赖&#xff0c;只需要使用Spring Boot即可&#xff01;轻松构建你的带有聊天记忆、画图功能的chatgpt&#xff01; GitHub - NiuXiangQian/chatgpt-stream: OpenAi最简洁的Java流式返回接入方式&#xff0c;没有第…

ChatGPT使用的SSE技术是什么?

在现代web应用程序中&#xff0c;实时通信变得越来越重要。HTTP协议的传统请求/响应模式总是需要定期进行轮询以获得最新的数据&#xff0c;这种方式效率低下并且浪费资源。因此&#xff0c;出现了一些新的通信技术&#xff0c;如WebSocket和SSE。但是&#xff0c;GPT为什么选择…

用Python对自己的文章做文本分析

新型冠状病毒疫情加剧&#xff0c;让人闲的不行。重新打开我的简书之后&#xff0c;发现我在简书上也写了72篇文章了…… 想“温故而知新”一下&#xff0c;但是在家总是慵懒&#xff0c;就算是自己写的文章也不想看。但是又十分好奇自己在过去的一年多的时间里到底写了啥&…

考研复试高频问题集锦!

今天给大家带来的是考研复试中的高频问题&#xff0c;感兴趣的同学可以想想如果是自己被问到这些问题会怎么回答&#xff0c;以及可以思考老师问这些问题的原因。基本回答公式&#xff1a; 公式&#xff1a;感谢提问我认为以上是我对此问题的回答 技巧&#xff1a;扬长避短 另外…

计算机考研初试/复试——软件工程

一、软件 软件定义 计算机程序、文档、运行程序所必须的方法、数据、规则。方法和规则在文档中说明&#xff0c;在程序中实现。&#xff08;文档程序数据&#xff09; 软件分类 基于软件功能的划分 系统软件&#xff1a;与计算机硬件紧密配合使计算机各个部件与相关软件和…

电子信息工程保研复试|考研复试——通信原理复试问题集锦

电子信息工程保研/考研复试——通信原理问题集锦 保研/考研复试——通信原理问题集锦&#xff08;复习重点以及面试真题&#xff01;&#xff01;良心整理&#xff09; 面向考研/保研同学&#xff0c;时间紧任务重&#xff0c;归纳了去年保研面试中复习以及被问到的通信原理相关…

北邮考研复试机试准备过程(已上岸)

纯自用请勿转载&#xff0c;用来给自己最后复习和捋思路用的&#xff0c;主要参考牛客网王道机试指南&#xff0c;C、C混用。考研人太久不写代码了…什么都不记得了&#xff0c;从头开始过一遍吧。 黑色代码段是要记住的重点函数/方法。每天下午做几个小时&#xff0c;一共不到…

【计算机考研】复试常见问题

操作系统 操作系统的特点&#xff1f; – 共享&#xff1a;资源可被多个并发执行的进程使用 – 并发&#xff1a;可以在同一时间间隔处理多个进程&#xff0c;需要硬件支持 – 虚拟&#xff1a;将物理实体映射成为多个虚拟设备 – 异步&#xff1a;进程执行走走停停&#xff0c…

会话存档-如何高性能存储海量聊天记录

场景 每天大约500w条数据&#xff0c;存档消息&#xff0c;并对消息进行统计分析。 大概计算一下&#xff1a; 每天的工作时间是8小时&#xff0c;大约是8小时处理400w条数据就足够了&#xff0c;为避免某时刻的峰值超负荷&#xff0c;还按照8小时处理500w条数据的标准来搭建…

开通会话存档查看聊天记录需要准备什么?

会话存档是腾讯企业微信推出的一项付费增值功能&#xff0c;开通会话存档之后企业可以通过会话存档API接口获取员工的聊天记录&#xff0c;可以获取到员工与员工之间的聊天记录、员工与客户的聊天记录&#xff0c;员工所在群的聊天记录&#xff0c;企业可以通过企小码会话存档存…

一个网站查遍所有英文文章 “会议地点及出版商”(亲测搜了80篇全部有效)

说明&#xff1a;本人用下面方法进行会议文章——会议地点及出版商 ——的搜索&#xff0c;连搜80篇文章没有任何问题&#xff01; 前提使用学校网络&#xff0c;可能有的学校没有买会议的权限 第一步&#xff1a;点击所有版本 打开谷歌学术镜像网站&#xff0c;不用翻墙的那…

全国跨境电商联合运营服务平台,定义跨境新力量!

近年来&#xff0c;我国跨境电商行业不断发展&#xff0c;预计2021年跨境电商进出口交易规模有望达到14.3万亿元&#xff0c;疫情催化的市场需求、不断扩大的市场规模、频繁释放利好的政府政策&#xff0c;让跨境的风愈吹愈旺&#xff0c;面对波谲云诡的市场环境&#xff0c;如…

跨境电商卖家,如何运营Facebook?

随着跨境电商的兴起&#xff0c;越来越多的卖家开始运营Facebook&#xff0c;以吸引更多的潜在客户和提高品牌知名度。那么&#xff0c;作为跨境电商卖家&#xff0c;我们可以在Facebook上做些什么呢&#xff1f; 首先&#xff0c;我们可以通过Facebook建立一个专业的品牌页面&…

新手运营适合哪个跨境电商平台

很多企业的网站被收录却没有排名&#xff0c;关键词优化不上去&#xff0c;网站也没有什么流量&#xff0c;不断更新文章&#xff0c;即使是原创&#xff0c;也排不上去&#xff0c;这究竟是由于哪些原因造成的呢&#xff1f;米贸搜作为专业的SEO平台&#xff0c;整理了以下几种…

跨境电商运营做什么的?跨境电商运营怎么样?

图片来源&#xff1a;123rf.com.cn 随着国内电商的逐渐饱和&#xff0c;越来越多的人涌入了跨境电商领域&#xff0c;那么作为一个跨境电商运营工作&#xff0c;每天是做什么工作呢&#xff1f;今天就主要为大家分析跨境电商运营做什么的&#xff1f;跨境电商运营怎么样&#x…

使用Foxmail登录阿里企业邮箱(钉钉邮箱)

pop服务器和SMTP服务器地址分别是&#xff1a;pop.qiye.aliyun.com smtp.qiye.aliyun.com 可以到邮箱里查&#xff1a; 开源项目&#xff1a; https://github.com/xutongbao/learn-chatgpt

第一批因 AI 失业的人已经出现!有公司直接裁掉一半人

点关注公众号&#xff0c;回复“1024”获取2TB学习资源&#xff01; 当大家还在讨论ChatGPT未来将如何发展的时候&#xff0c;第一批因AI失业的人已经出现了。 据媒体报道&#xff0c;已经有一众游戏公司迅速拥抱技术变革&#xff0c;将AI绘画引进工作流程&#xff0c;用以摆脱…

ChatGPT:AI不取代程序员,只取代的不掌握AI的程序员

作者&#xff1a;成都兰亭集势信息技术有限公司技术总监张雄 可能大家会有如下的问题&#xff0c;我就使用chatGPT这个AI工具的API来问一下。 问&#xff1a;chatGPT会替换掉程序员吗&#xff1f;如果能&#xff0c;预计好久&#xff1f; 答&#xff1a;作为一名 AI 语言模型&a…

我看世界杯——来自一个“假”球迷视角

世界杯还有一个星期就要结束了&#xff0c;说实话&#xff0c;我之前是一场球都没有&#xff0c;对足球知道也甚少&#xff0c;妥妥一个假球迷了。这次世界杯感觉离自己特别近&#xff0c;身边的很多朋友都在看&#xff0c;也不乏赌球的小伙伴&#xff0c;自己的感悟也比较深&a…

2022卡塔尔世界杯互动游戏|运营策略

2022世界杯将于11月20日-12月18日在卡塔尔举办&#xff0c;四年一度的全球最大狂欢节开启! 足球是世界上最受欢迎和追捧的竞技体育项目&#xff0c;超越了国界、性别、种族和年龄&#xff0c;是世界上最早的一项体育项目。但作为展现世界最高足球水平的世界杯&#xff0c;在足球…