Ver Mensaje Individual
  #7 (permalink)  
Antiguo 02/01/2010, 12:02
Lunadan
 
Fecha de Ingreso: noviembre-2008
Mensajes: 14
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Problema con un ejercicio de comparar cadenas

El siguiente problema de comparar cadenas es que quiero saber si el nombre, el apellido1, y el apellido2 estan o no introducidos, para saber si aquel atleta ya estaba inscrito anteriormente o no. Si esta inscrito, en teoria debe avisar (printf ("El nombre ya esta escrito\n");) y volver a pedir el nombre, el apellido1, y el apellido2.
No me funciona.

Código C:
Ver original
  1. error=1;
  2.         while (error==1){
  3.         printf ("Nombre: ");
  4.         fflush(stdin);
  5.         scanf ("%[^\n]", a.nom[i]);
  6.         printf ("Primer apellido: ");
  7.         fflush(stdin);
  8.         scanf ("%[^\n]", a.cog1[i]);
  9.         printf ("Segundo apellido: ");
  10.         fflush(stdin);
  11.         scanf ("%[^\n]", a.cog2[i]);
  12.  
  13.         for (k=0;k<max;k++){
  14.             if (strcmp (a.nom[i], a.nom[k])==0){
  15.                 for (k=0;k<max;k++){
  16.                     if (strcmp (a.cog1[i], a.cog1[k])==0){
  17.                       for (k=0;k<max;k++){
  18.                             if (strcmp (a.cog2[i], a.cog2[k])==0){
  19.                                 error= 1;
  20.  
  21.                             }else{
  22.                                 error=0;
  23.                             }
  24.                         }
  25.                     }else{
  26.                         error=0;
  27.                     }
  28.                 }
  29.             } else{
  30.                 error=0;
  31.             }
  32.         }
  33.  
  34.  
  35.         if (error == 1){
  36.             printf ("El nombre ya esta escrito\n");
  37.         }
  38.         }

Última edición por Lunadan; 03/01/2010 a las 12:31