Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: KIDRAP1 en 16 Junio 2013, 17:25 pm



Título: Error juego el ahorcado en lenguaje c
Publicado por: KIDRAP1 en 16 Junio 2013, 17:25 pm
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


Código:
#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;
}


Título: Re: Error juego el ahorcado en lenguaje c
Publicado por: aguml en 16 Junio 2013, 17:50 pm
en c no puedes declarar una variable dentro de un for, tienes que hacerlo al principio de la funcion.


Título: Re: Error juego el ahorcado en lenguaje c
Publicado por: pacoperico en 16 Junio 2013, 18:54 pm
Lo puedes hacer segun el estandar C99, si tu compilador es gcc compilalo con estas opciones:

Código:
gcc -std=c99 


Título: Re: Error juego el ahorcado en lenguaje c
Publicado por: KIDRAP1 en 18 Junio 2013, 18:13 pm
gracias amigo lo provare