//Escribe las instrucciones para buscar en el fichero1 los alumnos
de nombre "Javier" y copiarlos en el fichero 2.
Registro igual que en el ejercicio 5.
Struct reg_alumno alumno;*/
Código:
#include <conio.h> #include <stdio.h> #include <stdlib.h> #include <string.h> struct reg_alumno { int edad; char nombre [25]; }; struct reg_alumno reg; void cargar(void); void copia(void); void main (void) { int opcion; do { clrscr(); printf("1.-Crear y añadir\n"); printf("2.-Copiar Javier\n"); printf("3.-Salir\n"); scanf("%d",&opcion); switch(opcion) { case 1: cargar(); break; case 2: copia(); break; } } while(opcion!=3); } void copia(void) //esta seria la funcion que pedia el examen { char fich1[20],fich2[20]; FILE *f1,*f2; printf("Introduce el nombre del fichero a leer:\n"); flushall(); gets(fich1); printf("Introduce el nombre del fichero a escribir:\n"); gets(fich2); f1=fopen(fich1,"rt"); f2=fopen(fich2,"wt"); while(!feof(f1)) { fgets(reg,sizeof(reg.nombre),f1); if(strcmp(struct(reg.nombre)=="Javier")) { fprintf(f2,"%s %d",reg.nombre,reg.edad); putc('\n',f2); } fgets(reg,sizeof(reg),f1); } fclose(f1); fclose(f2); } void cargar(void) { FILE *f1; char fich1[20]; printf("Introduce el nombre del fichero:\n"); flushall(); gets(fich1); f1=fopen(fich1,"a"); printf("nombre:\n"); gets(reg.nombre); while(strcmp(reg.nombre,"fin")) { printf("Edad:\n"); scanf("%d",®.edad); flushall(); fprintf(f1,"%s %d",reg.nombre,reg.edad); putc('\n',f1); printf("nombre:"); gets(reg.nombre); } getch(); fclose(f1); }