Yo lo haría mediante una función para modularizar más las cosas.
Si te fijas, la función buscar devuelve el índice del array donde se encuentre un elemento y si esté no se encuentra, devuelve -1.
Código C++:
Ver original#include <iostream>
#include <iomanip>
using namespace std;
typedef struct{
int ISBN;
char nombre_libro[100];
char editorialfadeIn[100];
int numero_edicionfadeIn;
char autorfadeIn[100];
int identificadorfadeIn;
char nombrefadeIn[100];
char apellidosfadeIn[100];
int fecha_registrofadeIn;
int estadofadeIn;
} datos_libros;
int buscar(datos_libros vector[],int longitud, int valor){
for(int i=0;i<longitud;i++){
if (vector[i].ISBN == valor)
return i;
}
return -1;
}
int main ()
{
datos_libros libros[4];
int opcion;
int i = 0;
int j = 0;
int z;
int y;
string respuesta;
int ISBN = 0;
while( respuesta.compare("N")!=0 && respuesta.compare("n")!=0)
{
cout<<"******Biblioteca Publica^El Raton Feliz^******"<<endl;
cout<<endl;
cout<<"Digite #1, para ingresar nuevo socio."<<endl;
cout<<"Digite #2, para cambiar estado del socio."<<endl;
cout<<"Digite #3, para ingresar nuevo libro."<<endl;
cout<<"Digite #4, para prestar libro."<<endl;
cout<<"Digite #5, pàra recibir libro."<<endl;
cout<<"Digite #6, para desplegar lista de libros."<<endl;
cout<<"Digite #7, para desplegar lista de socios."<<endl;
cout<<"Digite #8, para desplegar lista de libros prestados actualmente"<<endl;
cout<<endl;
cout<<"Que opcion desea realizar?"<<endl;
cin>>opcion;
if(opcion==1)
{
if(i<4)
{
cout<<"******Ingreso de nuevo socio******"<<endl;
cout<<endl;
cout<<"Ingrese nombre del socio # "<<i<<":"<<endl;
cin>>libros[i].nombrefadeIn;
cout<<"Ingrese apellidos del socio:"<<endl;
cin>>libros[i].apellidosfadeIn;
cout<<"Ingrese cedula:"<<endl;
cin>>libros[i].identificadorfadeIn;
cout<<"Ingrese fecha de registro:(formato dd/mm/aaaa)"<<endl;
cin>>libros[i].fecha_registrofadeIn;
i=i+1;
}
else
{
cout<<"ERROR/No se pueden ingresar mas datos/Memoria de socios llena"<<endl;
}
}
else
{
if(opcion==3)
{
if(j<4)
{
cout<<"******Ingreso de Nuevo Libro******"<<endl;
cout<<endl;
cout<<"Ingrese el nombre del libro nuevo # "<<j<<":"<<endl;
cin>>libros[j].nombre_libro;
cout<<"Ingrese el ISBN del libro:"<<endl;
cin>>ISBN;
if (buscar(libros,4,ISBN)!=-1)
{
cout << "Ya has introducido un libro con ese ISBN" << endl;
continue;
}
libros[i].ISBN = ISBN;
j=j+1;
}
else
{
cout<<"ERROR//Memoria de libros llena"<<endl;
}
}
else
{
if(opcion==6)
{
cout<<"Nombre del Libro"<<setw(20)<<"ISBN"<<endl;
z=j;
for(int j=0;j<z;j++)
cout<<libros[j].nombre_libro<<setw(16)<<libros[j].ISBN<<endl;
}
else
{
if(opcion==7)
{
cout<<"Socios"<<setw(20)<<"Cedula"<<endl;
y=i;
for(int i=0;i<y;i++)
cout<<libros[i].nombrefadeIn<<setw(8)<<libros[i].apellidosfadeIn<<setw(13)<<libros[i].identificadorfadeIn<<endl;
}
}
}
}
cout<<"Desea realizar otra accion. s/n?"<<endl;
cin>>respuesta;
}
return 0;
}