Error juego el ahorcado en lenguaje c

Iniciado por KIDRAP1, 16 Junio 2013, 17:25 PM

0 Miembros y 1 Visitante están viendo este tema.

KIDRAP1

HOLA AMIGOS TENGO UN ERROR DE COMPILACION EN ESTE CODIGO
El problema esta en la linea 21 ''for (char*ap=palabradusuario; *ap; ap++)''
y el error es el siguiente '''for' loop initial declaration used outside C99 mode ''
ESTOY USANDO EL COMPILADOR DVE C++ LES AGRADECERIA MUCHO SU AYUDA GRACIAS


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

int main(int argc, char *argv[])
{
system ("color f1");
printf("                           Integrante:Analiz Molero,Eliany barreto\n\n"); 
printf("                    #####################################");
printf("                     #         Juego el Ahorcado         #");
printf("                    #####################################");
     
printf("\n\n                  Usuario escriba una palabra para adivinar:\n\n");
char palabradusuario[20];
gets (palabradusuario);
   
system ("CLS");

char acertadas[20];
strcpy (acertadas, palabradusuario);
int largo = strlen (palabradusuario);
for (char*ap=palabradusuario; *ap; ap++)
printf("'_');
int errores = 0, acierto;
for (;;) {
      printf("Escribe una letra: ");
       char letra;
      gets(letra);
       char*ap;
       int acierto = 0;
       for (ap = acertadas; *ap; ap++)
           if (*ap == letra) {
              *ap = '_';
              acierto = 1;
           }
       if (!acierto) {
          if (++errores >= 5) {
             printf("Demasiados errores!!!");
             break;
          } else
           printf("Error!!! solo te quedan ",5 - errores," oportunidades");
       } else {
          acierto = 0;
          for (int i = 0; palabradusuario[i]; i++)
             if (palabradusuario[i] != acertadas[i])
                printf("%s",palabradusuario[i]);
             else {
               printf("'_'";
                acierto = 1;
             }
          cout << endl;
          if (!acierto) {
             printf("\tFelicidades!!! has ganado.\n");
             break;
          }
       }
   }

   system("PAUSE");
   return EXIT_SUCCESS;
}

aguml

en c no puedes declarar una variable dentro de un for, tienes que hacerlo al principio de la funcion.

pacoperico

Lo puedes hacer segun el estandar C99, si tu compilador es gcc compilalo con estas opciones:

gcc -std=c99

KIDRAP1