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

[Dúvida] Programa esta reduindo minhas tentativas

Conforme foi explicado no vídeo quando colocado o i--; ele deveria me dar uma tentativa a mais, porém esta reduzindo normalmente e a mensagem de que não pode usar números negativos também não aparece mais quando o programa é executado.

Segue o cód.:

printf("***********************************\n");
printf("* Bem vindo ao jogo de adivinhacao *\n");
printf("***********************************\n");

int numerosecreto = 42;

int chute;

int i;

for( i = 1; i <= NUMERO_DE_TENTATIVAS; i++) {

    printf("Tentativa %d de %d\n", i, NUMERO_DE_TENTATIVAS);
    printf("Qual é o seu chute? ");

    scanf("%d", &chute);
    printf("Seu chute foi %d\n", chute);

    if (chute < 0) {
        printf("Você não pode chutar números negativos!\n");
        i--;

        continue;
    }

    int acertou = (chute == numerosecreto);
    int maior = chute > numerosecreto;
    int menor = chute < numerosecreto;

    if (acertou) {
        printf("Parabéns! Voce acertou!\n");
        printf("Jogue de novo, voce é um bom jogador!\n");

        break;
    }

    else if (maior) {
            printf("Seu chute foi maior que o número secreto\n");
    }

    else {
            printf("Seu chute foi menor que o número secreto\n");

    }
}

printf("Fim de jogo!\n");

}

2 respostas

Oi, Rodrigo! Tudo bem?

Verifiquei aqui seu código e parece rodar bem. Apenas acrescentei a variável int NUMERO_DE_TENTATIVAS = 5.

Pode me dar um pouco mais de detalhes sobre a sua dúvida?

Aguardo retorno :)

solução!

Olá Larissa tudo bem?

Esqueci de colocar a primeira parte:

#include <stdio.h>

#define NUMERO_DE_TENTATIVAS 5

int main() {

//Imprime cabecalho do nosso jogo
printf("***********************************\n");
printf("* Bem vindo ao jogo de adivinhacao *\n");
printf("***********************************\n");

int numerosecreto = 42;

int chute;

int i;

for( i = 1; i <= NUMERO_DE_TENTATIVAS; i++) {

    printf("Tentativa %d de %d\n", i, NUMERO_DE_TENTATIVAS);
    printf("Qual é o seu chute? ");

    scanf("%d", &chute);
    printf("Seu chute foi %d\n", chute);

    if (chute < 0) {
        printf("Você não pode chutar números negativos!\n");
        i--;

        continue;
    }

    int acertou = (chute == numerosecreto);
    int maior = chute > numerosecreto;
    int menor = chute < numerosecreto;

    if (acertou) {
        printf("Parabéns! Voce acertou!\n");
        printf("Jogue de novo, voce é um bom jogador!\n");

        break;
    }

    else if (maior) {
            printf("Seu chute foi maior que o número secreto\n");
    }

    else {
            printf("Seu chute foi menor que o número secreto\n");

    }
}

printf("Fim de jogo!\n");

}

Com esse cód o programa teria que "excluir" uma tentativa quando for <0 porém quando eu rodo ele não esta nem trazendo a mensagem de que não pode colocar números negativos e nem excluindo a tentativa estou incluindo algumas imagens para explicar melhor.

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