Código:
fwrite(&p, sizeof(p), 1, pf);
siendo p una variable de una estructura, les dejo el codigo del programa a medio hacer:
Código:
#include <stdio.h>
typedef struct producto{
int numSerie;
char nombre[20];
char descripcion[100];
int precio;
}producto;
void imprimirMenu(void);
void nuevoProducto(char nombreArchivo[]);
//borrarProducto();
//modificarProducto();
//verProducto(char nombreArchivo[]);
int main(){
char nombreArchivo[20]="productos.dat";
int r=0;
do{
r=0;
int opcion;
system("cls");
imprimirMenu();
fflush(stdin);
scanf("%d", &opcion);
switch (opcion) {
case 1: nuevoProducto(nombreArchivo);
break;
case 4: verArchivo(nombreArchivo);
break;
}
printf("\n\nOtra? ");
scanf("%d", &r);
}while(r==1);
printf("\n\n");
return 0;
}
void imprimirMenu(void){
system("cls");
printf("----Data Productos----");
printf("\n\n-Menu:");
printf("\n1.Nuevo Producto");
printf("\n2.Modificar Producto");
printf("\n3.Borrar Producto");
printf("\n4.Ver Producto");
printf("\n\nOpcion: ");
}
void nuevoProducto(char nombreArchivo[]){
FILE *pf;
if((pf=fopen(nombreArchivo, "ab"))==NULL){
printf("\nError al abrir el archivo");
exit (-1);
}
producto p;
system("cls");
printf("Numero: ");
fflush(stdin);
scanf("%d", &p.numSerie);
printf("\nNombre: ");
fflush(stdin);
gets(p.nombre);
printf("\nDescripcion: ");
fflush(stdin);
gets(p.descripcion);
printf("\nPrecio: ");
fflush(stdin);
scanf("%d", &p.precio);
fwrite(&p, sizeof(p), 1, pf);
fclose(pf);
}
typedef struct producto{
int numSerie;
char nombre[20];
char descripcion[100];
int precio;
}producto;
void imprimirMenu(void);
void nuevoProducto(char nombreArchivo[]);
//borrarProducto();
//modificarProducto();
//verProducto(char nombreArchivo[]);
int main(){
char nombreArchivo[20]="productos.dat";
int r=0;
do{
r=0;
int opcion;
system("cls");
imprimirMenu();
fflush(stdin);
scanf("%d", &opcion);
switch (opcion) {
case 1: nuevoProducto(nombreArchivo);
break;
case 4: verArchivo(nombreArchivo);
break;
}
printf("\n\nOtra? ");
scanf("%d", &r);
}while(r==1);
printf("\n\n");
return 0;
}
void imprimirMenu(void){
system("cls");
printf("----Data Productos----");
printf("\n\n-Menu:");
printf("\n1.Nuevo Producto");
printf("\n2.Modificar Producto");
printf("\n3.Borrar Producto");
printf("\n4.Ver Producto");
printf("\n\nOpcion: ");
}
void nuevoProducto(char nombreArchivo[]){
FILE *pf;
if((pf=fopen(nombreArchivo, "ab"))==NULL){
printf("\nError al abrir el archivo");
exit (-1);
}
producto p;
system("cls");
printf("Numero: ");
fflush(stdin);
scanf("%d", &p.numSerie);
printf("\nNombre: ");
fflush(stdin);
gets(p.nombre);
printf("\nDescripcion: ");
fflush(stdin);
gets(p.descripcion);
printf("\nPrecio: ");
fflush(stdin);
scanf("%d", &p.precio);
fwrite(&p, sizeof(p), 1, pf);
fclose(pf);
}