Вот части кода, которые нуждаются в исправлении.
Проблема 1 : В функции void inputTaxData(int *totalSalesPtr,float *ctaxPtr, float *staxPtr)
вы уже передаете адреса (указатели) переменных. вам не нужно повторно объявлять локальные переменные в функции.
Исправить : Все, что вам нужно сделать, - это присвоить значения, полученные с помощью scanf
, этим местам.
Проблема 2 : функция float calculateTaxes(int totalSales, float ctax, float stax)
возвращает totalTax
, но это возвращаемое значение не используется в main
.
Fix : назначитьвозвращаемое значение totalTax
в main
.
Выпуск 3 : В функции void displayTaxData(float ctax, float stax, float totalTax)
вы передаете копию литеральных значений аргументов, но пытаетесь напечатать адреса ctax
и stax
.
Fix : вывести буквальные значения аргументов, переданных этой функции.
При применении исправлений ваш код будет выглядеть следующим образом .....
#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);
}