Ir ao conteúdo
  • Cadastre-se

Javascript Erro questão Java Script


Posts recomendados

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?

Link para o post
Compartilhar em outros sites

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
Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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...

907618_67f7_4.jpg

PROMOÇÃO RELÂMPAGO!

Curso "Arquitetura de Redes", de Gabriel Torres, por apenas R$ 22,90. Só até as 23h59min desta sexta-feira 23/10/2020!

CLIQUE AQUI E INSCREVA-SE AGORA MESMO!