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

Não sei onde está o erro

<meta charset="UTF-8">

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

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

    var idade = parseInt (prompt (" Qual é a 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");
    }


</script>

Olá. Mesmo que eu digite uma idade maior que 18 e digite o S, aparece que não posso dirigir, mas não estou conseguindo ver onde errei. Alguém pode me ajudar?

6 respostas

Olá Thais tudo bem ?

Eu acabei de testar seu código aqui , e fiz o teste que você citou de colocar uma idade maior que 18 e digitar o S , o resultado que foi apresentado para mim é que :

Pode dirigir

E quando é colocado uma idade menor doque 18 ele cai na condição que

não pode dirigir 

Então , seu código está correto e na condicional também está correto.

Você verificou se salvou o arquivo pós alteração antes de tentar compilar ? . Se possivél verefique se está salvo e tente compilar ele novamente e fala aqui se deu certo tudo bem. =)

Espero ter ajudado , e lembre-se qualquer dúvida sinta-se a vontade de mandar aqui no fórum ficaremos muito felizes em poder te ajudar . =)

Abraços e bons estudos.

Olá Suelen. Já conferi, salvei novamente, mas continua aparecendo a mensagem dizendo que não pode dirigir.

Thais você pode compartilhar esse seu código aqui novamente só para eu verificar , por que o código acima que eu testei funcionou . Então manda de novo ele aqui por favor . =)

<meta charset="UTF-8">

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

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

    var idade = parseInt (prompt (" Qual é a 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");
    }


</script>
solução!

Thais tudo bem ?

Então estava aqui testando seu código e mais uma vez ele funcionou normalmente. Mas eu fiz um teste aqui que aponta seu erro que você declarou: Mesmo que eu digite uma idade maior que 18 e digite o S, aparece que não posso dirigir .

Vamos lá eu procurei entender oque estava acontecendo e reparei que quando eu colocava a letra s em minúscula ele não passa e cai direto na condição que, (não pode dirigir) e isso ocorre devido a sua declaração na linha 16 :

 if (idade >= 18 && temCarteira == "S")

repare que nessa linha você está dizendo que se a pessoa for maior ou igual 18 e se temCarteira for igual a S ele vai passar , mas ele só irá passar se o usuário declarar a letra em maiúscula ou seja quando o usúario responde o campo em letra minúscula ele não passa.

No java script existe funções que conseguem inverter uma letra maiúscula para minúscula e vice-versa , mas no momento eu acho que o ideial é você compreender o motivo pelo qual seu resultado não está sendo como o esperado .

Faz o teste de preencher o campo utilizando o S em letra maiúscula e me fala se funcionou . =)

Espero ter ajudado e qualquer dúvida é só mandar aqui no fórum que ficaremos muito felizes em te ajudar . =)

Abraços e bons estudos ..

Olá Suelen. Era isso mesmo, eu acho que estava digitando o "s" minúsculo. O professor pediu pra ficar atento quanto a isso, mas na hora eu simplesmente esqueci haha. Muito obrigada pela ajuda!