Hola estoy haciendo un programa que lo que hace es guardar datos de productos en un fichero, pero no se como hacer para borrar o modificar estos datos, osea no se como hacer la funcion que realice esto, les dejo el codigo...
Código [Seleccionar]
#include <stdio.h>
typedef struct producto{
char nombre[20];
char fabricante[20];
char descripcion[50];
int precio;
} producto ;
void imprimirMenu(void);
void nuevoProducto(char *nombreArchivo);
void borrarProducto();
void modificarProducto();
void verProducto();
int main(){
char *nombreArchivo="productos.dat";
int opcion;
imprimirMenu();
fflush(stdin);
scanf("%d", &opcion);
switch (opcion){
case 1: nuevoProducto(nombreArchivo);
case 2: borrarProducto();
case 3: modificarProducto();
case 4: verProducto();
default: printf("\n\nOpcion incorrecta");
}
printf("\n\n");
return 0;
}
void imprimirMenu(void){
printf("\n----Almacen----");
printf("\n\n-Menu: ");
printf("\n1-Nuevo producto\n2-Borrar producto\n3-Modificar producto\n4-Ver producto\n\nOpcion: ");
}
void nuevoProducto(char *nombreArchivo){
system("cls");
FILE *pf;
if((pf=fopen(nombreArchivo, "a"))==NULL){
printf("\nNo se pudo abrir el archivo");
exit (-1);
}
producto p;
printf("\nNombre: ");
fflush(stdin);
gets(p.nombre);
printf("\nFabricante: ");
fflush(stdin);
gets(p.fabricante);
printf("\nDescripcion: ");
fflush(stdin);
gets(p.descripcion);
printf("\nPrecio: ");
fflush(stdin);
scanf("%d", &p.precio);
fputs("Nombre: ", pf);
fputs(p.nombre, pf);
fputs("\nFabricante: ", pf);
fputs(p.fabricante, pf);
fputs("\nDescripcion: ", pf);
fputs(p.descripcion, pf);
fputs("\nPrecio: ", pf);
fprintf(pf, "%d\n\n", p.precio);
}