2
respostas

O que tem de errado?

Tipo na parte que eu coloco que sou maior de idade e nao tenho carteira, a tela fica em branco. Alguem poderia me ajudar?

<meta charset="UTF-8">

    <script>

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


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

        var nome = prompt("Qual é o seu nome");
        var idade = parseInt(prompt(nome + " qual é a sua idade?"));
        var temCarteira = prompt(nome + " você tem carteira? responda S ou N"));

        if(idade >= 18 && temCarteira == "S") {
            texto("Pode dirigir");

        } else {
            if(idade < 18 && temCarteira == "N")
                texto("Não pode dirigir");
        }



        </script>
2 respostas

Boa Tarde Thais, tudo bem ? Na linha 17 do seu código tem 1 ")"a mais.

        var temCarteira = prompt(nome + " você tem carteira? responda S ou N"));

Como deve obrigatoriamente ser acima de 18 anos e ter carteira para dirigir não há a necessidade do segundo if dentro do else. Ficando o código como abaixo:

        if(idade >= 18 && temCarteira == "S") {
            texto("Pode dirigir");

        } else {
                texto("Não pode dirigir");
        }

Dessa forma esta rodando normal.

Oi, Cezar!

A sua solução é a mesma que a do professor, porém faltou, como a Thaís apontou e eu tbm tinha notado, que qdo se coloca a idade >= 18, mas que não possui carteira, nao traz nenhum resultado, sendo que deveria trazer um resultado do tipo "Você tem idade para dirigir, porém não pode por ainda não possuir carteira de motorista." Por isso há essa uma das soluções interessantes para essa questão:

<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("Pode dirigir")
        }else if(temCarteira == 'N'){
            mostra("Você possui idade para dirigir, porém não possui carteira de motorista ainda");
        }
    }else if(idade < 18){
        mostra("Não pode dirigir");
    }
</script>