Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/06/2006, 10:42
Amagoia686
 
Fecha de Ingreso: junio-2005
Mensajes: 53
Antigüedad: 19 años, 7 meses
Puntos: 0
Ficheros en C

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",&reg.edad);
flushall();
fprintf(f1,"%s %d",reg.nombre,reg.edad);
putc('\n',f1);
printf("nombre:");
gets(reg.nombre);

}
getch();

fclose(f1);
}
__________________
Mi Risa es mi espada,mi alegría mi escudo