Hola a todos!!,necesito realizar el siguente programa de estructuas y ficheros, pero no me termina de salir.A ver si alguien me puede echar un cable please.Saludos y grasias anticipadas!!
//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);
}