Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Número de tentativas errado

Após inserir a linha printf("Tentativa %d de 3\n"); o terminal mostra "Tentativa 6422224 de 3" na primeira vez e repete minhas respostas na próximas. Por exemplo, se eu colocar 80 na primeira tentativa, aparece "Tentativa 80 de 3". O que está errado?

Meu código completo:

#include <stdio.h>
#include <locale.h>
#include <windows.h>

int main() {

    // adiciona acentuação 
    UINT CPAGE_UTF8 = 65001;
    UINT CPAGE_DEFAULT = GetConsoleOutputCP();
    SetConsoleOutputCP(CPAGE_UTF8);

    // imprime cabeçalho do nosso jogo
    printf("******************************************\n");
    printf("* Bem-vindo ao nosso jogo de adivinhação *\n");
    printf("******************************************\n");

    int numerosecreto = 42;

    int chute;

    for(int i = 1; i <= 3; i++) {

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

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

        int acertou = (chute == numerosecreto);

        if(acertou) {
            printf("Parabéns! Você acertou!\n");
            printf("Jogue de novo, você é um bom jogador!\n");
        }

        else {
            int maior = chute > numerosecreto;
            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");
}
1 resposta
solução!

Já descobri o erro. Eu esqueci de colocar um i no final da linha.

Então o correto é printf("Tentativa %d de 3\n", i);

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software