-1
I need to make a program of a cafeteria that the user needs to enter the item they want and quantity, and at the end of the program everything he bought is shown, its quantities and the total amount of the purchase.
I need to make a specific code that the user types (3,3,2) in the program that would be selected items and (2,0,7) which would be the amount of each of these items, but one of the items repeats. the item of n° 3 put in the amount 0 and at the end of the program the data is overwritten since the same item was chosen again but in quantity 0. How can I avoid this problem so that at the end the item will have the right amount that would be 2 and not 0
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
#define TOTAL_PRODUTOS 7
int main()
{
setlocale(LC_ALL, "Portuguese");
float total[TOTAL_PRODUTOS], preco_final= 0;
int cont, op, qtd[TOTAL_PRODUTOS];
char produtos[TOTAL_PRODUTOS] [30];
strcpy_s(produtos[0], "Cachorro-quente");
strcpy_s(produtos[1], "X-Salada");
strcpy_s(produtos[2], "X-Bacon");
strcpy_s(produtos[3], "Misto");
strcpy_s(produtos[4], "Salada");
strcpy_s(produtos[5], "Água");
strcpy_s(produtos[6], "Refrigerante");
printf("Lanchonete LTD\n");
printf("-----------------------------------------------\n");
printf("Item | Produto | Código | Preço unitário |\n");
printf("1 | Cachorro Quente | 100 | 5,00 |\n");
printf("2 | X-Salada | 101 | 8,79 |\n");
printf("3 | X-Bacon | 102 | 9,99 |\n");
printf("4 | Misto | 103 | 6,89 |\n");
printf("5 | Salada | 104 | 4,80 |\n");
printf("6 | Água | 105 | 3,49 |\n");
printf("7 | Refrigerante | 106 | 4,99 |\n");
printf("--------------------------------------------------\n");
printf("Digite o número do item desejado:\n");
scanf_s("%d", &op);
while ((op <= 7) && (op > 0))
{
switch (op)
{
while ( qtd >0 )
case 1: // Cachorro-quente
printf("Você escolheu o item:\n");
puts(produtos[0]);
printf("Digite a quantidade desse item:\n");
scanf_s("%i", &qtd [0]);
total[0] = qtd[0] * 5.00;
break;
case 2: // X - salada
printf("Você escolheu o item:\n");
puts(produtos[1]);
printf("Digite a quantidade desse item:\n");
scanf_s("%i", &qtd[1]);
total[1] = qtd[1] * 8.79;
break;
case 3: // X -bacon
printf("Você escolheu o item:\n");
puts(produtos[2]);
printf("Digite a quantidade desse item:\n");
scanf_s("%i", &qtd[2]);
total[2] = qtd[2] * 9.99;
break;
case 4: // Misto
printf("Você escolheu o item:\n");
puts(produtos[3]);
printf("Digite a quantidade desse item:\n");
scanf_s("%i", &qtd[3]);
total[3] = qtd[3] * 6.89;
break;
case 5: // Salada
printf("Você escolheu o item:\n");
puts(produtos[4]);
printf("Digite a quantidade desse item:\n");
scanf_s("%i", &qtd[4]);
total[4] = qtd[4] * 4.80;
break;
case 6: // Água
printf("Você escolheu o item:\n");
puts(produtos[5]);
printf("Digite a quantidade desse item:\n");
scanf_s("%i", &qtd[5]);
total[5] = qtd[5] * 3.49;
break;
case 7: // refrigerante
printf("Você escolheu o item:\n");
puts(produtos[6]);
printf("Digite a quantidade desse item:\n");
scanf_s("%i", &qtd[6]);
total[6] = qtd[6] * 4.99;
break;
}
printf("Digite o número do item desejado:\n");
scanf_s("%d", &op);
}
for ( int i = 0; i < TOTAL_PRODUTOS;i++)
{
if (qtd[i] >= 0)
{
puts(produtos[i]);
printf("Quantidade do item: %i || Total a pagar do item: %.2f\n",qtd[i], total [i]);
preco_final += total[i];
}
}
printf("Total do pedido:%.3f", preco_final);
system; "pause";
return 0;
};