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

Alternativa na resolução - if dentro de else

Bom dia pessoal,

Indo um pouco mais além do exercício, gostaria de saber como fazer para que o programe identifique o que está faltando para a pessoa dirigir. Por exemplo, se eu responder que o tenho mais de 18 anos e não tenho CNH, que o programa diga "Você não tem CNH, providencie uma.". Fiz o código abaixo, no entanto apresenta um erro quando coloco um if dentro do segundo else. Alguém poderia me ajudar?

<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 && temCarteira == S) {

        mostra("Você pode dirigir, tem mais de 18 anos e CNH. Parabéns!")

    } else {

        document.write("Você não pode dirigir! Lhe falta a ") + 

            if (idade < 18) {
                document.write("idade necessária para dirigir");} 

            else {
                document.write ("CNH, vá tirar!");}
    }

</script>

Obrigado!

2 respostas
solução!

Código correto:

<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 && temCarteira == 'S') {

        mostra("Você pode dirigir, tem mais de 18 anos e CNH. Parabéns!")

    } else {            
            if (idade < 18) {
                document.write("Você não pode dirigir! Lhe falta a idade necessária para dirigir");
            }
            else {
                document.write ("Você não pode dirigir! Lhe falta a CNH, vá tirar!");
            }
    }

</script>

Tinha alguns erros:

  • S precisa estar entre aspas.. string sempre entre aspas.
  • Você achou que podia começar um document.write e completar com o if.. não rola. If não retorna nada no javascript :).

E esse é o caminho mesmo.. experimentando, indo além e buscando aprender mais.

Obrigado !