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

Array - Não aparece a mensagem quando o nº está certo

Caríssimos, o programa não informa quando o número correto aparece, dando a mensagem de que o número escolhido está errado. Alguém pode identificar o erro, por favor?

6 respostas
<meta charset="UTF-8">

<input type="text" id="numero" />
<input type="submit" id="adivinhar" value="Compare com os números que estou pensado!"/>

<script>

var segredo = [34, 37, 45, 50, 58];

var caixaDoNumero = document.getElementById("numero");

var botaoClicado = function(){
    if(segredo == caixaDoNumero.value){
    alert("Parabéns! Você acertou o número secreto!");
    } else {
    alert("Infelizmente você errou!");
    }

};

var botaoAdivinhar = document.getElementById("adivinhar");
botaoAdivinhar.onclick = botaoClicado;

</script>

No vetor segredo, informe a posição que você deseja comparar, como por exemplo: segredo[0] == caixaDoNumero.value

Utilize um for para comparar posição por posição.

Sim, mas isso não funciona. Se mudo a linha proposta, nada aparece. Pelo que (acho) entendi da aula, esta deveria ser uma solução utilizando if/else, não, for?

solução!

Cara, vc tem que usar o for nesse caso.

var botaoClicado = function(){
    for (int i = 0; i < segredo.length; i++){
        if(segredo[i] == caixaDoNumero.value){
           alert("Parabéns! Você acertou o número secreto!");
          return;
        } 
    }
    alert("Infelizmente você errou!");
};

Estou começando a entender :-) Estou fazendo exercícios sobre a matéria propostos no livro Lógica de Programação da Casa do Código. É quase a mesma coisa das aulas, mas está ajudando bastante. Muito obrigado pessoal!