Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro no codigo

Ao digitar o código ele funciona somente para quando a pessoa é maior que 18. E se uso o "s" e "n", minúsculos. também da erro, o que estou errando?

<meta charset="UTF-8">

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

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

    var idade = parseInt(prompt("Qual é sua idade?"));

    if (idade >= 18) {

    var temCarteira = prompt("Tem carteira? Responda S ou N");

        if (temCarteira == "S") {
            mostra ("Tudo certo! Pode dirigir! ");
        }

        if(temCarteira == "N") {
            mostra("Você ainda não pode dirigir! ");
        }    

    if(idade < 18)

        mostra("Você ainda não tem a idade correta para dirigir. ");    

        }


</script>
2 respostas
solução!

Olá, primeiramente, o "if(idade <18)" está dentro do "if(idade >=18)", esse if nunca é ativado pois para chegar a ele a idade deve ser maior que 18, se remover ele dos colchetes creio que irá funcionar. Em relação às letras, quando a leitura é feita ocorre uma diferenciação entre letras maiúsculas e minúsculas, para que funcione com as duas ele deve estar assim:

<meta charset="UTF-8">

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

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

    var idade = parseInt(prompt("Qual é sua idade?"));

    if (idade >= 18) {

    var temCarteira = prompt("Tem carteira? Responda S ou N");

        if (temCarteira == "S" || temCarteira == "s") {
            mostra ("Tudo certo! Pode dirigir! ");
        }

        if(temCarteira == "N" || temCarteira == "n") {
            mostra("Você ainda não pode dirigir! ");
        } 
    }       

    if(idade < 18){

        mostra("Você ainda não tem a idade correta para dirigir. ");    

        }


</script>

Você pode ver o uso do " ||" aqui : https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Operators/Operadores_Logicos

<meta charset="UTF-8">

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

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

    var idade = parseInt(prompt("Qual é sua idade?"));

    if (idade >= 18) {

    var temCarteira = prompt("Tem carteira? Responda S ou N");

        if (temCarteira == "S" || temCarteira == "s") {
            mostra ("Tudo certo! Pode dirigir! ");
        }

        if(temCarteira == "N" || temCarteira == "n") {
            mostra("Você ainda não pode dirigir! ");
        } 
    } else {      

        mostra("Você ainda não tem a idade correta para dirigir. ");    

        }


</script>

Caso queira, pode também utilizar o "else" no lugar do outro if.

Muito obrigado ajudou muito