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

Exercicio Pode dirigir?

Caso eu quissese que o programa não seguisse quando fosse digitado idade menor que 18. Como fazer?

insira seu código aqui...
<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( idade < 18) {
        mostra("Você não tem idade para dirigir")
    }

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

</script>
2 respostas
solução!

Oi, Socorro, tudo bem?

Da forma como você fez, sempre terá a segunda pergunta, sobre se tem carteira porque está dentro da instrução, ou seja, ela precisa ser verificada, uma forma de contornar e parar o programa, seria assim:

<meta charset="UTF-8">

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

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }
var idade = parseInt(prompt("Qual é a sua idade?"));


    if(idade >= 18) {
        var temCarteira = prompt("Tem carteira? Responda S ou N");
        if (temCarteira == "S") {
            mostra("Pode dirigir");
        }   
    } else {
        mostra("Não pode dirigir");
    }
</script>

Aqui, você está verificando primeiro a idade, se o usuário tiver menos que 18 anos, ele cai nesse else mostra("Não pode dirigir");, mas caso tenha 18 ou mais, a pergunta da carteira é feita: var temCarteira = prompt("Tem carteira? Responda S ou N"); if (temCarteira == "S") { mostra("Pode dirigir"); E aí a depender da resposta, ele pode dirigir ou não pode dirigir. E ainda fica mais simples :} Bons estudos!

Espero ter te ajudado!

Como "ser maior ou igual a 18" vai ser uma condição de passagem para a próxima pergunta a segunda pergunta deve estar dentro do IF que faz a verificação da primeira. Os IFs também devem estar aninhados levando essas precedências em conta. Uma alternativa é fazer assim:

<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 {
            mostra("Não pode dirigir");
        }
    }
    else {
        mostra("Você não tem idade para dirigir")
    }

</script>