Hola, buenas, tengo un problema 2 problemas desde hace horas y agradeceria mucho su ayuda, en el programa en el la opcion 2 (case 2), en cambio de estado de socio, si yo introduzco un numero de socio mayor a 3, me muestra:"ERROR numero de socio inexistente(eso quiero que me muestre), pero me salen las opciones del IF que le sigue, como hago para que solo me muestre el error si el numero es mayor que 4(antes se tiene que ingresar a la opcion 1 del programa y agregar un nuevo socio)
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;
int ISBN=0;
int socio;
int k;
string respuesta;
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<<"Ingrese fecha de registro:(formato dd/mm/aaaa)"<<endl;
cin>>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;
}
else
{
cout<<"ERROR/No se pueden ingresar mas datos/Memoria de socios llena"<<endl;
}
break;
case 2:
cout<<"*******Cambio de estado de los socios******"<<endl;
cout<<endl;
cout<<"Ingrese numero de socio(valido de 0 a 3)"<<endl;
cin>>socio;
cout<<endl;
k=socio;
if(k>3)
{
cout<<"ERROR//Numero de socio inexistente"<<endl;
}
if(libros[k].estadofadeIn==1)
{
cout<<"El socio #"<<k<<" de nombre: "<<libros[k].nombrefadeIn<<" se encuentra activo"<<endl;
}
else
{
cout<<"El socio #"<<k<<" de nombre: "<<libros[k].nombrefadeIn<<" se encuentra inactivo"<<endl;
}
cout<<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;
}
else
cout<<"ERROR//Memoria de libros llena"<<endl;
}
break;
{
case 6:
cout<<"Nombre del Libro"<<setw(20)<<"ISBN"<<endl;
z=j;
for(int j=0;j<z;j++)
cout<<libros[j].nombre_libro<<setw(31)<<libros[j].ISBN<<endl;
break;
case 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<<" Biblioteca Publica El Raton Feliz "<<endl;
cout<<"Desea realizar otra accion. s/n?"<<endl;
cin>>respuesta;
}
return 0;
}
de antemano les agradezco su ayuda