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

Não consigo localizar o erro no meu código!

O código não apresenta nenhuma reposta:

<meta charset ="UTF-8">

<script>

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

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

var num = 5;

var chute= Number(window.prompt("Digite o número pensado:"));

if(chute == num ){
    mostra("Você é quase um advinha pois advinhou o número!");
};
if (chute <= num   && chute >= num){
    mostra("Que pena, parece que seus poderes de advinhação estão fracos ultimamente. Você precisa treinar!");
};

</script>
3 respostas
solução!

O código não está apresentando resposta apenas quando o usuário erra. Quando ele acerta, está apresentando as duas respostas.

No primeiro if vc testa se o número informado é 5, se for ele imprime.

No segundo if, vc testa se o número é menor ou igual E maior ou igual. Você deveria testar apenas se ele é diferente usando o operador "!=".

if(chute == num ){
    mostra("Você é quase um advinha pois advinhou o número!");
}
if (chute != num){
    mostra("Que pena, parece que seus poderes de advinhação estão fracos ultimamente. Você precisa treinar!");
}

Ou, para ficar melhor ainda, se um número não é igual, então ele é diferente. Então vc pode usar a cláusula "else". O programa vai executar o que está dentor dessa cláusula quando não satisfizer a condição do if. Então o código ficaria desse jeito:

if(chute == num ){
    mostra("Você é quase um advinha pois advinhou o número!");
} else {
    mostra("Que pena, parece que seus poderes de advinhação estão fracos ultimamente. Você precisa treinar!");
}

Se (if) o chute é igual ao número, exibe que ele acertou, senão (else) exibe que ele errou.

Obrigado!!

Disponha!