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

Problemas com if/else.

Olá turma!

Neste exercício do jogo de adivinhação, quando o valor inserido no prompt é menor ou maior do que o gerado pelo math.random, a mensagem aparece corretamente, porém quando acerto o número - ou seja, chute == numeroPensado - aparece mais de uma mensagens simultâneamente... Onde está o erro?

Obs: IF == numeroPensado : Parábens! Você acertou! Else : Humm, você errou... Maior > Exagerou! Menor < Ficou com dó? Obs.: trabalhei apenas com 10 numeros e não 100 como foi pedido, por comodidade.

Sds!

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Olá, Matheus, nesse exemplo, o número 5 (chute) é, ao mesmo tempo:

if chute (5) == numeroPensado (5) (verdadeiro) mostra("Parabéns, você acertou em cheio!"); (resultado 1)

e não é

if chute (5) < numeroPensado (5) (falso)

else (ou seja, chute (5) >= numeroPensado (5)) (verdadeiro) mostra("Exagerou!!! Eu pensei no número " + numeroPensado); (resultado 2)

Por isso o programa executa o primeiro e o último mostra ao mesmo tempo. Para que o programa não mostre dois resultados (frases) ao mesmo tempo, precisa ser ajustado para 3 condições: if (chute == numeroPensado), if(chute > numeroPensado) e else (ou seja, chute < numeroPensado subentendido). Aí, o mostra("Hum... você errou, tente novamente.") deveria ser incluído no segundo if e no else, ou seja, em todas as condições em que o chute não fosse igual ao número pensado. Bons estudos!

Oi Leila!

Ficou muito claro agora! Depois de muito tentar, consegui responder bem com a dica do instrutor, todavia, ainda nao tinha me ficado claro o porque de nao ter dado certo!. Ainda preciso melhorar muito o meu pensamento logico! rsrsrs...

Obrigado!!! Abraços!!!