В моем коде ответ для итога = 0 всегда.Я не знаю, в чем проблема в моем коде.Может кто-нибудь помочь мне, пожалуйста, чтобы решить эту проблему.
Я попытался использовать условие «если еще» вместо «переключатель».Однако проблема не решается.
Я думаю, что значение '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;
}