Ir ao conteúdo

Posts recomendados

Postado

Boa noite, estou tendo problemas na seguinte questão:

Citação

Um posto está vendendo combustíveis com a seguinte tabela de descontos: • Álcool: até 20 litros, desconto de 3% por litro. • Álcool: acima de 20 litros, desconto de 5% por litro. • Gasolina: até 20 litros, desconto de 4% por litro. • Gasolina: acima de 20 litros, desconto de 6% por litro. Escreva um algoritmo que leia o número de litros vendidos, o tipo de combustível (codificado da seguinte forma: Álcool, Gasolina), calcule e imprima o valor a ser pago pelo cliente sabendo-se que o preço da gasolina é de R$ 1,20 o litro e o álcool R$ 0,90.

O código não está funcionando para gerar o valor e desconto da gasolina.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Questão 9</title>
</head>
<body>
    <script>
        function programa() {
            var combustivel = prompt("Digite o código do combustível: ");
            // A = ALCOOL  || G = GASOLINA
            var litro = prompt("Digite a quantidade de litros: ");
            
            if (combustivel == "A") {
                var alcool = 0.9;
                var custo = litro * alcool;
            }
            if (litro <= 20) {
                var desconto1 = (custo * 3)/100;
                alert("O desconto do combustível foi de R$ "+desconto1+" e o valor agora é R$ "+(custo-desconto1));
            }
            else if (litro > 20) {
                var desconto2 = (custo * 5)/100;
                alert("O desconto do combustível foi de R$ "+desconto2+" e o valor agora é de R$ "+(custo-desconto2));
            }
            else if (combustivel == "G") {
                var gasolina = 1.2;
                custo = litro * gasolina;
            }
            if (litro <= 20) {
                var desconto3 = (custo * 4)/100;
                alert("O desconto do combustível foi de R$ "+desconto3+" e o valor agora é de R$ "+(custo-desconto3));
            }
            else if (litro > 20) {
                var desconto4 = (custo * 6)/100;
                alert("O desconto do combustível foi de R$ "+desconto4+" e o valor agora é de R$ "+(custo-desconto4));
            } 

        }
    </script>
    <button type="button" onclick="programa()"> Iniciar</button>
    
</body>
</html>

Alguém poderia me ajudar, por favor?

Postado

O problema e nos if , ele sempre vai entrar naquele else if pois o valor digitado vai ser menor ou maior que 20 entende ?

 

Ele digitou vamos supor G E 19 :

 

var combustivel = prompt("Digite o código do combustível: ");
            // A = ALCOOL  || G = GASOLINA
            var litro = prompt("Digite a quantidade de litros: ");
            
            if (combustivel == "A") {
                var alcool = 0.9;
                var custo = litro * alcool;
            }// ele pula essa instrucao porque combustivl nao e igual a A
            if (litro <= 20) {
                var desconto1 = (custo * 3)/100;
                alert("O desconto do combustível foi de R$ "+desconto1+" e o valor agora é R$ "+(custo-desconto1));
            } // AQUI ELE VERIFICA SE O  LITRO E IGUAL A 20 SE FOR ELE ENTRA AQUI porém CUSTO ESTA VAZIO POIS NAO ENTROU NO A
            else if (litro > 20) {
                var desconto2 = (custo * 5)/100;
                alert("O desconto do combustível foi de R$ "+desconto2+" e o valor agora é de R$ "+(custo-desconto2));
            } // se ele for maior que 20 ele cai aqui  e executa porém CUSTO NAO TEM UM VALOR . Entendeu  ?

Coloquei comentarios para explicar acima entao , o que voce teria que fazer ? Colocar 2 ifs para verificar , o primeiro verifica se e alcool , se for ele entra se nao for vai para o proximo , entao verifica se e gasolina se for Ele entra senao , voce poe um else , ou utiliza else if ao invés de 2 ifs enfim  e isso , poderia usar tambem switch  .. Vou deixar dois codigos abaixo .

 

	<script>
     function programa() {
            var combustivel = prompt("Digite o código do combustível: ");
            // A = ALCOOL  || G = GASOLINA
            var litro = prompt("Digite a quantidade de litros: ");
            
            if (combustivel == "A") {
                var alcool = 0.9;
                var custo = litro * alcool;
 
            if (litro <= 20) {
                var desconto1 = (custo * 3)/100;
                alert("O desconto do combustível foi de R$ "+desconto1+" e o valor agora é R$ "+(custo-desconto1));
            }
            else{
                var desconto2 = (custo * 5)/100;
                alert("O desconto do combustível foi de R$ "+desconto2+" e o valor agora é de R$ "+(custo-desconto2));
            }
        }

        if (combustivel == "G") {
                var gasolina = 1.2;
                custo = litro * gasolina;
           
            if (litro <= 20) {
                var desconto3 = (custo * 4)/100;
                alert("O desconto do combustível foi de R$ "+desconto3+" e o valor agora é de R$ "+(custo-desconto3));
            }
            else{
                var desconto4 = (custo * 6)/100;
                alert("O desconto do combustível foi de R$ "+desconto4+" e o valor agora é de R$ "+(custo-desconto4));
            	} 
         	}
    }
    </script>
    <button type="button" onclick="programa()"> Iniciar</button>

 

 

	<script>
        function programa() {
            var combustivel = prompt("Digite o código do combustível: ");
            // A = ALCOOL  || G = GASOLINA
            var litro = prompt("Digite a quantidade de litros: ");
            switch (combustivel)
            {
	            	case "A":
	            	 var alcool = 0.9;
                	 var custo = litro * alcool
	            	 if (litro <= 20) {
	                 var desconto1 = (custo * 3)/100;
	                 alert("O desconto do combustível foi de R$ "+desconto1+" e o valor agora é R$ "+(custo-desconto1));
	            	 }
	            	
	            	else{
	                var desconto2 = (custo * 5)/100;
	                alert("O desconto do combustível foi de R$ "+desconto2+" e o valor agora é de R$ "+(custo-desconto2));
	            }
	            break;
	            case "G":
	             	var gasolina = 1.2;
                	custo = litro * gasolina;
	            	if (litro <= 20) {
	                var desconto3 = (custo * 4)/100;
	                alert("O desconto do combustível foi de R$ " + desconto3 +" e o valor agora é de R$ "+(custo-desconto3));
	            }

	            else{
	                var desconto4 = (custo * 6)/100;
	                alert("O desconto do combustível foi de R$ "+desconto4+" e o valor agora é de R$ "+(custo-desconto4));
	            } 
	            break;
	            default:
	            alert("Digite um codigo valido")
          	}
    	}
    </script>
    <button type="button" onclick="programa()"> Iniciar</button>

 

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!