1
resposta

Resolução do problema (ponto maior que 1000)

O problema do valor de pontos final ser maior que o inicial 1000 quando usados números menores que o numero secreto, é o seguinte:

Na subtração, se o valor da esquerda for menor que o da direita, o resultado será negativo. Fazendo de conta que o numero chutado foi 10 e o numsecreto seja 20: Ex: 10-20 = -10

Na hora de subtrair pontos, vai acontecer o seguinte: 1000 = 1000 - (-10). Isso será 1000 + 10 = 1010.

Para a solução do problema, deverá ser feito o seguinte: Se depois da operação matemática, o valor de pontosperdidos ficar negativo (menor que zero), ele deverá entrar numa condição:

  • int pontosperdidos = (numero - numsecreto) / 2;

    if(pontosperdidos<0){ pontosperdidos = pontosperdidos*(-1); }

    pontos = pontos - pontosperdidos; *

Pois qualquer valor negativo, multiplicado por (-1), se torna positivo.

1 resposta

Olá, Felipe! Tudo bem?

Desculpe pela demora em obter retorno.

Obrigada por compartilhar sua resposta com a gente! Isso pode ajudar outras pessoas que estão estudando C a resolverem suas dúvidas!

Bons estudos!