gpt4 book ai didi

c - 输出返回为 0.00

转载 作者:行者123 更新时间:2023-11-30 21:04:52 25 4
gpt4 key购买 nike

在我的代码中,我应该要求用户输入总销售额,有县销售税,有州销售税,然后返回收取的总税费,并返回州和县销售税。

我没有错误,但我的输出返回为:

您所在县的销售税为 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);
}

最佳答案

以下是需要修正的代码部分。

问题 1:在函数 void inputTaxData(int *totalSalesPtr,float *ctaxPtr, float *staxPtr) 中,您已经传递了变量的地址(指针)。因此您不必在函数中重新声明局部变量。

修复:您所要做的就是分配 scanf 获得的值。到这些位置。

问题 2:函数float calculateTaxes(int totalSales, float ctax, float stax)返回 totalTax但这个返回值并没有在 main 中使用.

修复:将返回值赋给totalTaxmain

问题3:在函数 void displayTaxData(float ctax, float stax, float totalTax) 中您正在传递参数文字值的副本,但试图打印 ctax 的地址和stax .

修复:打印传递给此函数的参数的文字值。

应用修复后,您的代码将如下所示......

#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);
totalTax = calculateTaxes(totalSales, ctax, stax);//assign the returned value
displayTaxData(ctax, stax, totalTax);

return 0;
}


void inputTaxData(int *totalSales,float *ctax, float *stax)
{

printf("\nWhat is your total sales for the month?");
scanf("%d", totalSales);//assign the scanned value to the variable

printf("\nWhat is your county sales tax?");
scanf("%f", ctax);//assign the scanned value to the variable

printf("\nWhat is your state sales tax?");
scanf("%f", stax);//assign the scanned value to the variable

}


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);//print value
printf("\nYour State Sales tax is %.2f", stax);//print value
printf("\nYour total tax collected is %.2f", totalTax);
}

关于c - 输出返回为 0.00,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58742520/

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