Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/06/2012, 11:48
rafael452
 
Fecha de Ingreso: junio-2012
Mensajes: 4
Antigüedad: 11 años, 10 meses
Puntos: 0
problema con ficheros y bucle while(!feof..

bueno aca tengo el incio de un proyecto, me he ido guiando de anteriores documentos que ya habia realizado los cuales poseen una y otra cosa parecida a este. muy bien el problema se encuentra segun creo en el bucle while. pero de verdad que no se asi que me encantaria que me dijeran en que estoy fallando. y de antemano muchisimas gracias.
aca les dejo el codigo:
struct{
char codigo;
char unidad_curricular[40];
char modulo[40];
char densidad[15];
char duracion[20];
int horas;
int trayecto;
int trimestre;
int uc;
}
datos;

FILE * ptr;
void insercion(void);
void insercion(){
char n_cod;
ptr=fopen("pnfi1","r+");
cout<<"\nIngrese codigo del producto a ingresar";
cin>>n_cod;
fread(&datos,l,1,ptr);
if(ptr==NULL){fclose(ptr);
ptr=fopen("pnfi1.txt","w");}
fread(&datos,l,1,ptr);
while(!feof(ptr)){
if(datos.codigo==n_cod)
{
printf("\n\n\n\rRegistro duplicado !!!");
fclose(ptr);
getch();
return;
}
fread(&datos,l,1,ptr);
while(getchar()!='\n');
}
n_cod=datos.codigo;
cout<<"\nIngrese unidad curricular";
gets(datos.unidad_curricular);
cout<<"\nIngrese modulo";
gets(datos.modulo);
cout<<"\nIngrese densidad";
gets(datos.densidad);
cout<<"\nIngrese duracion";
gets(datos.duracion);
cout<<"\nIngrese horas";
cin>>datos.horas;
cout<<"\nIngrese trayecto";
cin>>datos.trayecto;
cout<<"\nIngrese trimestre";
cin>>datos.trimestre;
cout<<"\nIngrese unidades de credito";
cin>>datos.uc;
fwrite(&datos, sizeof(datos),1,ptr);
fclose(ptr);
cout<<"\nProducto registrado exitosamente";
getch();
return;
}

NOTA: no me dan errores de sintaxis