Documentos de Académico
Documentos de Profesional
Documentos de Cultura
h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
#include <iostream>
struct fecha{
int dia;
int mes;
int year;
};
//////////////////ESTRUCTURA AUTOR////////////
struct autorLibro{
//char nombre[40];
string nombre;
int cod;
};
///////////LIBRO///////////
struct libro{
string titulo;
autorLibro autor;
string genero;
string codigo;
fecha impresion;
fecha ingreso;
};
int numauto;
int tamvecautor=0,pos=0;//variables de contro para el arreglo de autores
//////////////////////////////MENU/////////////////////
int menu(){
system("cls");
int opc;
cout<<"\t\t *** SISTEMA DE BIBLIOTECA *** ";
cout<<"\n(1)Registrar libro";
cout<<"\n(2)Consultar";
cout<<"\n(3)Listar";
cout<<"\n(4)Salir";
do{
cout<<"\nIngrese opcion -> ";cin>>opc;
}while(opc<1 || opc>4);
return opc;
int menuBuscar(){
int op;
do{
cout<<"\t\t\t*** Buscar Libro ***";
cout<<"\n(1) Titulo.";
cout<<"\n(2) Autor.";
cout<<"\n(3) Genero.";
cout<<"\n(4) Codigo.";
cout<<"\n(5) Salir.";
cout<<"\nIngrese Opcion -> ";
cin>>op;
}while(op<1 || op>5);
return op;
}
///////////////////////////////////////////////
void listar(libro *lib,int max){
int i;
system("cls");
cout<< "\t\t\t *** DATOS BIBLIOTECA ***\n";
for(i=0; i<max; i++){
cout<<"Libro "<<i<<endl;
cout<< "Titulo: "<<lib[i].titulo<<endl;
cout<< "Autor: "<<lib[i].autor.nombre<<endl;
cout<< "Genero: "<<lib[i].genero<<endl;
cout<<"Fecha de Impresion:
"<<lib[i].impresion.dia<<"/"<<lib[i].impresion.mes
<<"/"<<lib[i].impresion.year<<endl;
cout<<"Fecha de Ingreso: "<<lib[i].ingreso.dia<<"/"<<lib[i].ingreso.mes
<<"/"<<lib[i].ingreso.year<<endl;
}
system("pause");
}
switch(op){
case 1: {
for(int i=0;i<max;i++)
{
int n=lib[i].titulo.length();
string ss=lib[i].titulo;
std::size_t pos = ss.find(nom);
if(pos>=0 && pos<=n)
{
cout<<lib[i].titulo<<"\n";
}
}
break;
}
case 2:{
for(int i=0;i<max;i++)
{
int n=lib[i].autor.nombre.length();
string ss=lib[i].autor.nombre;
std::size_t pos = ss.find(nom);
if(pos>=0 && pos<=n)
{
cout<<"\n"<<lib[i].autor.nombre;
cout<<"\n"<<lib[i].titulo;
}
}
break;
}
case 3:{
for(int i=0;i<max;i++)
{
int n=lib[i].genero.length();
string ss=lib[i].genero;
std::size_t pos = ss.find(nom);
if(pos>=0 && pos<=n)
{
cout<<"\n"<<lib[i].genero;
cout<<"\n"<<lib[i].titulo;
}
}
break;
}
case 4:{
for(int i=0;i<max;i++)
{
int n=lib[i].codigo.length();
string ss=lib[i].codigo;
std::size_t pos = ss.find(nom);
if(pos>=0 && pos<=n)
{
cout<<"\n"<<lib[i].codigo;
cout<<"\n"<<lib[i].titulo;
}
}
break;
}
op=menu();
switch(op){
case 1:{
ingresar(lib,max);
break;
}
case 2:{
system("cls");
opc = menuBuscar();
do{
system("cls");
switch(opc){
case 1:{
opci=1;
cout<<"\t\t\t*** Busqueda por Titulo
***";
cout<<"\nTitulo: ";
cin>>aux;
buscar(lib,max,aux,opci);
//system("PAUSE");
break;
}
case 2:{
opci=2;
cout<<"\t\t\t*** Busqueda por Autor ***";
cout<<"\nAutor: ";
fflush(stdin);getline(cin,aux);fflush(stdin);
buscar(lib,max,aux,opci);
//system("PAUSE");
break;
}
case 3:{
opci=3;
cout<<"\t\t\t*** Busqueda por Genero
***";
cout<<"\nGenero: ";
cin>>aux;
buscar(lib,max,aux,opci);
//system("PAUSE");
break;
}
case 4:{
cout<<"\t\t\t*** Busqueda por Codigo
***";
cout<<"\nCodigo: ";
cin>>aux;
buscar(lib,max,aux,opci);
//system("PAUSE");
break;
}
case 5:{
return menu();
break;
}
//return menu();
}
system("PAUSE");
}while(opc!=5);
break;
}
case 3:{
system("cls");
listar(lib,max);
break;
}
}
}while(op=4);
//system("PAUSE");
return 0;
}