hola a todos soy de nuevo la verdad me gustaria q me ayudaran con este programa es q no c donde esta mi problemas, es de manejo de archivos y si tuvieran ejemplos de todo lo q son archivs de los agradeceria q me los donaran para aprender, agradezco cualquier ayuda posible gracias,
este es mi codigo:
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
struct {
char nombre[25];
int codigo;
float precio;
}electric;
//prototipos
void menu();
void ingresarproduct();
void modificarproduct();
void eliminarproduct();
void verproduct();
void imprimirproduct();
//funcion principal
int main()
{
int op;
int salir=0;
while (salir !=1)
{
menu();
scanf("%d",&op);
switch(op)
{
case 0:
salir = 1;
break;
case 1:
clrscr();
ingresarproduct();
break;
case 2:
clrscr();
modificarproduct();
break;
case 3:
clrscr();
eliminarproduct();
break;
case 4:
clrscr();
verproduct();
break;
case 5:
clrscr();
imprimirproduct();
break;
}// final del switch
}// fin del while
printf("nn");
return 0;
}//fin del menu principal
//MENU
void menu()
{
printf("n ejercicio de ARCHIVOS ");
printf("n seleccione la operacion q desea realizar n");
printf("n 1 -> ingresar producto");
printf("n 2 -> modificar producto");
printf("n 3 -> eliminar producto");
printf("n 4 -> ver producto");
printf("n 5 -> imprimir en impresora");
printf("n 0 -> salir");
printf("n op");
}// fin el switch
void ingresarproduct()
{
FILE *fichero;
cout<<"n ingrese el nombre del producto:"<<endl;
cin>>electric.nombre;
cout<<"n ingrese el codigo del producto:"<<endl;
cin>>electric.codigo;
cout<<"n ingrese el precio del producto"<<endl;
cin>>electric.precio;
if ((fichero = fopen("casa.txt","a")) == NULL) {
printf("error el archivo no existe");
}
else {
fwrite (&electric, sizeof(electric),1,fichero);
printf("n producto agregado exitosamente");
fclose (fichero);
}
printf("nn");
}
void modificarproduct()
{
int codigobuscado;
int encontrado=0;
struct electric newproduct;
FILE *fichero;
FILE *ficherox;
cout<<"ingrese el codigo a modificar";
cin>>codigobuscado;
if((fichero = fopen("casa.txt","r")) == NULL){
printf("n no existe el producto");
}
else {
fread (&electric, sizeof(electric), 1, fichero);
while (!feof(fichero) && (encontrado !=1)){
if (codigobuscado == electric.codigo)
encontrado = 1;
fread (&electric, sizeof(electric), 1 ,fichero);
}
}
fclose (fichero);
if (encontrado == 1){
newproduct.codigo = codigobuscado;
cout<<"ingrese el nombre del producto:"<<endl;
cin>>newproduct.nombre;
cout<<"ingrese el precion:"<<endl;
cin>>newproduct.precio;
if ((fichero = fopen("casa.txt","r")) == NULL)
printf("error no existe");
else
if((ficherox = fopen("casa.txt","w")) == NULL)
printf("n error no se puede abrir el fichero");
else
{
fread(&electric, sizeof(electric),1,fichero);
while (!feof(fichero))
{
if (newproduct.codigo == electric)
fwrite(&newproduct, sizeof(electric),1,ficherox);
else
fwrite(&electric, sizeof(electric), 1, ficherox);
fread (&electric, sizeof(electric),1,fichero)
}
fclose (fichero);
fclose (ficherox);
remove("casa.txt");
rename("casax.txt","casa.txt");
}
}
else {
printf("producto no encontrado");
}
printf("nn");
}
void eliminarproduct()
{
}
void verproduct()
{
}
void imprimirproduct()
{
}