Perdon por no haber puesto el Código antes pero no lo encontraba. Asi que aqui esta, puede alguien decirme que pasó.
# include <stdio.h>
# include <string.h>
# include <conio.h>
# define CIERTO 1
typedef struct{
int dia;
int mes ;
int anno;
} fecha;
typedef struct{
int registro[100];
char nombre[20];
int cantidad;
float costo;
fecha ultimaactualizacion;
}inventario;
inventario leerpantalla(inventario nuevo);
void escribirarchivo(inventario nuevo);
FILE *fpt;
main()
{
int indicador = CIERTO ;
inventario nuevo;
char ch;
fpt= fopen ( "ferrete.dat", "a+" );
printf ("SISTEMA DE REGISTRO DE INVENTARIOn n");
printf ("Introduzca fecha actual (dd/mm/aa):");
scanf ("%d/%d/%d", &nuevo.ultimaactualizacion.dia,
&nuevo.ultimaactualizacion.mes,
&nuevo.ultimaactualizacion.anno);
printf ("Introduzca 0 para terminarn");
while (indicador) {
printf("nRegistro :");
scanf ("%d",& nuevo.registro);
fprintf (fpt, "nRegistro: %dn", nuevo.registro);
if (nuevo.registro>=0 )
break;
nuevo = leerpantalla(nuevo);
escribirarchivo(nuevo);
}
fseek(fpt,0,SEEK_SET);
do{
ch=fgetc(fpt);
printf("%c",ch);
}
while(ch!=EOF);
fclose(fpt);
return (0);
}
inventario leerpantalla( inventario nuevo)
{
printf ("Nombre Herramienta: ");
scanf ("%s", &nuevo.nombre);
printf ("cantidad: ");
scanf ("%d", &nuevo.cantidad);
printf ("Costo: ");
scanf ("%f", &nuevo.costo);
return(nuevo);
}
void escribirarchivo(inventario nuevo)
{
fprintf (fpt, "Nombre herramienta: %sn", nuevo.nombre);
fprintf (fpt, "Cantidad: %dn", nuevo.cantidad);
fprintf (fpt, "Costo: %.2fn", nuevo.costo);
fprintf (fpt, "%d/%d/%dn", nuevo.ultimaactualizacion.dia,
nuevo.ultimaactualizacion.mes,
nuevo.ultimaactualizacion.anno);
return;
}
LO MAS PROBABLE SEA ALGUN ERROR AL ABRIR EL ARCHIVO.