Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/07/2011, 12:51
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 9 meses
Puntos: 344
Respuesta: problema con archivos en C

En la función resultado tienes que poner n==0 en vez de n=0:

Código C:
Ver original
  1. void resultado()
  2.       {
  3.            int edad, n=0;
  4.            char cedulados[20];
  5.            char cedula[20], nombre[20], apellido[20];
  6.            int si, no;
  7.            FILE*persona;
  8.            FILE*encuesta;
  9.            
  10.            printf ("\nIntroduzca la cedula del votante\n");
  11.            scanf ("%s",&cedulados);
  12.            if ((persona=fopen("persona.txt", "r+")) == NULL)
  13.            {
  14.                                         printf ("\nError al abrir el archivo\n");
  15.                                          
  16.            }
  17.            else
  18.            {
  19.                fscanf(persona,"%s %s %s %d",cedula ,nombre, apellido, &edad);
  20.                while(!feof(persona))
  21.                {
  22.                                     fscanf(persona,"%s %s %s %d",&cedula ,&nombre, &apellido, &edad);
  23.                                     n = strcmp(cedula,cedulados);
  24.                                     if (n==0)
  25.                                     {
  26.                                             fclose(persona);
  27.                                             if ((encuesta=fopen("encuesta.txt", "r+")) == NULL)
  28.                                             {
  29.                                                                                 printf ("\nError al abrir el archivo\n");
  30.                                             }
  31.                                             else
  32.                                             {
  33.                                                 printf ("\nResultado - Encuesta\n\n");
  34.                                                 fscanf(encuesta,"%d %d", &si, &no);
  35.                                                  
  36.                                                       printf  ("%d - %d", si, no);
  37.                                                       fscanf(encuesta,"%d %d", &si, &no);
  38.                                                       printf ("\n\n");
  39.                                                  
  40.                                                 fclose(encuesta);
  41.                                             }
  42.                             printf ("\n");
  43.                                    }
  44.                }
  45.                             printf ("\nUsted no esta registrado como votante, por lo tanto no puede ver los resultados\n");
  46.                                    
  47.            }
  48.       }