1
resposta

Encontrar o erro

<meta charset="UTF-8">

<script>
    function pulaLinha() {
        document.write("<br>");
    }

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }

    var idade = parseInt(prompt("Qual é sua idade?"));
    var temCarteira = prompt("Tem carteira? Responda S ou N");

    if (idade < 18) {
        mostra("Não pode dirigir");
    }

    if (idade >= 18 && temCarteira == "s") {
        mostra("Pode dirigir");
    }

    if (idade >= 18 && temCarteira == "n") {
        mostra("Nao pode dirigir");
    }
</script>

alguem consegue encontrar o erro? fiz novamente esse exercicios e nao ta dando certo

1 resposta

Oi Matheus

Você precisa fazer a verificação com o s em maiúsculo. Você poderia fazer a verificação utilizando minúsculo e maiúsculo assim:

  if (idade >= 18 && (temCarteira == 's' || temCarteira == 'S')) {
    mostra('Pode dirigir');
  }

  if (idade >= 18 && (temCarteira == 'n' || temCarteira == 'N')) {
    mostra('Nao pode dirigir');
  }

Ou você pode utilizar uma função que converte para maiúsculo e assim independente se o usuário digitar maiúsculo ou minúsculo o S ou N a verificação irá funcionar, ficaria assim:

  if (idade >= 18 && temCarteira.toLocaleUpperCase() == 'S') {
    mostra('Pode dirigir');
  }

  if (idade >= 18 && temCarteira.toLocaleUpperCase() == 'N') {
    mostra('Nao pode dirigir');
  }