我做了這個程序,根據用戶輸入計算一系列工資的稅額。一切都工作正常,除了我似乎無法找到一種方法,使應用程序忽略最後3個printf的事情,只是打印一個錯誤信息,如果用戶輸入負值。如果用戶輸入負數,我不想顯示最後3個printf,而是希望應用程序只顯示「錯誤:您輸入了負數」或類似的東西。我使用Visual Studio作爲我的編譯器,這是一個C應用程序。幫助PLZ。另外請在我的編程課上輕鬆一下,我們仍然在做非常基本的東西。稅計算器問題
下面是代碼:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
float salary, tax = 0;
printf("\n\n\tEnter the salary ammount per year: \t\t$");
scanf("%f", &salary);
if (salary <= 10000){
tax=0;
}
else if (salary > 10000 && salary <= 40000){
tax = (salary - 10000)*0.2;
} else if (salary > 40000 && salary <= 50000){
tax = 6000 + (salary - 40000)*0.3 ;
} else if (salary > 50000 && salary <= 75000){
tax = 9000 + (salary - 50000)*0.4;
} else if (salary > 75000.01 && salary <= 100000){
tax = 19000 + (salary - 75000)*0.5;
} else if (salary > 100000 && salary >=100000.01){
tax = 31500 + (salary - 100000)*0.6;
}
printf("\nSalary per year:\t\t $ %.2f\n\n", salary);
printf("Tax ammount per year:\t\t $ %.2f\n\n", tax);
printf("Salary after tax:\t\t $ %.2f\n", salary-tax);
getchar();getchar();
}
只有2確信事情:稅收和CS教授派發稅計算器分配 –
一般情況下,如果你正在做會計與貨幣價值,不要使用'float'甚至'double'。最好使用「長」或「長」,並計算美分或生丁或任何最小單位的貨幣。例如,'float'不能準確存儲$ 0.01。 –