在我的代码中,我应该要求用户输入销售总额,县销售税,州销售税,然后返回收集的总税,还返回州和县销售税是什么。
我没有错误,但是我的输出返回为:
您的县营业税为0.00 您的州营业税为0.00 您的总税收为0.00
这是我的代码:
#include <stdio.h>
void inputTaxData(int *, float *, float *);
float calculateTaxes(int, float, float);
void displayTaxData(float, float, float);
int main()
{
int totalSales;
float ctax, stax;
float totalTax;
inputTaxData(&totalSales, &ctax, &stax);
calculateTaxes(totalSales, ctax, stax);
displayTaxData(ctax, stax, totalTax);
return 0;
}
void inputTaxData(int *totalSalesPtr,float *ctaxPtr, float *staxPtr)
{
int totalSales;
float ctax, stax;
printf("\nWhat is your total sales for the month?");
scanf("%d", &totalSales);
*totalSalesPtr = totalSales;
printf("\nWhat is your county sales tax?");
scanf("%f", &ctax);
*ctaxPtr = ctax;
printf("\nWhat is your state sales tax?");
scanf("%f", &stax);
*staxPtr = stax;
}
float calculateTaxes(int totalSales, float ctax, float stax)
{
float totalTax = totalSales * ctax + stax;
return totalTax;
}
void displayTaxData(float ctax, float stax, float totalTax)
{
printf("\nYour County Sales tax is %.2f", &ctax);
printf("\nYour State Sales tax is %.2f", &stax);
printf("\nYour total tax collected is %.2f", totalTax);
}
答案 0 :(得分:0)
这是代码中需要更正的部分。
问题1 :
在函数void inputTaxData(int *totalSalesPtr,float *ctaxPtr, float *staxPtr)
中,您已经在传递变量的地址(指针)。因此,您不必在函数中重新声明局部变量。
修复:
您要做的就是将scanf
获得的值分配给这些位置。
问题2 :
函数float calculateTaxes(int totalSales, float ctax, float stax)
返回totalTax
,但是main
中未使用此返回值。
修复:
将返回的值分配给totalTax
中的main
。
问题3 :在函数void displayTaxData(float ctax, float stax, float totalTax)
中,您传递了参数的文字值的副本,但尝试打印ctax
和{{1 }}。
修复:打印传递给该函数的参数的文字值。
应用这些修复程序,您的代码将如下所示:....
stax