no repite la instruccion hasta que se meta un ID corrcto, despues hay un while igual solo que de otra variable, pero es la
misma historia, el problema es que quiero que el cuando termine el primer while, HASTA QUE SALGA entre a segundo while y no
me salga del case 4, ese es mi problema
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]; char *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 ISBN=0; int socio; int k; int ID; int x; int cantidad_libros=-1; int cantidad_socios=-1; int variable; bool bloqueo_socios; bool bloqueo_libros; int encontrado; int encontrado2; int ISBN_libro; string respuesta; string respuesta2; while(respuesta!="N" && respuesta!="n") { 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; switch(opcion){ case 1: if(i<4) { cout<<"******Ingreso de nuevo socio******"<<endl; cout<<endl; cout<<"Ingrese nombre del socio # "<<i<<":"<<endl; cin>>libros[i].nombrefadeIn; cout<<endl; cout<<"Ingrese apellidos del socio:"<<endl; cin>>libros[i].apellidosfadeIn; cout<<endl; cout<<"Ingrese cedula:"<<endl; cin>>libros[i].identificadorfadeIn; cout<<endl; cout<<"Ingreso fecha de registro automatica:(formato dd/mm/aaaa)"<<endl; cout<<endl; cout<<"Fecha y hora de registro: "<<libros[i].fecha_registrofadeIn; cout<<endl; cout<<"Ingrese #1 para usuario activo o ingreso #2 para usuario inactivo:"<<endl; cin>>libros[i].estadofadeIn; cout<<endl; if(libros[i].estadofadeIn==1) { cout<<"El socio de nombre "<<libros[i].nombrefadeIn<<" esta activo!!!"<<endl; } else { cout<<"El socio de nombre "<<libros[i].nombrefadeIn<<" esta inactivo!!!"<<endl; } cout<<endl; i=i+1; cantidad_socios=i; } else { cout<<"ERROR/No se pueden ingresar mas datos/Memoria de socios llena"<<endl; } break; case 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<<endl; cout<<"Ingrese numero de edicion:"<<endl; cin>>libros[j].numero_edicionfadeIn; cout<<endl; cout<<"Ingrese editorial:"<<endl; cin>>libros[j].editorialfadeIn; cout<<endl; cout<<"Ingrese el ISBN del libro:"<<endl; cin>>ISBN; cout<<endl; while (buscar(libros,j,ISBN)!=-1){ cout << "ERROR//Ya has introducido un libro con ese ISBN" << endl; cout<<endl; cout<<"Ingrese el ISBN correcto del libro:"<<endl; cin>>ISBN; } libros[j].ISBN = ISBN; j=j+1; cantidad_libros=j; } else cout<<"ERROR//Memoria de libros llena"<<endl; } break; case 4: cout<<"******Prestamo de libro******"<<endl; cout<<endl; while(respuesta2!="n" && respuesta!="N") { encontrado=0; while(encontrado==0) { cout<<"Ingrese la cedula de la persona en cuestion:"<<endl; cin>>ID; for(int x=0;x<cantidad_socios;x++){ if(libros[x].identificadorfadeIn==ID) { cout<<"El socio #"<<x<<" con la cedula "<<ID<<" es de nombre: "<<libros[x].nombrefadeIn<<endl; cout<<endl; encontrado=1; } if(encontrado==0){ cout<<"ERROR//No existe una persona con esa cedula//ERROR"<<endl; cout<<endl; } } } encontrado2=0; while(encontrado==0) { cout<<"Ingrese el ISBN del libro:"<<endl; cin>>ISBN_libro; for(int c=0;c<cantidad_libros;c++){ if(libros[i].ISBN) { cout<<"El ISBN numero # "<<ISBN_libro<<" pertenece al libro de nombre "<<libros[i].nombre_libro<<endl; cout<<endl; encontrado2=1; } if(encontrado2==0){ cout<<"ERROR//No existe una persona con esa cedula//ERROR"<<endl; cout<<endl; } } } } cout<<"Desea prestar otro libro:s/n?"<<endl; cin>>respuesta2; } break; cout<<"******Biblioteca Publica-El Raton Feliz******"<<endl; cout<<"Desea realizar otra accion. s/n?"<<endl; cin>>respuesta; } return 0; }