计算超时费是我的公式正确吗?

时间:2014-06-25 09:40:18

标签: c algorithm

员工的薪酬为每小时9.73,每周最多工作40小时。超过这个时间的任何时间都按照1倍和1/2倍的时间率支付。

我对这个陈述的算法"任何时间都是以超过1.5倍的时间率支付的。"是让我感到困惑的一个。

以下是代码:

double hours, overtimepay, overtimehours, wage;
printf("Enter number of hours: ")
scanf("%f",&hours);

wage=9.73*hours;
overtimehours=hours-40;
overtimepay=(9.73*overtimehours)*1.5);

if(hours>40){
printf("Your wage is: %f",wage);
printf("Your overtime pay is: %f",overtimepay);
}

else{
printf("Your wage is: %f",wage);
}

我对如何计算加班费或费率感到困惑。 1和1/2相当于1.5(如果我没有记错的话)。所以这是我的公式:

overtimepay=(9.73*overtimehours)*1.5);

因为我的加班时间是从40小时减去小时数,例如我输入43小时,43-40 = 3所以加班时间为3小时。这三个小时将乘以9.73和1.5。将9.73,超时时间和1.5加在一起是否正确?或者只是超时和1.5?

1 个答案:

答案 0 :(得分:0)

你的计算没问题(毕竟不是那么复杂!),我只是建议改变你的条件陈述以减少你的代码:

double hours, overtimepay, wage;
printf("Enter number of hours: ")
scanf("%f",&hours);

wage=9.73*hours;
wage = 9.73 * hours;

printf("Your wage is: %f\n",wage);

if(hours > 40)
{
   overtimepay = (9.73*(hours-40))*1.5;
   printf("Your overtime pay is: %f\n", overtimepay);
}