gpt4 book ai didi

c - 税后工资计算器返回的金额不正确

转载 作者:行者123 更新时间:2023-11-30 20:10:37 25 4
gpt4 key购买 nike

我正在为一个类(class)做一个项目,让我计算总工资、加类工资和税后净工资。低于 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;
}

最佳答案

int hoursWorked, hourlyWage;

a wage of $15.25

您的 int 变量不能保存 15.25。 scanf 格式代码 %i 不会读取小数。

因此,您的所有计算均以工资 15 进行,而不是 15.25。

如果您进行了最简单的调试,无论是使用真正的调试器并设置变量监视,还是仅打印出每个变量的结果,您自己都可以轻松找到它。学习调试。

关于c - 税后工资计算器返回的金额不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44092618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com