Espero me puedan ayudar.. se los agradeceria demasiado..

void main()
{
int i, op, num,no_prod; // declarando variables a utilizar
{
clrscr();
// Formando el menu para la gestion de datos del inventario
cout<<"\t\t*****MENU DE CONTROL DE INVENTARIOS*****"<<endl<<endl;
cout<<"\t\t\t1.-Ingresar Datos "<<endl;
cout<<"\t\t\t2.-Realizar consultas "<<endl;
cout<<"\t\t\t3.-Desplegar Informacion "<<endl;
cout<<"\t\t\t4. Modificacion"<<endl;
cout<<"\t\t\t5.-Borrar"<<endl;
cout<<"\t\t\t6.-Salir"<<endl<<endl;
cout<<"\t\tINGRESE CUALQUIERA DE LAS OPCIONES: ";
cin>>op;
}
switch(op)
{
// Opcion 1 = Ingreso de registros
case 1:
clrscr(); // limpia la pantalla
cout << "\n\rINGRESO DE DATOS";
alias=fopen("PRODUCTO.SEC","rb+"); // abre el archivo para lectura
if(alias==NULL)// si alias es nulo
alias=fopen("PRODUCTO.SEC","wb"); // crea archivo para E/S
cout << "\n\n\n\rNumero de producto: "; cin >> no_prod;
fread(&Registro,sizeof(Registro),1,alias); // cantidad de registros que se desean grabar
while(!feof(alias))//comprueba el indicador de final de fichero
{
if(Registro.no_prod==no_prod) // si el no de producto ya existe despliega que el registro esta duplicado
{
cout << "\n\n\n\rRegistro duplicado !!!";
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
fclose(alias); // cierre de archivo
getch();
return;
}
fread(&Registro,sizeof(Registro),1,alias); // cuenta elementos dentro del archivo
}
cout << "\n\rDescripcion: "; gets(Registro.descrip);
cout << "\n\rCantidad : "; cin >> Registro.cantidad;
cout << "\n\rPrecio : "; cin >> Registro.precio;
Registro.no_prod=no_prod; // compara no. producto sino son iguales escribe el nuevo producto
fwrite(&Registro,sizeof(Registro),1,alias); // escritura de archivo
fclose(alias); // cierre de archivo
cout << "\n\n\n\rProducto registrado !!!" <<endl; // muestra mensaje del registro exitoso
getch();
break;
// Opcion 2: Consulta de inventario
case 2:
clrscr();
cout << "\n\rCONSULTA DE LOS DATOS INGRESADOS";
alias=fopen("PRODUCTO.SEC","rb"); // abre el archivo para lectura
if(alias==NULL) // si alias es nulo, muestra mensaje de que el archivo no existe
{
cout << "\n\n\n\rNo existe el archivo !!!";
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
cout << "\n\n\n\rNumero de producto: "; cin >> no_prod;
fread(&Registro,sizeof(Registro),1,alias); // cuenta elementos dentro del archivo
while(!feof(alias)) //comprueba el indicador de final de fichero
{
if(Registro.no_prod==no_prod) // si el no. producto existe, despliega los datos del producto
{
cout << "\n\rNo_Prod Descripcion Cantidad Precio ";
cout << "\n\r----------------------------------------------------------";
printf("\n\r%1d\t%10s\t%2d\t\t$%2.2f\t%c",Registro .no_prod,Registro.descrip,
Registro.cantidad,Registro.precio);
fclose(alias); // cierre de archivo
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
fread(&Registro,sizeof(Registro),1,alias); // cuenta elementos dentro del archivo
}
cout << "\n\rNo se encuentra ese registro !!!";
fclose(alias); // cierre de archivo
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
break;
// Opcion 3: Lista los productos del inventario
case 3:
clrscr();
cout << "\n\rLISTADO DE REGISTROS DE PRODUCTOS";
alias=fopen("PRODUCTO.SEC","rb"); // abre el archivo para lectura
if(alias==NULL) // si alias es nulo, muestra mensaje de que el archivo no existe
{
cout << "\n\n\n\rNo existe el archivo !!!";
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
// Lista todos los productos que se encuentren dentro del archivo
cout << "\n\rNo_Prod Descripcion Cantidad Precio ";
cout << "\n\r---------------------------------------------------------";
fread(&Registro,sizeof(Registro),1,alias); // cuenta elementos dentro del archivo
while(!feof(alias)) //comprueba el indicador de final de fichero
{
printf("\n\r%2d\t%10s\t%2d\t\t$%1.2f\t%c",Registro .no_prod,Registro.descrip,
Registro.cantidad,Registro.precio);
fread(&Registro,sizeof(Registro),1,alias); // cuenta elementos dentro del archivo
}
fclose(alias); // cierre de archivo
cout << "\n\r----------------------------------------------------------";
cout << "\n\rFin del listado !!!";
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
break;
// Opcion 4: Modificacion de productos
case 4:
clrscr();
cout << "\n\rMODIFICACION DE REGISTROS DE PRODUCTOS";
alias=fopen("PRODUCTO.SEC","rb+"); // abre el archivo para lectura
if(alias==NULL) // si alias es nulo, muestra mensaje de que el archivo no existe
{
cout << "\n\n\n\rNo existe el archivo !!!";
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
cout << "\n\n\n\rNumero de producto: ";
cin >> no_prod;
cout << "\n\rNo_Prod Descripcion Cantidad Precio ";
cout << "\n\r---------------------------------------------------------";
fread(&Registro,sizeof(Registro),1,alias); // cuenta elementos dentro del archivo
while(!feof(alias)) //comprueba el indicador de final de fichero
{
if(Registro.no_prod==no_prod)
{
printf("\n\r%3d\t%10s\t%3d\t\t$%2.2f\t%c",Registro .no_prod,Registro.descrip,Registro.cantidad,Regist ro.precio);
// se deben anotar los nuevo datos (descripcion, cantidad y precio) del producto
cout << "\n\n\n\rAnote los nuevos datos:";
cout << "\n\rDescripcion: "; gets(Registro.descrip);
cout << "\n\rCantidad : "; cin >> Registro.cantidad;
cout << "\n\rPrecio : "; cin >> Registro.precio;
fseek(alias,ftell(alias)-sizeof(Registro),SEEK_SET);// situa el puntero en el dato a modificar
fwrite(&Registro,sizeof(Registro),1,alias); // escritura de archivo,graba el registro en la dirección física
fclose(alias); // cierre de archivo
cout << "\n\n\n\rRegistro modificado !!!";
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
fread(&Registro,sizeof(Registro),1,alias); // cuenta elementos dentro del archivo
cout << "\n\rNo se encuentra ese registro !!!";
fclose(alias); // Cierra el archivo
getch();
break;
// Opcion 5: borrado de productos
case 5:
clrscr();
cout << "\n\rBORRAR REGISTROS";
alias=fopen("PRODUCTO.SEC","rb+"); // abre el archivo para lectura
if(alias==NULL) // si alias es nulo, muestra mensaje de que el archivo no existe
{
cout << "\n\n\n\rNo existe el archivo !!!";
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
cout << "\n\n\n\rNumero de producto: ";
cin >> no_prod;
fread(&Registro,sizeof(Registro),1,alias); // cuenta elementos dentro del archivo
while(!feof(alias)) //comprueba el indicador de final de fichero
{
if(Registro.no_prod==no_prod)
{
cout << "\n\rNo_Prod Descripcion Cantidad Precio ";
cout << "\n\r---------------------------------------------------------";
printf("\n\r%1d\t%10s\t%1d\t\t$%1.2f\t%c",Registro .no_prod,Registro.descrip,Registro.cantidad,Regist ro.precio);
Registro.no_prod=0;
strcpy(Registro.descrip,"");
Registro.cantidad=0;
Registro.precio=0.0;
do {
cout << "\n\n\rEsta seguro que desea borrarlo? [S/N] ---> ";
op=toupper(getche());
}while(op!='S' && op!='N'); // si el usuario desea borrarlo al pulsar s el registro es eliminado del archivo
if(op=='S')
{
fseek(alias,ftell(alias)-sizeof(Registro),SEEK_SET); // situa el puntero en el dato a modificar
fwrite(&Registro,sizeof(Registro),1,alias); // escritura de archivo
cout << "\n\n\n\rRegistro eliminado !!!";
}
fclose(alias); // cierre de archivo
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
}
fread(&Registro,sizeof(Registro),1,alias); // cuenta elementos dentro del archivo
}
cout << "\n\rNo se encuentra ese registro !!!";
fclose(alias); // cierre de archivo
cout << "\n\r<<< Oprima cualquier tecla para continuar >>>";
getch();
return;
break;
}
// Opcion de salida del programa
case 6:
break;
}
}