Tema: Ayuda!!! [C]
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/10/2010, 15:29
chrisha01
 
Fecha de Ingreso: junio-2010
Mensajes: 8
Antigüedad: 14 años, 7 meses
Puntos: 0
Pregunta Ayuda!!! [C]

Uso Dev-C++ y quiero hacer un programa, solo para experimentar, ya que soy principiante, que me pida un numero de personas, y luego me pida sus nombres y apellidos y los muestre en la pantalla.
El problema es que no me deja escribir el nombre de la persona Nº 1, empieza pidiendome su apellido!! (El resto del programa anda OK)

Acá está el código:
Código C:
Ver original
  1. #include<stdio.h>
  2.  
  3. int main()
  4. {
  5. int i;
  6. int cant=0;\*La cantidad de personas *\
  7.  
  8. scanf("%i",&cant);\*Pedir la cantidad de personas*\
  9.  
  10. struct personas
  11. {char nombre[20];
  12. char apellido[20];};
  13.  
  14. struct personas PERSONA[cant];
  15.  
  16. system("cls");
  17.  
  18. \*Acá pido los datos de cada persona. ACÁ ESTÁ EL PROBLEMA: NO PUEDO ESCRIBIR EL NOMBRE 1*\
  19. for(i=0;i<cant;i++)
  20. {printf("PERSONA N %i: \n\n",i+1);
  21. printf("Nombre %i: ",i+1);fflush( stdout );
  22. gets(PERSONA[i].nombre);
  23. printf("\nApellido %i: ",i+1);fflush( stdout );
  24. gets(PERSONA[i].apellido);
  25. printf("\n\n");
  26.  
  27. }
  28. system("cls");
  29.  
  30. \*Muestra los datos ingresados anteriormente*\
  31. for(i=0;i<cant;i++)
  32. {printf("\nNombre %i: %s",i+1,PERSONA[i].nombre);
  33. printf("\nApellido %i: %s\n",i+1,PERSONA[i].apellido);
  34. }
  35.  
  36. system("pause");
  37.  
  38. }

¿Hice algo mal? No puedo solucionarlo.

Otra cosa: ¿Qué es eso de fflush(stdout) ? lo copié de internet pero no se para qué es.


GRACIAS!!!