-2
私は、総額、残業手当、税金控除後の純賃金を計算するクラスのプロジェクトに取り組んでいます。 $ 600以下のものは15%で課税され、600以上のものは20%の税金が課せられます。私はすべての計算が正しいと信じています。しかし、私はプログラムを実行すると、それは私に間違った答えを与える。時間を45時間で入力し、15.25ドルの賃金を入力すると、総額724.38ドルの純賃金と$ 659.26の純賃金を得なければなりません。代わりに、私は712.50ドルの正味支払いと645.00ドルの正味支払いの結果を返しています。これはむしろ奇妙です。税引後給与計算機が間違った金額を返しています
#include<stdio.h>
int main(void){
int hoursWorked, hourlyWage;
float grossPay, netPay, overHours;
printf("Please input number of hours worked. ");
scanf(" %i", &hoursWorked);
printf("Please input your hourly wage. ");
scanf(" %i", &hourlyWage);
if(hoursWorked <= 40){
grossPay = hourlyWage * hoursWorked;
}
else{
if(hoursWorked > 40){
overHours = hoursWorked - 40;
grossPay = (overHours * (hourlyWage * 1.5)+ (hourlyWage * 40));
}
}
if(grossPay <= 600){
netPay = (grossPay - (grossPay * .15));
}
else{
if(grossPay > 600){
netPay = (grossPay - (600 * .15) + ((grossPay - 600) * .2));
}
}
printf("Your gross pay was $%.2f", grossPay);
printf("\nAnd your net pay was $%.2f after taxes", netPay);
return 0;
}
ありがとうございました。それを修正するために私は何を使うでしょうか? – RLuck
@ user3225965: 'grossPay'のように分数値を保持している他の変数があります。違いは?どのデータ型について学んだのですか? –