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

Código não roda direito



#include <stdio.h>

int main()
{
    printf ("*********************************\n");
    printf ("Bem vindo ao jogo da adivinhação\n");
    printf ("*********************************\n");

    int limite = 3;
    int numerosecreto = 42;
    int chute;

    printf ("O número secreto é %d. Não conta isso pra ninguém!\n", numerosecreto);
    printf ("\n");


    for (int c; c <= limite; c++){

            printf ("Tentativa %d de 3\n", c);

            printf ("Qual é o seu chute?\n");
            scanf ("%d",&chute);
            printf ("\n");
            printf ("\n");

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

            if (acertou) {

            printf("Parabéns, você acertou!\n");
             break;
            } 
            else {

                if (maior){

                    printf ("Seu número é maior que o número secreto\n");                
                }    else {
                        printf ("Seu número é menor que o número secreto\n");
                    }


            }


        }
}

Como dá pra ver. Quando eu compilo esse código, ele acaba após o bem vindo e nem pede pra eu dizer o chute. Isso só se deu quando eu troquei o limite do for de 3 para uma variável. Tem como dar uma força explicando o que ocorreu?

2 respostas
solução!

Lucas no for você precisa iniciar o contador em 1, segue a linha abaixo.

for (int c = 1; c <= limite; c++){

Por padrão o c inicia as variáveis com outro valor que não 0, por isso não rodou o programa, ele iniciou com um número maior que 3.

Quando entendo meu erro dá até vergonha de ter postado. Kkkkkk. Eu devo ter apagado em algum momento. Mas fazer oq, função de Noob é fazer noobice! Valeu pelo esclarecimento.