lunes, 2 de enero de 2012

Codifique un programa que abra un fichero de texto del que lea datos sobre personas (el nombre y la edad). Todas aquellas personas cuya edad es superior a 20 las pasa al fichero resultado.txt (escribe su nombre y edad).

/*Codifique un programa que abra un fichero de texto del que lea datos sobre
personas (el nombre y la edad). Todas aquellas personas cuya edad es
superior a 20 las pasa al fichero resultado.txt (escribe su nombre y edad). */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

FILE *f1,*f2;
char nf1[50]="personas.txt";
char nf2[50]="resultado.txt";

int main(void) {

    f1=fopen(nf1,"r");
     if( f1 == NULL )
         {
               puts("No se puede abrir el fichero");
               exit(EXIT_FAILURE);
         }
    f2=fopen(nf2,"w+");
    if( f2 == NULL )
         {
               puts("No se puede abrir el fichero");
               exit(EXIT_FAILURE);
         }
   
char linea[128];
char clinea[128];
int iedad;
char *nombre;
char *edad;

while (fgets(linea,sizeof linea,f1) != NULL )
{
      printf("%s",linea);
      strcpy(clinea,linea);
      nombre=strtok(linea," ");
      edad=strtok(NULL," ");
      printf("Nombre:%s\n",nombre);
      printf("Edad:%s\n",edad);
      iedad=atoi(edad);
      printf("Edad:%d\n",iedad);
      if (iedad>=20) {
         fputs(clinea,f2);
      }
}
fclose(f1);
fclose(f2);
   
    system ("pause");
    /*printf("Programa finalizado. Pulse INTRO para salir");*/
    return 0;
}

No hay comentarios:

Publicar un comentario