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

Fiz o código um pouco diferente.

<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: "));
    var temCarteira = prompt("Tem carteira de Habilitação? Sim ou Não");

    if(idade >= 18 && temCarteira == "Sim"){
        prompt("Parabéns, você pode dirigir.");
    } 

    if(idade < 18 && temCarteira == "Sim"){
        prompt("Pela lei, você não pode ter uma carteira de Habilitação com menos de 18 anos de idade.")

    } else {
        prompt("Você não pode dirigir.");
    }

</script>
3 respostas
solução!

Fala, José Marcio! Tudo bem contigo?

Ficou bacana sua lógica, mas eu alteraria alguns pontos.

O primeiro seria alterar o promptpelo mostra, pois a cada ifele mostra a "caixinha" esperando inserir um dado - que é a função do prompt- com a mensagem esperada. Acredito que a função mostraficaria melhor.

    if(idade >= 18 && temCarteira == "Sim"){
        mostra("Parabéns, você pode dirigir.");
    } 

    if(idade < 18 && temCarteira == "Sim"){
        mostra("Pela lei, você não pode ter uma carteira de Habilitação com menos de 18 anos de idade.")

    } else {
        mostra("Você não pode dirigir.");
    }

O outro ponto, perceba que se eu colocar minha reposta como

  • 18 e Sim

Ele mostrará "Parabéns, você pode dirigir." e também "Você não pode dirigir."

Isso acontece porque temos um "bloco" com ife um outro "bloco" com if e else. Se ele satisfazer o primeiro bloco, o código vai entrar no segundo bloco e como digitei 18 não vai satisfazer o if, logo, cai no else.

Neste caso, podemos fazer um "único bloco" com if e else. Por exemplo:

Se é maior de 18 anos e tem carteira de habilitação
    Pode dirigir
então Se é menor de 18 anos e tem carteira de habilitação
    Não pode dirigir...
então
    Não pode dirigir...

Nessa situação, ele compara de uma única vez as premissas.

Espero ter ajudado, Márcio!

Um abraço e bons estudos!!

Olá Cássio, tudo ótimo!.Perfeito, Entendi agora!. Dei uma corrigida nele. O Código ficou desta maneira:

<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: "));
    var temCarteira = prompt("Tem carteira de Habilitação? Sim ou Não");

    if(idade >= 18 && temCarteira == "Sim"){
        mostra("Parabéns, você pode dirigir.");
    } 
    else{
        if(idade < 18 && temCarteira == "Sim"){
        alert("Pela lei você não pode ter uma carteira de Habilitação com menos de 18 anos de idade.");

        }
        else {
        mostra("Você não pode dirigir.");
        }
    }


</script>

Pô, Marcio!!! Perfeito, meu amigo!

É isso aí!

Fiz os testes e rodou perfeito!!

Percebe que ele já valida se tem 18 e tem carteira...acabou!!!

Agora se não tem 18, vamos verificar outras situações... é isso aí!!!

Vamos em frente :-)

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