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

Meu código igual ao do vide-o apresenta erro.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define NUMERO_DE_TENTATIVAS 3

int main() {
    printf("************************************\n");
    printf("* Bem vindo ao Jogo de Adivinhacao *\n");
    printf("************************************\n");

    int segundos = time(0);
    srand(segundos);

    int numerogrande = rand();

    int numerosecreto = numerogrande % 100;
    int chute;
    int tentativas = 1;
    double pontos = 1000;

    int acertou = 0;
    int numerodetentativas = 5;

    for(int i = 1, i <= numerodetentativas, i++) {

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

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


        if(chute < 0) {
            printf("Você nao pode chutar numeros negativos\n");
            continue;
        }

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

        if(acertou) {
            break;
        } else if(maior) {
            printf("Seu chute foi maior do que o numero secreto!\n");
        } else {
            printf("Seu chute foi menor do que o numero secreto!\n");
        }

        tentativas++;

        double pontosperdidos = abs(chute - numerosecreto) / (double)2;
        pontos = pontos - pontosperdidos;
    }

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

    if (acertou) {
      printf("Voce ganhou\n");
      printf("Voce acertou em %d tentativas!\n", tentativas);
      printf("Total de pontos: %.1f\n", pontos);
    } else{
      printf("Voce perdeu! Tente novamente!\n");
    }

}

Microsoft Windows [versão 6.1.7601] Copyright (c) 2009 Microsoft Corporation. Todos os direitos reservados.

C:\Users\carlos.meireles>cd Documents

C:\Users\carlos.meireles\Documents>cd Curso_C

C:\Users\carlos.meireles\Documents\CursoC>gcc advinha.c -o advinha.exe advinha.c: In function 'main': advinha.c:25:22: error: expected '=', ',', ';', 'asm' or '_attribute' before '<=' token for(int i = 1, i <= numerodetentativas, i++) { ^ advinha.c:58:5: error: expected expression before 'if' if (acertou) { ^ advinha.c:66:1: error: expected expression before '}' token } ^

C:\Users\carlos.meireles\Documents\Curso_C>

Não entendo o porque esta apresentando este erro ai no CMD, me ajudem por favor? Acima tem o codigo e abaixo o erro no CMD.

2 respostas
solução!

Oi Carlos, tudo bem? Dentro dos parenteses do for você está usando vírgulas, mas são ponto e vírtula que você precisa usar. Entende?

Espero ter ajudado, bons estudos!

Wanderson muito obrigado, foi de vacilo mesmo.