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