1
resposta

Um jeito melhor de fazer esse programa. Alguém sabe?

Tem algum jeito de fazer esse programa de uma forma que não apareça nada se as perguntas não forem respondidas e usando somente as frases "Pode dirigir" e "Não pode dirigir" ?

<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("Pode dirigir")} else {mostra("Não pode dirigir")
    if(temCarteira == "N") {mostra("Sem carteira não pode dirigir")}
    if(idade < 18) {mostra("Não tem nem idade para dirigir")}}
if(idade =! idade) {mostra("...")};


</script>

1 resposta

Olá, Matheus! Tudo bem?

Primeiramente quero te pedir desculpas pela demora em dar um retorno.

Uma forma de fazer com que o usuário receba apenas "Pode dirigir" e "Não pode dirigir" é utilizando apenas dois if, e se quisermos podemos acrescentar mais um para caso a resposta não se adeque em nenhum dos casos, ele receba um "respostas inválidas". Veja abaixo como ficariam as condições:

    if (idade >= 18 && temCarteira == "S") {
        mostra("Pode dirigir")
    } else if (temCarteira == "N" || idade < 18) {
        mostra("Não pode dirigir")
    } else {
        mostra("Respostas inválidas")
    } 

Entendendo melhor o que fizemos:

  1. Veja que estamos usando idade >= 18 && temCarteira == "S", que significa a idade é maior que 18 E "tem carteira" é igual a S (Sim), para quando queremos imprimir Pode dirigir.

  2. Também usamos temCarteira == "N" || idade < 18, que significa "temCarteira" é igual a N (Não) OU idade é menor que 18, para quando queremos imprimir Não pode dirigir.

  3. E caso não se encaixe em nenhum dos casos anteriores, usamos apenas um else, e imprimimos Respostas inválidas

Espero que isso tenha te ajudado. Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado. ✓