2
respostas

Será que posso dirigir?

Incrementei algumas condicionais a mais e com a opção também de interromper o bloco de comparações se por acaso o usuário no primeiro momento responder que tem menos de 18 anos, porque a premissa principal é ter 18 anos ou mais para tirar a carteira.

<meta charset="UTF-8">

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

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }
    var idade = parseInt(prompt("Qual é sua idade?"));//converte string em inteiro

    if (idade >= 18) {//se maior que 18 executa as outras condições, se não cai no ultimo else e exibe mensagem definitiva

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

        if (idade >= 18 && temCarteira == "S" || temCarteira == "s") {
                mostra("Pode dirigir"); //verifica se tem idade e carteira independentemente se digita maiúscula ou minúscula
        } else {

            mostra("Não pode dirigir");

            if (idade >= 18 && temCarteira == "N" || temCarteira == "n") {//verifica se tem idade e não tem carteira independentemente se digita maiúscula ou minúscula
                    mostra("Motivo: Necessário possuir carteira"); 
            }
                }

    }else {
            mostra("Não pode dirigir");
            mostra("Motivo: carteira só a partir de 18 anos");
        }

</script>

Tentei fazer a indentação o melhor possível, mas não sei se está bom. Por favor, me ajudem.

Obrigado.

2 respostas
<meta charset="UTF-8">

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

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

    var idade = parseInt(prompt("Qual é sua idade?")); //converte string em inteiro

    if (idade >= 18) { //se maior que 18 executa as outras condições, se não cai no ultimo else e exibe mensagem definitiva

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

           var pode = false;

        if (idade >= 18 && temCarteira == "S" || temCarteira == "s") {

                mostra("Pode dirigir");  //verifica se tem idade e carteira independentemente se digita maiúscula ou minúscula
        }
    }

    if(idade < 18) {

        mostra("Você não pode dirigir" + "<br>" + "Motivo: Carteira apartir de 18 anos"); 
    }

    if (idade >= 18 && temCarteira == "N" || temCarteira == "n") { //verifica se tem idade e não tem carteira independentemente se digita maiúscula ou minúscula

         mostra("Motivo: Necessário possuir carteira"); 
    }

</script>

Assim tb seria outra maneira de fazer, mais o seu esta bom

Fala Carlos, tudo bem?

Rapaz, não entendi esse

var pode = false;

Você declarou e atribuiu valor à variável pode, mas onde e como ela está sendo usada?

Me explica aí irmão por favor, que estou começando agora na área.

Grato.