2
respostas

Não consigo usar essa função. Ajuda!

<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){
        if(temCarteira=="S"){
            mostra("Pode dirigir")
        }
    }

    if (idade<18){
        if(temCarteira=="S"){
            mostra("Não pode dirigir")
        }

        }

Eu queria no segundo if onde a idade é menor que 18 e tem outro if, caso fosse preenchido com "S" aparecesse "Não pode dirigir!" mas acaba aparecendo as duas mensagens: "Pode dirigir" e "Não pode dirigir". Como possar tornar esse código funcional?

2 respostas

Olá Márcia.

O que você pode fazer é usar um else no lugar do segundo if, concorda comigo que se ele não é maior de 18 anos então fica claro que ele é menor de 18 anos? Refatorando seu código ficaria mais ou menos assim:

if (idade>=18){
        if (temCarteira=="S"){
            mostra("Pode dirigir")
        }
} else {
            mostra("Não pode dirigir")
}

Não sei se seu código leva em consideração que caso seja menor de 18 também é evidente que não pode ter carteira, então não precisaria ter um if dentro do else validando se a pessoa tem ou não carteira.

Espero ter ajudado.

Uma dica que gostaria de dar a você, você pode fazer a primeira validação no if de uma unica vez:

if (idade >=18 && temCarteira == "S"){
    mostra("Pode dirigir")
} else {
        mostra("Não pode dirigir")
}

Olá Marcia!

Na linha onde você escreve: if(idade=>18)

Você inverteu os operadores, troque para if(idade >= 18) e vai funcionar direitinho.