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

Tô batendo cabeça aqui. Primeiramente meu código tava assim:

<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" || temCarteira == "s") {
        mostra("Você pode dirigir!"); 
        }
    } else {
        mostra("Você não pode dirigir!");
    }
</script>

Só que desse jeito, se eu colocasse "N", não printava nada na tela. Ok, ai coloquei:

    if(temCarteira == "N" || temCarteira == "n") {
        mostra("Você não pode dirigir.")
    }

Só que agora quando eu coloco "N", aparece duas vezes "vc n pode dirigir". Já não tô conseguindo entender o problema hahaha Preciso de uma luzzzzzzzzzz...

4 respostas
solução!

Opa amigo vamos começar, primeiro vi que mesmo que digite N, nao aparece nada, pq no teste vc deve estar utilizando por exemplo 18 anos ou mais, e entao apertando N, porém se digitar uma idade maior ou igual a 18, ele ja entra no primeiro if, ignorando o else, entao nao importa vc digitar N, ele nem atinge o else. Quanto a imprimir duas vezes tentei e o meu não imprimiu :/ Olhe o seguinte codigo que fiz para demonstrar o que vc queria:

<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" || temCarteira == "s") {
                mostra("Você pode dirigir!"); 
        }else{
                mostra("Você não pode dirigir!");
            }
    } else {
        mostra("Você não pode dirigir!");
    }
</script>

Ele verifica primeiro a idade, depois se possui habilitação :) Qualquer duvida so falar

Olá Guilherme.

Acredito que seu código tenha que ficar como:

if(idade >= 18) {
    if(temCarteira == "S" || temCarteira == "s") {
        mostra("Você pode dirigir!"); 
    } else {
        mostra("Você não pode dirigir.")
    }
} else {
    mostra("Você não pode dirigir!");
}

O problema é que uma vez que você tem mais que 18 anos, pelo seu código não está tratando caso a pessoa digite "N" ou "n"

Ah, agora ficou tudo bem mais claro pra mim. Muito obrigado pessoal!!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software