Informática, perguntado por adirfanairam1529, 10 meses atrás

Exercício 1: Faça um algoritmo em linguagem C para calcular quanto cada cliente gastou em pedidos realizados em uma lancheria. A lancheria vende os seguintes produtos: Item Produto Código Preço Unitário 1 Cachorro-quente 100 5,00 2 X-salada 101 8,79 3 X-bacon 102 9,99 4 Misto 103 6,89 5 Salada 104 4,80 6 Agua 105 3,49 7 Refrigerante 106 4,99 Ao iniciar o programa, deve-se aparecer na tela um menu com todos os itens vendidos e seus respectivos preços. O usuário deve escolher digitando de 1-7 qual item quer comprar. Observe que o usuário pode comprar o mesmo item diversas vezes e também pode comprar vários itens diferentes (exemplo: 2 águas e um cachorro-quente, no mesmo pedido). Para encerrar o processo de compra, o usuário deve digitar um valor diferente de 17. Ao encerrar a compra, deve-se listar todos os itens comprados, seus preços individuais e o total a se pagar.

Soluções para a tarefa

Respondido por claudiorsouza1976
12

Resposta:

# 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][4];

char produto[20];

//float pedido[][4] = { 0.00,0.00,0.00,0.00 }; declarar a matriz desta forma gerou um erro em tempo de execução ...

// Menu de Opções

system("cls");

printf("ITEM     PRODUTO             CÓDIGO        VALOR 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");

do // Escolha dos pedidos

{

 printf("\nEscolha um item : ");

 scanf_s("%d", &opcao);

 if (opcao >= 1 && opcao <= 7)

 {

  printf("Quantidade : "); // Quantidade desejada do item

  scanf_s("%f", &qtd);

  if (qtd <= 0)

  {

   printf("Quantidade deve ser maior que ZERO !!!!!\n\n");

   system("pause");

   break;

  }

 }

 switch (opcao) // Montagem da lista de pedidos

 {

 case 1:

  pedido[indice][0] = opcao;

  pedido[indice][2] = qtd;

  pedido[indice][3] = 5.00;

  //pedido[indice][1] = strcpy_s(produto, "cahorroquente");

  //printf("\n%s\n", produto);

  indice++;

  break;

 case 2:

  pedido[indice][0] = opcao;

  pedido[indice][2] = qtd;

  pedido[indice][3] = 8.79;

  indice++;

  break;

 case 3:

  pedido[indice][0] = opcao;

  pedido[indice][2] = qtd;

  pedido[indice][3] = 9.99;

  indice++;

  break;

 case 4:

  pedido[indice][0] = opcao;

  pedido[indice][2] = qtd;

  pedido[indice][3] = 6.89;

  indice++;

  break;

 case 5:

  pedido[indice][0] = opcao;

  pedido[indice][2] = qtd;

  pedido[indice][3] = 4.80;

  indice++;

  break;

 case 6:

  pedido[indice][0] = opcao;

  pedido[indice][2] = qtd;

  pedido[indice][3] = 3.49;

  indice++;

  break;

 case 7:

  pedido[indice][0] = opcao;

  pedido[indice][2] = qtd;

  pedido[indice][3] = 4.99;

  indice++;

  break;

 }

} while (opcao >= 1 && opcao <= 7);

system("cls"); // Impressão do relatório de pedidos

printf("Relatório dos Pedidos\n");

printf("\nITEM   QTDE       PREÇO    VALOR\n");

for (int i = 0; i < indice; i++)

{

 printf("%.1f     %.1f       %.2f     %.2f\n", pedido[i][0], pedido[i][2], pedido[i][3], (pedido[i][2] * pedido[i][3]));

 total = total + (pedido[i][2] * pedido[i][3]);

}

printf("\n\nValor Total do Pedido     %.2f\n\n", total); // Impressão do valor total dos pedidos

system("pause");

return 0;

}


jonastatita: voce me ajudar com esse aqui?
Lancelott2: Como você fez pra não sobrescrever no caso um valor que já tenha sido pedido que tenha sido solicitado anteriormente
Lancelott2: por exemplo você fez o pedido do cachorro quente no algoritimo, selecionou outro mas e depois selecionou o cachorro quente de volta e fez os valores se acumularem
Perguntas interessantes