#include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct fecha
{
int dia;
int mes;
int año;
};
struct usuario
{
int DNI;
string nombre;
string apellidos;
string direccion;
string ciudad;
int codigo_postal;
string email;
int telefono;
fecha nacimiento;
};
struct ubicacion
{
int pasillo;
int estanteria;
};
struct libros
{
string ISBN;
string titulo;
string autor;
ubicacion ubicacion;
int prestado;
int valoracion;
};
struct prestamos
{
int identificador;
string ISBN;
int DNI;
string entrega;
string devolucion;
};
const int MAXUsuarios=5000;
const int MAXLibros=1000;
const int MAXPrestamos=10000;
typedef usuario VUsuario [MAXUsuarios];
typedef libros VLibros [MAXLibros];
typedef prestamos VPrestamos [MAXPrestamos];
void FncMenu (int& ,int&);
void FncLeerUsuarioFich (ifstream&, VUsuario&, int&);
void FncLeerLibrosFich (ifstream&, VLibros, int&);
void FcnLeerPrestamosFich (ifstream&, VPrestamos, int&);
int main ()
{
VUsuario vu;
VLibros vl;
int tam;
ifstream f_in;
ofstream f_out;
usuario u;
int opcion,subopcion;
//string nombre;
//int tel;
do{
FncMenu(opcion, subopcion);
switch (opcion)
{
case 1:
{
f_in.open("usuarios.txt");
if(f_in.fail())
{ cout<<"Error abriendo fichero usuarios"<<endl; }
else
{ FncLeerUsuarioFich(f_in,vu,tam);
f_in.close();}
break;
}
case 2:
{
f_in.open("libros.txt");
if(f_in.fail())
{ cout<<"Error abriendo fichero usuarios"<<endl; }
else
{ FncLeerLibrosFich(f_in,vl,tam);
f_in.close();}
break;
}
}
}while (opcion !=0);
return 0;
}
void FncMenu ( int& opcion, int& subopcion)
{
do{
cout<<endl;
cout<<"----------MENU----------"<<endl;
cout<<"1.Leer datos de un fichero "<<endl;
cout<<"2.Dar alta"<<endl;
cout<<"3.Dar de baja a un usuario"<<endl;
cout<<"4.Mostrar informaci\242n"<<endl;
cout<<"5.Guardar informaci\242n actual de la biblioteca"<<endl;
cout<<"6.Buscar informaci\242n"<<endl;
cout<<"7.Mostrar en pantalla la informaci\242n"<<endl;
cout<<"8.Volcar informacion del informe"<<endl;
cout<<"0.Salir"<<endl;
cout<<"-------------------------------------------------"<<endl;
cin>>opcion;
switch (opcion)
{
case 2:cout<<"1.Dar alta usuario"<<endl;
cout<<"2.Dar alta libro"<<endl;
cout<<"3.Dar alta prestamo"<<endl;
cin>>subopcion;
break;
case 4 :cout<<"1.Mostrar informaci\242n de todos los usuarios"<<endl;
cout<<"2.Mostrar informaci\242n de todos los libro"<<endl;
cout<<"3.Mostrar informaci\242n prestamos"<<endl;
cin>>subopcion;
break;
case 6 :cout<<"1.Buscar la informaci\242n de un usuario"<<endl;
cout<<"2.Buscar informaci\242n de un libro"<<endl;
cout<<"3.Buscar informaci\242n de un prestamo"<<endl;
cin>>subopcion;
break;
}
}while (opcion<0 || opcion >8);
}
void FncLeerUsuarioFich(ifstream& f_in , VUsuario& vu , int& tam )
{
while(!f_in.eof())
{
f_in>>vu[tam].DNI;
getline(f_in,vu[tam].nombre);
getline(f_in,vu[tam].apellidos);
getline(f_in,vu[tam].direccion);
getline(f_in,vu[tam].ciudad);
f_in>>vu[tam].codigo_postal;
getline(f_in,vu[tam].email);
f_in>>vu[tam].telefono;
f_in>>vu[tam].nacimiento.dia;
f_in>>vu[tam].nacimiento.mes;
f_in>>vu[tam].nacimiento.año;
tam++;
cout<<"leido";
};
}