3
respostas

[Dúvida] erro código - estrutura condicional

Boa noite! Fiz diversas tentativas para inclusão de mais uma variável no exercício trabalhando com condicionais. Entendo que está com erro de definição do valor. Vocês podem me auxiliar a encontrar uma solução.

Código let quantidadeMilhas = prompt('Digite a quantidade de milhas:'); let porcentagemDesconto = 0;

if(quantidadeMilhas <= 5000){ porcentagemDesconto = 0; } else { if(quantidadeMilhas >= 30000){ porcentagemDesconto = 20; } else if(quantidadeMilhas > 5000 ){ porcentagemDesconto = 10; } console.log(porcentagemDesconto)

let valorPassagem = prompt ('Digite o valor da Passagem:'); let totalPagar = ${valorPassagem};

if(porcentagemDesconto = 0){ totalPagar = ${valorPassagem}; } else { if (porcentagemDesconto = 10){ totalPagar = ${valorPassagem} * 0,90; } else if (porcentagemDesconto = 20){ totalPagar = ${valorPassagem} * 0,80 } } } console.log = (totalPagar);

Mensagens Console

20 app.js:12 Uncaught ReferenceError: totalPagar is not defined at app.js:27:16 (anônimo) @ app.js:27

3 respostas

Olá, Ana Beatriz!

O erro "Uncaught ReferenceError: totalPagar is not defined" que você está recebendo indica que você está tentando usar a variável totalPagar antes que ela seja definida em um determinado escopo. A variável totalPagar precisa ser inicializada antes de ser usada nas condicionais.

Você pode inicializá-la com o valor original da passagem da seguinte forma:

let totalPagar = valorPassagem;

Outro ponto a ser observado é a conversão para número: O prompt() sempre retorna uma string. Para realizar operações matemáticas, é necessário converter os valores para números. Para isso você pode utilizar a função parseInt() para quantidadeMilhas (já que milhas geralmente são números inteiros) e parseFloat() para valorPassagem (para permitir valores com casas decimais), ficando da seguinte forma:

let quantidadeMilhas = parseInt(prompt('Digite a quantidade de milhas:'));
let valorPassagem = parseFloat(prompt('Digite o valor da Passagem:'));

Espero ter ajudado.

Olá José, boa noite!

Fiz as alterações, entretanto, não consegui obter o resultado esperado. A primeira parte do código funciona, mas continua com o mesmo erro. :-(

Erro app.js:27 Uncaught ReferenceError: totalPagar is not defined at app.js:27:15

Desculpa, mas você pode me dar ajudar novamente. Obrigada!

erro código - estrutura condicional

Oi Ana, Posso sim!

Olhando o seu código percebo que o erro está na linha 27.

console.log = totalPagar;

Em JavaScript, o sinal de igual (=) é usado para atribuição, ou seja, você está tentando atribuir o valor da variável totalPagar à função console.log. O que você realmente quer fazer é chamar a função console.log para exibir o valor de totalPagar no console.

A forma correta de fazer isso é usando parênteses () após console.log, passando a variável totalPagar como argumento dentro dos parênteses:

console.log(totalPagar); // Forma correta

Espero ter ajudado.