在我的代码中,total始终为0的答案。我不知道我的代码有什么问题。谁能帮我解决这个问题。
我尝试使用“ if else”条件代替“ switch”。但是问题没有解决。
我认为'pkg'值未分配给变量。但这是什么原因。据我所知,我已经正确使用了'scanf'功能。
#include<stdio.h>
int main(void)
{
int i = 1;
float km, amount, total = 0;
char next, loyal, pkg;
printf("Enter Loyalty (Y / N) ?");
scanf("%*c%c", &loyal);
do{
printf("Package No : ");
scanf("%c*c", &pkg);
printf("Total Distance : ");
scanf("%f", &km);
if(km <= 80) {
switch (pkg){
case 'A':
amount = 1500;
break;
case 'B':
amount = 10000;
break;
case 'C':
amount = 13000;
break;
case 'D':
amount = 12000;
break;
}
}
else {
switch (pkg) {
case 'A':
amount = 1500 + 150 * (km - 80);
break;
case 'B':
amount = 10000 + 150 * (km - 80);
break;
case 'C':
amount = 13000 + 150 * (km - 80);
break;
case 'D':
amount = 12000 + 150 * (km - 80);
break;
}
}
total = total + amount;
i++;
printf("\nDo you have more customers (Y / N): ");
scanf("%*c%c", &next);
printf("----------------------------------------------\n");
} while (next == 'Y' && i <= 3);
printf("\n\nPrice = %.2f", total);
return 0;
}