2014-06-25 3 views
-8

Работник оплачивается по ставке 9,73 в час на 40 часов работы в неделю. Любые часы, которые оплачиваются со временем в 1 и 1/2 раза, это.Вычисление overtimepay - моя формула правильная?

Мой алгоритм для этого утверждения «Любые часы, которые оплачиваются со скоростью в 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); 

Поскольку мое overtimehours от вычитания часов из 40 часов, где, например, если я печатаю в 43 часов, 43-40 = 3, так что есть овертайм часы 3 часов. Три часа будут умножены на 9,73 и 1,5. Правильно ли умножать 9,73, сверхурочные часы и 1,5 вместе? Или это просто сверхурочные часы и 1,5?

+1

Почему вы спрашиваете нас, если это правильно или нет ? Вы бегали и испытывали себя? PS: Похоже на меня, единственное, что я бы изменил, - добавить 'overtimehours' и' overtimepay' в блок 'if (hours> 40)', так как если количество часов меньше 40, то нет смысла вычислять overtimepay. –

+1

Вы дважды считаете часы сверхурочных. «заработная плата» не должна включать 9.73 для сверхурочных часов. –

+0

его правильная .. в чем проблема ?? вы должны написать 'overtimepay = (9.73 * overtimehours) * 1.5;' если его не опечатать .. также 'wage + = overtimepay' – rock321987

ответ

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); 
} 
Смежные вопросы