Archivo_secuencial_indexado

Páginas: 2 (442 palabras) Publicado: 13 de mayo de 2016
Ejemplo de programa en c++ que permite el ingreso de datos a una estructura con los campos de datos de productos y la consulta utilizando archivos secuenciales indexados (de tipo binario)#include
#include
#include
#include
#include

using namespace std;

struct productos
{
int codigo;
char descripcion[30];
char unidad_medida[30];
floatprecio;
float existencia;
}productos;

struct Indice {
long codigo; // Campo llave.
int ubicacion; // Campo Ubicación.
}indice;

void Altas();
// Definición de prototipos de funciones utilizadas.
// paraque tome la dirección diferente debe grabarse los registros consecutivos
// si no vuelve a empezar con la dirección 0 (falta ver colisiones)
int PedirDatos();
int Consulta();
void menu();

voidmenu()
{
char resp='s';
int choice,key;
do
{
system("cls");
cout<<"\n Menu Principal "< cout<<"\n 1.Ingreso de Registros";
cout<<"\n2.Consulta de un Registro";
cout<<"\n 3.Salir"< cout<<"\n Ingrese su opcion: ";
cin>>choice;
switch(choice)
{
case 1:Altas();
break;
case 2:Consulta();break;
case 3:exit(0);
}
cout<<"\n\t Desea regresar al Menu Principal? (s/n): ";
cin>>resp;
}while(resp=='s');
}

int main()
{
menu();

}

void Altas()
{
char Op='n';
ofstreamArch_Datos;
ofstream Arch_Indice;
Arch_Datos.open("productos.dat", ios::app | ios::binary);
Arch_Indice.open("indice.idx", ios::app | ios::binary);
if (!Arch_Datos)
{
cout << "No se abrio elarchivo de datos " << endl;
cout << " para terminar ..." << endl;
getchar();
exit (-1);
}
if (!Arch_Indice)
{
cout << "No se abrio el archivo de indices" << endl;
cout << "para terminar ..." << endl;
getchar();
exit (-1);
}
do{
cout<<"Codigo del Producto : ";
cin>>productos.codigo;
PedirDatos();
indice.ubicacion = Arch_Datos.tellp();
indice.codigo...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS