Мне нужна помощь по моему коду, это меню, в котором клиент должен выбрать три варианта и количество, основа для этого уже готова, но у меня возникают трудности, когда клиент выбирает один и тот же продукт дважды, мой код делает не добавлять обе покупки, а заменяет их.
Например, человек выбирает второй вариант и 5 единиц количества, а затем снова выбирает второй вариант, но 2, ответ кода будет засчитан только 2, поскольку он был последние данные, полученные переменной.
Я благодарен за любую помощь.
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
int main()
{
int opcao, quantidade[7];
float total[7], final = 0;
char produto[7][20];
strcpy_s(produto[0], "Cachorro-Quente");
strcpy_s(produto[1], "Xis Salada");
strcpy_s(produto[2], "Xis Bacon");
strcpy_s(produto[3], "Misto");
strcpy_s(produto[4], "Salada");
strcpy_s(produto[5], "Água");
strcpy_s(produto[6], "Refrigerante");
setlocale(LC_ALL, "");
//Menu para os pedidos
printf("**********************CARDÁPRIO**************************\n");
printf("ITEM PRODUTO CÓDIGO PREÇO UNITÁRIO\n");
printf("---------------------------------------------------------\n");
printf("1 Cachorro-Quente 100 5,00\n");
printf("---------------------------------------------------------\n");
printf("2 Xis Salada 101 8,79\n");
printf("---------------------------------------------------------\n");
printf("3 Xis Bacon 102 9,99\n");
printf("---------------------------------------------------------\n");
printf("4 Misto 103 6,89\n");
printf("---------------------------------------------------------\n");
printf("5 Salada 104 4,80\n");
printf("---------------------------------------------------------\n");
printf("6 Água 105 3,49\n");
printf("---------------------------------------------------------\n");
printf("7 Refrigerante 106 4,99\n");
printf("*********************************************************\n");
printf("\nDigite o número do item : ");
scanf_s("%d", &opcao);
while ((opcao >= 1) && (opcao <= 7))
{
switch (opcao)
{
case 1: // cachorro-quente
printf("Digite quantos itens deseja comprar: ");
scanf_s("%d", &quantidade[0]);
total[0] = quantidade[0] * 5.00;
break;
case 2: // xis salada
printf("Digite quantos itens deseja comprar: ");
scanf_s("%d", &quantidade[1]);
total[1] = quantidade[1] * 8.79;
break;
case 3: // xis bacon
printf("Digite quantos itens deseja comprar: ");
scanf_s("%d", &quantidade[2]);
total[2] = quantidade[2] * 9.99;
break;
case 4: // misto
printf("Digite quantos itens deseja comprar: ");
scanf_s("%d", &quantidade[3]);
total[3] = quantidade[3] * 6.89;
break;
case 5: // salada
printf("Digite quantos itens deseja comprar: ");
scanf_s("%d", &quantidade[4]);
total[4] = quantidade[4] * 4.80;
break;
case 6: // agua
printf("Digite quantos itens deseja comprar: ");
scanf_s("%d", &quantidade[5]);
total[5] = quantidade[5] * 3.49;
break;
case 7: // refrigerante
printf("Digite quantos itens deseja comprar: ");
scanf_s("%d", &quantidade[6]);
total[6] = quantidade[6] * 4.99;
break;
}
printf("\nDigite o número do item : ");
scanf_s("%d", &opcao);
}
printf("\nItem Quantidade Valor\n");
for (int i = 0; i < 7; i++)
{
if (quantidade[i] > 0)
{
printf(produto[i]);
printf(" %.i %.2f\n", quantidade[i], total[i]);
final = final + total[i];
}
}
printf("\n");
printf("Total da compra dos pedidos: %.2f\n", final);
system("pause");
return 0;
}