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

Posto de gasolina


Aprendiz5

Pergunta

alguém consegue ajudar?

quando eu digito um valor que não é multiplo do valor do combustivel, ele continuaoloop epassa do valor pago alguém consegue ajudaR?

ex:se eu quero colocar 10 (reais) e quero gasolina que custa 3.00(reais o litro) ele soma 3reais no contatorcadavezquepassapelo loop, porem quando chegano 9eleidentificaqueé menor do que 10então continua, então elesoma 3 e acaba ficando 12reaise 4litros sendo certo 10reais e 3,33litros.

alguém manja o que faço?

Leonardo G (FIT)

#include <stdio.h>
#include <stdlib.h>    

main()
{
    int tip;
    float cont, lit, qtdreais, vlgas, vlalc, resto;
    vlgas=3.00;
    vlalc=2.00;
    cont=0.00;
    lit=0.00;
{
                printf("\nSeja Bem Vindo ao posto da esquina.\n");
                printf("\nQuantos reais quer colocar?\n\n");
                scanf("%f",&qtdreais);
                printf("\nAlcool 2.00L ou Gasolina 3.00L: Digite [1]A [2]G\n\n");
                scanf("%i",&tip);
            

            if(tip==1)
            {
                while(cont<qtdreais)
            {
                cont=cont+vlalc;
                lit=lit+1.00;
                printf("\n%.2f Reais",cont);printf("  %.2f Litros\n",lit);
                
            }
            
            printf("\n******************************************************\n");
            printf("***** Foram colocados %.2fL, Valor total %.2f$.  *****\n",lit,cont);
            printf("******************************************************\n\n\n");
            lit=0.00;
            cont=0.00;
            }
            else
            {
            if(tip==2)
            {
                
                while(cont<qtdreais)
                {
                resto=qtdreais-cont;
                cont=cont+vlgas;
                lit=lit+1.00;
                      
                printf("\n%.2f Reais",cont);printf("  %.2f Litros\n",lit);
                        
                }
            printf("\n******************************************************\n");
            printf("***** Foram colocados %.2fL, Valor total %.2f$.  *****\n",lit,cont);
            printf("******************************************************\n\n\n");
            lit=0.00;
            cont=0.00;
            }
            else
            {
                printf("\nN%co temos esse contustivel\n",-57);
            }
        }

}
    system("PAUSE");
    return 0;
}

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Você não esta tratando caso o valor seje menor que três

if(tip==2)
            {
                while(qtdreais!=0)
                {
                if (qtdreais>=3){
                    qtdreais=qtdreais-vlgas;
                    cont = cont+vlgas;
                    lit=lit+1.00;
                }
                else{
                    resto = qtdreais/vlgas;
                    lit=lit+resto;
                    cont=cont+qtdreais;
                    qtdreais=qtdreais-qtdreais;

                }

                printf("\n%.2f Reais",cont);printf("  %.2f Litros\n",lit);


                }

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,4k
×
×
  • Criar Novo...