3
respostas

[Dúvida] Não sei o que fiz de errado no exercicio 1

alert ("Bem vindo ao nosso site");
let nome = "Bruno" ;
let idade = 31;
let numeroVenda = 50;
let saldoDisponivel = 100;

alert ("Erro! Preencha todos os campos");
let mensagemErro = "Erro! Preencha todos os campos"
alert = ("mensagemErro") ;



let prompt ("qual seu nome?");
let prompt ("digite sua idade");
 if ( idade >= 18 ) {
  alert  ("pode tirar a habilitação");
 } else {
    alert ("nao pode tirar a habilitação");
 }
3 respostas

Oi, Bruno! Como vai?

Obrigada por compartilhar sua dúvida com a comunidade Alura.

Você tá no caminho certo ao praticar com alert, prompt e condicionais, mas seu código tem alguns pontos que podem estar gerando erro. Vamos ajustar juntos?

Aqui vão algumas observações importantes:

  1. Não se usa let com prompt da forma que você usou. O correto seria assim:

let nomeUsuario = prompt("Qual seu nome?");
let idadeUsuario = prompt("Digite sua idade");

Quando usamos prompt(...), queremos armazenar a resposta da pessoa usuária. Por isso, precisamos de uma variável que receba esse valor e usamos let pra criar essa variável.

  1. A linha abaixo tá incorreta:
    alert = ("mensagemErro");

Nesse caso, você está tentando atribuir um valor ao alert, como se ele fosse uma variável. Mas alert é uma função nativa do JavaScript. Se você fizer isso, vai sobrescrevê-la, e o alert pode parar de funcionar no restante do código.

E, a string "mensagemErro" está entre aspas, então o JavaScript vai tentar mostrar literalmente essa frase e não o conteúdo da variável.

O que você queria fazer era mostrar a variável com o alert, assim:

alert(mensagemErro);
  1. Se estiver testando tudo junto e ao mesmo tempo, evite usar nomes iguais ou parecidos para variáveis diferentes. Isso ajuda a evitar confusões no comportamento do código. Você já tinha usado nome e idade lá no começo. Ajustei no código para nomeUsuario e idadeUsuario, na parte de prompt.

Abaixo vou colocar o código completo ajustado:

// Mostra uma mensagem de boas-vindas
alert("Bem-vindo ao nosso site");

// Declaração de variáveis
let nome = "Bruno";
let idade = 31;
let numeroVenda = 50;
let saldoDisponivel = 100;

// Mostra uma mensagem de erro
let mensagemErro = "Erro! Preencha todos os campos";
alert(mensagemErro);

// Solicita dados do usuário
let nomeUsuario = prompt("Qual seu nome?");
let idadeUsuario = parseInt(prompt("Digite sua idade"));

// Verifica se a pessoa pode tirar habilitação
if (idadeUsuario >= 18) {
  alert("Pode tirar a habilitação");
} else {
  alert("Não pode tirar a habilitação");
}
Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Olá Lorena... Obrigado por ter me ajuda nessa--- vou te mandar o codigo que tentei fazer novamente pq mesmo sendo refeito, acho que esqueci de algo, pois na hora que coloco a idade < 18, ele continua me dizendo que posso tirar a habilitação!

alert ('Bem vindos ao nosso site');
let nome = 'Lua' ;
let idade = 25;
let numeroVendas = 50;
let  saldoDisponivel = 1000; 

alert ('ERRO! Preencha todos os campos!');

let mensagemDeErro = 'ERRO! Preencha todos os campos'
alert(mensagemDeErro)
let nomeUsuario = prompt ('Qual é o seu nome?');
let idadeUsuario = prompt ('Qual a sua idade?');

if ( idade >= 18 ) { 
    alert ('Pode tirar a Hablitação') 
} else {
    alert ('Não pode tirar a habilitação');
}

Oi, Bruno!

O motivo do alerta estar mostrando que pode tirar a habilitação mesmo quando você digita uma idade menor que 18 está nesta linha:


if (idade >= 18) {

Você está comparando a variável idade, que foi definida lá no início do código com o valor fixo 25, e não a variável idadeUsuario, que é a que recebe o valor digitado pela pessoa no prompt.

E, o prompt sempre retorna uma string, e para comparar corretamente com um número, é necessário converter esse valor com parseInt.

Ajuste seu código assim:


alert('Bem-vindos ao nosso site');

let nome = 'Lua';
let idade = 25;
let numeroVendas = 50;
let saldoDisponivel = 1000;

alert('ERRO! Preencha todos os campos!');

let mensagemDeErro = 'ERRO! Preencha todos os campos';
alert(mensagemDeErro);

let nomeUsuario = prompt('Qual é o seu nome?');
let idadeUsuario = parseInt(prompt('Qual a sua idade?'));

if (idadeUsuario >= 18) {
    alert('Pode tirar a habilitação');
} else {
    alert('Não pode tirar a habilitação');
}

Com isso, o programa vai usar o valor digitado no prompt para decidir corretamente a mensagem final.

Fico à disposição. Abraços e bons estudos!