el menu corre sin problemas, pero la problematica esta cuando lo utilizas
en el void buscar(), no me deja insertar el ISBN que busco.
en el void muestra(), no me muestra nada, como si no se hubiera guardado la captura y se buclea muchas veces.
en el void ordena(), solo aparecen los mensajes, pero no aparecen los ISBN entonces no me ordena nada.
espero y te haya quedado mas claro, espero y lo cales y veras el problema
en el void buscar(), no me deja insertar el ISBN que busco.
en el void muestra(), no me muestra nada, como si no se hubiera guardado la captura y se buclea muchas veces.
en el void ordena(), solo aparecen los mensajes, pero no aparecen los ISBN entonces no me ordena nada.
espero y te haya quedado mas claro, espero y lo cales y veras el problema
en el de void captura() lo que si funciona es la pregunta de que si quieres seguir capturando datos, pero el error es que no me marca error si anoto un dato repetido, y lo que quiero que haga es que si coloco un ISBN igual me marque un error.
Funcion capturar()Código
void captura(){ int P,Q; int q[4000]; cout <<"\n Estas en la sección de captura de libros \n"; cout <<"\n ******************************************** \n\n"; do{ cout << "Inserta ISBN\n " ; cin >> biblio[4000]; if(int len = ( sizeof(4000)/sizeof(biblio[0]) )){ cout<<"error numero de ISBN REPETIDO!!!\n"; } else{ cout<<"hola";} fflush( stdin ); cout<<"Quieres seguir capturando?...\n S=1/N=0\n"; cin>>P; }while(P != 0) ; system("cls"); return ; }
1- en la linea 16 estas almacenando todo en el mismo indice si no me equivoco.....
Código
2- Esta validación no sirve..
cin >> biblio[4000];
Código
te recomiendo que uses el algoritmo para buscar que ya tienes y valides con eso....
if(int len = ( sizeof(4000)/sizeof(biblio[0]) )){// esto te retornara siempre la longitud del array(retorna espacios del array sin importar si están ocupados o no) cout<<"error numero de ISBN REPETIDO!!!\n"; }
Código
3- te falta validar que la cantidad de registros no excedan 4000.....
int existelibro(int ISBN){ // esta funcion te retornara el index del libro en el array o -1 si no existe int retorno = -1; for (int x = 0 ; x < 4000 ; x++) { if ( ISBN == biblio[x]) { retorno = x; } } return retorno; }
* necesitas un contador de registros
- o lo incrementas cada vez que registres o cuando busques si existe cuentas ahi cuantos registros existen
déjame lo checo lo demas y te digo.. espero no tengas prisa por que ando algo ocupado....