胡筠晔 2022-04-23 10:54 采纳率: 100%
浏览 198
已结题

用c++编写一个薪水类,要求如下

设计一个计算薪水的类 Payroll,它的数据成员包括:单位小时的工资、 已经工作的小时数、本周应付工资数。在主函数中定义一个具有 10 个元素的对象数组 (代表 10 个雇员)。程序询问每个雇员本周已经工作的小时数,然后显示应得的工资。 输入有效性检验:每个雇员每周工作的小时数不能大于 60,同时也不能为负数。

  • 写回答

1条回答 默认 最新

  • bostonAlen 2022-04-23 12:08
    关注
    #include <iostream>
    
    using namespace std;
    
    class Payroll
    
    {
    
    public:
    
        Payroll();
    
        Payroll(int time, double lSalaryPurHour)
    
        {
    
            workTime = time;
    
            salaryPurHour = lSalaryPurHour;
    
            totalSalary = workTime * salaryPurHour;
    
        }
    
        int setWorkTime(int time)
    
        {
    
    
    
            if (time > 60 || time < 0)
    
            {
    
                cout << "工作时间输入不合法" << endl;
    
                return 0;
    
            }
    
            else
    
            {
    
                workTime = time;
    
            }
    
    
    
            return 1;
    
    
    
        }
    
        double getTotalSalary()
    
        {
    
            totalSalary = workTime * salaryPurHour;
    
            return totalSalary;
    
        }
    
        void setPurHourSalary(double salary)
    
        {
    
            salaryPurHour = salary;
    
        }
    
    private:
    
        int workTime;
    
        double salaryPurHour;
    
        double totalSalary;
    
    };
    
    int main()
    
    {
    
        Payroll number1(0, 0), number2(0, 0), number3(0, 0), number4(0, 0), number5(0, 0), number6(0, 0), number7(0, 0), number8(0, 0), number9(0, 0), number10(0, 0);
    
        Payroll myPayrollArray[10] = { number1,number2,number3,number4,number5,number6,number7,number8,number9,number10 };
    
        int i;
    
        int time;
    
        double salary;
    
        for (i = 0; i < 10; i++)
    
        {
    
            cout << "请输入雇员" << i + 1 << "本周工作时间:";
    
            while (1)
    
            {
    
                cin >> time;
    
                if (time > 60 || time < 0)
    
                    cout << "工作时间输入不合法,请重新输入!" << endl;
    
                else
    
                {
    
                    myPayrollArray[i].setWorkTime(time);
    
                    break;
    
                }
    
            }
    
            cout << "请输入雇员" << i + 1 << "单位时间工资:";
    
            cin >> salary;
    
            myPayrollArray[i].setPurHourSalary(salary);
    
    
    
        }
    
    
    
        for (i = 0; i < 10; i++)
    
        {
    
            cout << "雇员" << i + 1 << "本周应付总工资为:" << myPayrollArray[i].getTotalSalary() << endl;
    
        }
    
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月25日
  • 已采纳回答 5月17日
  • 请采纳用户回复 4月23日
  • 创建了问题 4月23日

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题