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

Erro no código "será que posso 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 ) {
        if( temCarteira == "S") {
            mostra("Pode dirigir");
        }
    }

    if(idade < 18) {
        mostra("Não pode dirigir");
    }

</script>

Olá Esse é o mesmo código que aparece na resposta do exercício, no caso, seria a primeira forma de resolver o problema. Entretanto, em todas as formas, mesmo sendo idênticas as das resposta dadas pelo instrutor, quando, a resposta é N para "Tem carteira? Responda S ou N", não aparece resultado algum. Isso ocorre em todas as três formas de resolver o problema, copiando o código da resposta do exercício. Isso seria um problema no meu navegador? Quando entro no console do java tbm não aparece nenhum erro e tbm vi que tem diferença quando coloco "S" ou "N" em minúsculo.

Alguém pode ajudar?

4 respostas

Olá Frederico, Tudo Bem?

Eu revisei o código e testei, está certo, te aconselho a seguir toda a parte inicial do curso sobre instalações novamente.

Olá Eduardo.

Então, sim o código está correto, mas o erro aqui só acontece quando a resposta é N. Sobre instalação.. a única coisa que tive q instalar no meu PC foi o Sublime...será q tenho q desinstalar ele e instalar novamente?

solução!

AAAAH Entendi, você quer que apareça algo caso você não tenha carteira, ok vamos lá!

O teu código não tem a parte do N, para resolver você pode:

    if( idade >= 18 ) {
        if( temCarteira == "S") {
            mostra("Pode dirigir");
        }
    }

    else {
        mostra("Não pode dirigir");
    }

ou

    if( idade >= 18 ) {
        if( temCarteira == "S") {
            mostra("Pode dirigir");
        }
    }

    if(idade < 18 || temCarteira=="N") {
        mostra("Não pode dirigir");
    }

No primeiro caso você extende tudo que não seja maior de idade com carteira com a resposta Não pode dirigir.

Na segunda opção eu coloquei uma condição de "ou", então caso seja menor de idade ou não tenha carteira ele irá retornar dessa vez. Esse "||" é o operador lógico para "ou".

Espero ter ajudado!

Valeu, Eduardo.

Agora deu certo! :)