「已注销」 2022-09-12 15:16 采纳率: 80%
浏览 45
已结题

新生 一个c++程序问题

编写一个程序实现小型公司的工资管理。该公司主要有4类人员:经理,兼职技术人员,销售员和销售经理。要求存储这些人员的编号(编号从1000起)、姓名和月工资,计算月工资并显示全部信息。月工资的计算办法是:经理拿固定月薪8000元;兼职技术人员按每小时100元领取月薪;销售员按当月销售额的4%提成;销售经理既拿固定工资也领取销售提成,固定月工资5000元,提成为所管辖部门当月销售总额的5%。设基类中的数据成员为保护成员。

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2022-09-12 19:00
    关注
    #include <stdio.h>
    #include <stdlib.h>
    
    #include <iostream>
    using namespace std;
    #include <string>
    
    class person
    {
    protected:
        int id;
        string name;
    public:
        person(int id,string name) : id(id),name(name) {}
        string getName() {return name;}
        virtual double getSalary() = 0;
    };
    
    class manager : public person
    {
    public:
        manager(int id,string name) : person(id,name) {}
        double getSalary() {return 8000;}
    };
    
    class technical : public person
    {
    private:
        double  workHours;
    public:
        technical(int id,string name,double workhours) : person(id,name),workHours(workhours) {}
        double getSalary() {return 100*workHours;}
    };
    
    class saler : public person
    {
    private:
        double sales;
    public:
        saler(int id,string name,double sales) : person(id,name),sales(sales) {}
        double getSalary() {return sales * 0.04;}
    };
    
    class salermanager: public person
    {
    private:
        double sales;
    public:
        salermanager(int id,string name,double sales) : person(id,name),sales(sales){}
        double getSalary() {return sales*0.05 + 5000;}
    };
    
    int main()
    {
        person *p[4];
        p[0] = new manager(1001,"zhangs");
        p[1] = new technical(1002,"gaolong",40);
        p[2] = new saler(1003,"wangw",300000);
        p[3] = new salermanager(1004,"caofang",300000);
        for(int i=0;i<4;i++)
            cout<<p[i]->getName()<<"的月薪是:"<<p[i]->getSalary()<<endl;
        system("pause");
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月22日
  • 已采纳回答 9月14日
  • 创建了问题 9月12日

悬赏问题

  • ¥15 对于知识的学以致用的解释
  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败