, поэтому я писал программу кассового аппарата. Я делал в основном все. Моя программа почти закончена. Но у меня есть одна проблема. Эта программа просит пользователя выбирать продукты и вычислять общую сумму в конце, если пользователь хочет пойти на takeout.but, когда пользователь должен ввести наличные деньги для оплаты, я сталкиваюсь с проблемой. Если наличные деньги, предоставленные пользователем, больше, чем общая сумма продуктов, которые пользователь выбрал для покупки, он вычисляет и возвращает пользователю изменение, но если денежные средства, предоставленные пользователем, меньше, чем общее количество продуктов, выбранных пользователем, оно должно отображать «Недостаточное количество данных. Добавить больше». Но вместо этого оно отображает целочисленное значение в отрицательной форме .it отображает изменение в отрицательной форме. Я привел пример вывода в bottom.please, помогите me.its так fraustrating. '<' оператор, похоже, не работает.! =, ==,> отлично работает. Спасибо!'<' не работает в заявлении
#include <stdio.h>
#include<conio.h>
#include<stdlib.h>
int main()
{
int a=8,b=10,c=20,d=50,e=30,x,subtotal1=0,subtotal2=0,subtotal3=0,subtotal4=0,subtotal5=0,shopping=1,cash;
int total=subtotal1+subtotal2+subtotal3+subtotal4+subtotal5;
char choice,code,choice2;
printf(" WELCOME TO KFC! \n");
printf("Here are our sample list of products you might be interested in.\n\n");
while(shopping)
{
printf("\nChoose your product Enter product code i.e:A,C etc\n\n");
printf("[A]\n");
printf("[B]\n");
printf("[C]\n");
printf("[D]\n");
printf("[E]\n");
printf("[Q] for Quitting\n\n");
code=getch();
if(code=='q' || code=='Q')exit(0);
if(code=='a' || code=='A')
{
printf("You have chosen 'A' and price is 8$\n\n");
printf("Enter Quantity:\n\n");
scanf("%d",&x);
subtotal1=a*x;
printf("Subtotal price is %d\n\n",subtotal1);
}
if(code=='b' || code=='B')
{
printf("You have chosen 'B' and price is 10$\n");
printf("Enter Quantity:\n");
scanf("%d",&x);
subtotal2=b*x;
printf("Subtotal price is %d\n",subtotal2);
}
if(code=='c' || code=='C')
{
printf("You have chosen 'C' and price is 20$\n");
printf("Enter Quantity:\n");
scanf("%d",&x);
subtotal3=c*x;
printf("Subtotal price is %d\n",subtotal3);
}
if(code=='d' || code=='D')
{
printf("You have chosen 'D' and price is 50$\n");
printf("Enter Quantity:\n");
scanf("%d",&x);
subtotal4=d*x;
printf("Subtotal price is %d\n",subtotal4);
}
if(code=='E' || code=='e')
{
printf("You have chosen 'E' and price is 30$\n");
printf("Enter Quantity:\n");
scanf("%d",&x);
subtotal5=e*x;
printf("Subtotal price is %d\n",subtotal5);
}
printf("Do you want to shop more?\n");
choice=getch();
if(choice=='y' || choice=='Y')shopping=1;
else if(choice=='n' || choice=='N')
{
total=subtotal1+subtotal2+subtotal3+subtotal4+subtotal5;
printf("Do you want to add them to takeout?\n\n");
choice2=getch();
if(choice2=='y' || choice2=='Y')
{
printf("Enter cash:\n");
scanf("%d",&cash);
total=subtotal1+subtotal2+subtotal3+subtotal4+subtotal5;
if(total < ("%d",&cash))
{
printf("You have given %d\n",cash);
printf("Your change is %d\n",cash-total);
}
else printf("Insufficient amount given.Add more.\n");
shopping=0;
}
else shopping=1;
}
}
}
WELCOME TO KFC!
Here are our sample list of products you might be interested in.
Choose your product Enter product code i.e:A,C etc
[A]
[B]
[C]
[D]
[E]
[Q] for Quitting
You have chosen 'A' and price is 8$
Enter Quantity:
12
Subtotal price is 96
Do you want to shop more?
Do you want to add them to takeout?
Enter cash:
90
You have given 90
Your change is -6
Но он должен показать
"Недостаточное количество given.Add более"
это не делает that.why?
Вы слишком задумываетесь об этом ... 'total <("% d ", & cash)' бессмысленно, просто сделайте 'total
JJJ
@JJJ, но художественное использование недооцененного оператора запятой! Кроме того, любой здравомыслящий компилятор * должен * выдать предупреждение для этой строки, так как это нарушение ограничения. – EOF
Если ваш компилятор C дает вам предупреждение, значит, он обнаружил ошибку в вашем коде. Это означает, что вам нужно исправить код, чтобы не было никаких предупреждений, и вы не исправляете их, похлопывая по всему миру. Так говорит ваш код. Спросите, как исправить предупреждения и что означает это предупреждение. Ваша цель должна заключаться в компиляции без предупреждения по строгим предупреждениям. –