Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

aprendiz5

[Resolvido] posto de gasolina

Recommended Posts

alguem consegue ajudar?

 

quando eu digito um valor que não é multiplo do valor do combustivel, ele continuaoloop epassa do valor pago alguem 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.

 

alguem 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;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, tudo certo?

 

Cara, bem rapidinho.

Tu tava fazendo um loop ali, mas ele é totalmente desnecessário.

Faça um cálculo direto, sem loop. Eu deixei comentado o seu código e apenas pus 2 linhas a mais em cada opção.

 

#include "stdafx.h"
#include "stdlib.h"

void main()
{
    int tip = 0;
    float cont, lit, qtdreais, vlgas, vlalc, resto = 0;
    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);
	fflush(stdin);
	printf("\nAlcool 2.00L ou Gasolina 3.00L: Digite [1]A [2]G\n\n");
	scanf("%i",&tip);
	fflush(stdin);
                        

	if(tip==1)
	{
		/*while(cont < qtdreais)
		{
			cont = cont + vlalc;
			lit ++;
			lit = qtdreais / vlalc;
			printf("\n%.2f Reais",cont);printf("  %.2f Litros\n",lit);
		}*/

		lit = qtdreais / vlalc;
		printf("\n%.2f Reais",qtdreais);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);

			}*/
			lit = qtdreais / vlalc;
			printf("\n%.2f Reais",qtdreais);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);
		}
	}

}
getchar();
}

Dividindo o quanto tu quer pagar pelo valor do combustível já lhe trará a quantidade de litros.

 

P.S: Agora daria para fazer um loop com um "Gostaria de calcular novamente?" algo do tipo! ^_^

 

Espero ter ajudado.

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

int main(void){

    float grana = 10.0;
    float preco = 3.0;
    int   litro = 0;

    while(1){

        printf("Grana: %.2f\n", grana);

        if (grana >= preco) {
            litro++;
            grana-=preco;
        }

        else break;

    }

    printf("Litros: %d", litro);

    return 0;

}
isso?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

e assim:

 

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

int main(void){
    float grana = 11.0;
    float preco = 3.0;
    float litro = 0.0;
    while(1){
        if (grana > 0.0) printf("Grana: %.2f\n", grana);
        if (grana >= preco) {
            litro++;
            grana-=preco;
        }
        else if (grana > 0.0){
            litro += grana/preco;
            grana -= preco;
        }
        else break;
    }
    printf("Litros: %.2f", litro);
    //ou se preferir ter ctz kkk:
    //printf("Litros: %f", litro);
    return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.