Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) me ajude a fazer esse programa parar quando digitar o &amp


leotk

Pergunta

Para ler N códigos de produtos, seu respectivo valor e sua quantidade em estoque. No final o programa deverá imprimir a lista dos códigos dos produtos, sua quantidade em estoque e seu respectivo valor. Imprimir o código dos produto mais caro, o código mais barato e o valor total em estoque. Para finalizar a entrada de produtos, o usuário deverá digitar “O”.

#include <cstdlib>
#include <iostream>

main()
{
      int CODIGO, QUANTIDADE,i,CODMAIOR,CODMENOR;
      float VALOR,VALMAIOR=0,VALMENOR,VALORTOT=0;
      while(CODIGO!=0)
      {
          printf("Digite codigo  do produto:\n");
          scanf("%d",&CODIGO);
          printf("Digite valor do produto:\n");
          scanf("%f",&VALOR);
          printf("Digite a quantidade de produtos:\n");
          scanf("%d",&QUANTIDADE);
          if(VALOR > VALMAIOR)
          {
                   VALMAIOR=VALOR;
                   CODMAIOR=CODIGO;
          }
          if(i==1)//i é exatamente igual a 1
          {
                  VALMENOR=VALOR;
                  CODMENOR=CODIGO;
          }
          else
          {
              if(VALOR<VALMENOR)
              {
                   VALMENOR=VALOR;
                   CODMENOR=CODIGO;
              }
          }
          VALORTOT=VALORTOT + (QUANTIDADE * VALOR);
      }
      printf("O codigo do produto mais caro e: %d\n",CODMAIOR);
      printf("O codigo do produto mais barato e: %d\n",CODMENOR);
      printf("O valor total do estoque e: %2.2f\n",VALORTOT);
      
      system("pause");
      return 1;      
}

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

porque você não pega essas linhas:

printf("Digite codigo  do produto:\n");
          scanf("%d",&CODIGO);[/code]

e poe ANTES do while. ai se ele digita 0 no primero nem entra.

ai você repete elas como as ULTIMAS linhas do while. ai isso signficia q já ta lendo o proximo e se for 0 ele nem continua.

Link para o comentário
Compartilhar em outros sites

  • 0

#include <cstdlib>
#include <iostream>

main()
{
      int CODIGO, QUANTIDADE,i=1,CODMAIOR,CODMENOR;
      float VALOR,VALMAIOR=0,VALMENOR,VALORTOT=0;
      printf("Digite codigo  do produto:\n");
      scanf("%d",&CODIGO);
      while(CODIGO!=0)
      {
          
          printf("Digite valor do produto:\n");
          scanf("%f",&VALOR);
          printf("Digite a quantidade de produtos:\n");
          scanf("%d",&QUANTIDADE);
          if(VALOR > VALMAIOR)
          {
                   VALMAIOR=VALOR;
                   CODMAIOR=CODIGO;
          }
          if(i==1)//i é exatamente igual a 1
          {
                  VALMENOR=VALOR;
                  CODMENOR=CODIGO;
          }
          else
          {
              if(VALOR<VALMENOR)
              {
                   VALMENOR=VALOR;
                   CODMENOR=CODIGO;
              }
          }
          VALORTOT=VALORTOT + (QUANTIDADE * VALOR);
      printf("Digite codigo  do produto:\n");
      scanf("%d",&CODIGO);
      }
      printf("O codigo do produto mais caro e: %d\n",CODMAIOR);
      printf("O codigo do produto mais barato e: %d\n",CODMENOR);
      printf("O valor total do estoque e: %2.2f\n",VALORTOT);
      
      system("pause");
      return 1;      
}

Ele não acha o codigo mais caro nem o mais barato e nem soma o estoque me ajude a corrigir ai

Link para o comentário
Compartilhar em outros sites

  • 0

juntei os dois topicos pra ficar mais facil.

olha q agora você ta inicializando o i, mas não ta somando. ou seja, ele vai ser 1 pra sempre, e toda vez q passar aqui:

if(i==1)//i é exatamente igual a 1
          {
                  VALMENOR=VALOR;
                  CODMENOR=CODIGO;
          }[/code]

ele vai gravar o q esta sendo digitado no momento, não importa se for maior o menor.

quanto a soma do estoque, testei aqui e ta somando certo sim. qual o problema q deu pra você??

Link para o comentário
Compartilhar em outros sites

  • 0

ele fika sempre assim

Digite o codigo

5

Digite o valor

6

Digite o estoque

8

Digite o codigo

5

Digite o valor

6

Digite o estoque

8

E nunca faz a maior e a menor

Olhe a pergunta desse exercicio e ve se intende

Você deve corrigir os furos do programa anterior um ambiente mais amigável para o usuário.OBS:Manter para o usuário a mesma estrutura lógica do programa

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...