员工的薪酬为每小时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?
答案 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);
}