Boa noite, estou realizando uma atividade da faculdade estou com um problema na hora de passar a informacao de qual produto o cliente selecionou. Segue o fonte:
o produto[j] esta sempre vindo com indice informado, ou seja, se realizei o pedido numero 7, ele esté me trazendo produto 1 que é o hot dog e não o refrigerante.
Pergunta
Nicolas Tatico
Boa noite, estou realizando uma atividade da faculdade estou com um problema na hora de passar a informacao de qual produto o cliente selecionou. Segue o fonte:
# include <stdio.h>
# include <stdlib.h>
# include <locale.h>
# include <string.h>
int main()
{
setlocale(LC_ALL, ""); // Acentuação em português
// declaração de variáveis
int opcao, indice = 0;
float qtd, total = 0;
float pedido[99][3];
char produto[7][20]{"Hot-Dog","X-Salada","X-Bacon","Misto","Salada","Água","Refrigerante"};
// Menu de Opções
system("cls");
printf("ITEM PRODUTO CÓDIGO VALOR UNITÁRIO\n");
printf("1 Hot-Dog 100 5,00 R$\n");
printf("2 X-Salada 101 8,79 R$\n");
printf("3 X-Bacon 102 9,99 R$\n");
printf("4 Misto 103 6,89 R$\n");
printf("5 Salada 104 4,80 R$\n");
printf("6 Água 105 3,49 R$\n");
printf("7 Refrigerante 106 4,99 R$\n");
do // Escolha dos pedidos
{
printf("\nEscolha um item : ");
scanf_s("%d", &opcao);
if (opcao >= 1 && opcao <= 7)
{
do{
printf("Quantidade : "); // Quantidade desejada do item
scanf_s("%f", &qtd);
} while (qtd <= 0);
}
switch (opcao) // Montagem da lista de pedidos
{
case 1:
pedido[indice][0] = opcao;
pedido[indice][1] = qtd;
pedido[indice][2] = 5.00;
produto[indice][0];
indice++;
break;
case 2:
pedido[indice][0] = opcao;
pedido[indice][1] = qtd;
pedido[indice][2] = 8.79;
produto[indice][1];
indice++;
break;
case 3:
pedido[indice][0] = opcao;
pedido[indice][1] = qtd;
pedido[indice][2] = 9.99;
produto[indice][2];
indice++;
break;
case 4:
pedido[indice][0] = opcao;
pedido[indice][1] = qtd;
pedido[indice][2] = 6.89;
produto[indice][3];
indice++;
break;
case 5:
pedido[indice][0] = opcao;
pedido[indice][1] = qtd;
pedido[indice][2] = 4.80;
produto[indice][4];
indice++;
break;
case 6:
pedido[indice][0] = opcao;
pedido[indice][1] = qtd;
pedido[indice][2] = 3.49;
produto[indice][5];
indice++;
break;
case 7:
pedido[indice][0] = opcao;
pedido[indice][1] = qtd;
pedido[indice][2] = 4.99;
pedido[indice][] = ("Refrigerante");
indice++;
break;
}
} while (opcao >= 1 && opcao <= 7);
system("cls"); // Impressão do relatório de pedidos
printf("Relatório dos Pedidos\n");
printf("\nITEM PRODUTO QTDE PREÇO VALOR\n");
for (int j = 0; j < indice; j++)
{
printf("%.1f %s %.1f %.2f %.2f\n", pedido[j][0], produto[j], pedido[j][1], pedido[j][2], (pedido[j][1] * pedido[j][2]));
total = total + (pedido[j][1] * pedido[j][2]);
}
printf("\n\nValor Total do Pedido %.2fR$\n\n", total); // Impressão do valor total dos pedidos
system("pause");
return 0;
}
no
for (int j = 0; j < indice; j++)
{
printf("%.1f %s %.1f %.2f %.2f\n", pedido[j][0], produto[j], pedido[j][1], pedido[j][2], (pedido[j][1] * pedido[j][2]));
total = total + (pedido[j][1] * pedido[j][2]);
o produto[j] esta sempre vindo com indice informado, ou seja, se realizei o pedido numero 7, ele esté me trazendo produto 1 que é o hot dog e não o refrigerante.
Alguém consegue me orientar?
http://prntscr.com/tti1s9 (print de como é a saida)
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.