设计一个计算薪水的类 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; } }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 2无用