Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/05/2013, 16:30
only_skating
 
Fecha de Ingreso: agosto-2008
Mensajes: 382
Antigüedad: 15 años, 8 meses
Puntos: 2
Ordenar lineas bloc de notas

Hola, pues estoy intentando que se genere un bloc de notas aparte del que tengo con ciertas citas de manera que se ordenen por la hora de la cita. se me habia ocurrido esto, pero no me compila y no acabo de encontrar el error ya que sin los fclose y los fopen para buscar una y otra vez me compilaba perfectamente solo que no me realizaba la funcion tal y como queria, se les ocurre algo mejor o donde esta el fallo?

Código C:
Ver original
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. void main()
  5. {
  6.     FILE *ps;FILE *cf;
  7.     int diax, mesx;
  8.     int id1, diap, mesp;
  9.     float horap;
  10.     char nombre[15];
  11.  
  12.  
  13.     ps=fopen("Diaconcitas.txt","a+");
  14.     if(ps==NULL){printf("No se puede abrir el archivo\n");exit(1);}
  15.     cf=fopen("citasp.txt","r");
  16.     if(cf==NULL){printf("No se puede abrir el archivo\n");exit(1);}
  17.  
  18.     printf("Introduce la fecha del dia que deseas ver el listado\n");
  19.     printf("Dia\n");
  20.     scanf("%d",&diax);
  21.     printf("Mes\n");
  22.     scanf("%d",&mesx);
  23.     fscanf(cf,"%s con identificacion %d, tiene cita el dia %d-%d a las %f", nombre, &id1, &diap, &mesp, &horap); //el archivo citas esta organizado asi
  24.     while(!feof(cf))
  25.     {
  26.         if( mesx==mesp && diax==mesp && horap==9.00)
  27.         {
  28.             printf("%s con identificacion %d, tiene cita el dia %d-%d a las %f \n", nombre, id1, diap, mesp, horap);
  29.             fprintf(ps, "%s con identificacion %d, tiene cita el dia %d-%d a las %f \n", nombre, id1, diap, mesp, horap);
  30.             break;
  31.         }
  32.         fscanf(cf,"%s con identificacion %d, tiene cita el dia %d-%d a las %2.f", nombre, &id1, &diap, &mesp, &horap);
  33.     }
  34.        
  35.     if(fclose(cf)!=0){printf("no se puede cerrar el fichero\n");}
  36.     cf=fopen("citasp.txt","r"); if(cf==NULL){printf("No se puede abrir el archivo\n");exit(1);}
  37.  
  38.     fscanf(cf,"%s con identificacion %d, tiene cita el dia %d-%d a las %f", nombre, &id1, &diap, &mesp, &horap); //el archivo citas esta organizado asi
  39.     while(!feof(cf))
  40.     {
  41.         if( mesx==mesp && diax==mesp && horap==9.30)
  42.         {
  43.             printf("%s con identificacion %d, tiene cita el dia %d-%d a las %f \n", nombre, id1, diap, mesp, horap);
  44.             fprintf(ps, "%s con identificacion %d, tiene cita el dia %d-%d a las %f \n", nombre, id1, diap, mesp, horap);
  45.             break;
  46.         }
  47.         fscanf(cf,"%s con identificacion %d, tiene cita el dia %d-%d a las %2.f", nombre, &id1, &diap, &mesp, &horap);
  48.     }
__________________
la experiencia es la mejor de las escuelas, pero la obtienes cuando ya no la necesitas.

Yo soy aquel que mucho hace trabajar a la gente del foro, pero siempre gratifico con un karma