Una biblioteca necesita llevar el inventario de los libros que tiene y el usuario plantea los siguientes requerimientos.
a) El inventario consta de 4000 libros.
b) Se captura el ISBN del libro, la cual es la clave del libro y es numérico y el precio de dicho libro.
c) La captura puede ser terminada en cualquier momento
d) Poder ver en la pantalla los libros que haz capturado, mostrar el ISBN
e) Antes de mostrar los libros debemos validar que existan ya capturados
f) Tambien desea poder buscar, por el isbn algun libro
g) Que el programa muestre opciones en un menu y elegir la opcion deseada
h) Que el programa termine cuando yo le de la opcion de "terminar".
I) No permitir capturas duplicadas, en caso de que el usuario quiera capturar un ISBN de un libro que ya existe capturado, que mande un mensaje de error y me pida el siguiente numero de libro.
MENU BIBLIOTECA.
1) Capturar el inventario de libros
2)Buscar un libro (por numero de isbn)
3) Mostrar el inventario capturado
4) Ordenar los libros capturados (Ascendente o descendente)
5) Salir
Puntos a considerar
para el punto 1: El usuario debe proporcionar el isbn del libro. No puede capturar mas de 4000 libros. Por cada captura, debemos preguntar si quiere seguir capturando libros, si no lo desea, mandar un mensaje de fin y terminar la captura. No pueden existir ISBN negativos.
para el punto 2: Solicitar al usuario que numero de libro quiere buscar en todos los libros que capturo. Y debe mostrar un mensaje indicando en que posicion se encuentra entre todos los capturados si es que lo esta.
para el punto 3: Se deben mostrar los datos del ISBN del libro asi como su precio.
para el punto 4: Se deben ordenar en orden ascendente o descendente los libros capturados
para el punto 5: el menu debe repetirse hasta que se de la opcion 5, salir.
Y aqui tengo mi intento de codigo del programa no se si le falte algo o le retire algo.
Código
#include <cstdlib> #include <iostream> #include <cctype> #include <string> using namespace std; char menu(); void casos(int); void captura(); void buscar(); void muestra() ; void ordena(); int biblio[4000] ; int main(int argc, char *argv[]) { char opcion = ' ' ; do{ opcion= menu(); casos(opcion); }while (opcion!='E'); system("PAUSE"); return EXIT_SUCCESS; } char menu() { char opcion = ' '; cout <<"\nDepartamento de biblioteca\n"; cout <<"\n*******************************************\n"; cout << "\nA) Capturador de libros\n"; cout << "\nB) Buscar un libro\n"; cout << "\nC) Muestra el inventario \n"; cout << "\nD) Ordena los libros capturados \n"; cout << "\nE) Salir"; cout << "\n Dame la opcion :"; cin >> opcion; opcion = toupper(opcion); return opcion; } void casos(int opcion) { switch (opcion) { case 'A' : { captura(); break ; } case 'B' : { buscar(); break ; } case 'C' : { muestra(); break ; } case 'D' : { ordena(); break ; } case 'E': { cout << "\n Gracias por usar nuestro programa\n"; break; } default : { cout << "\n Error en opcion \n"; break ; } } return; } 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 ; } void buscar() { float ISBN_a_buscar = 0.0; int alumnos = 0 ; cout <<"\n Estas en la sección de busqueda de libros \n"; cout <<"\n ******************************************** \n"; cout <<"\n Inserta ISBN del libro que estas buscando \n"; cin >> ISBN_a_buscar; for (int x = 0 ; x < 4000 ; x++) { if ( ISBN_a_buscar == biblio[x]) { ++alumnos; } } return ; } void muestra() { cout <<"\n Estas en la sección de muestra de captura de libros \n"; cout <<"\n ******************************************** \n"; for (int x = 0 ; x < 4000 ; x++) { cout << "\nLo capturado : " << biblio[x]; } cout <<endl; system("pause"); system("cls"); return ; } void ordena() { cout <<"\n Ordena de la forma que mas te agrade los libros capturados \n"; cout <<"\n ******************************************** \n"; int aux=0; for(int x=0; x <4000 ; x++) { for(int y=0;y<4000-1;y++) { if (biblio[y]>biblio[y+1]) { aux=biblio[y]; biblio[y]=biblio[y+1]; biblio[y+1]=aux; } } } cout <<"\nSe han ordenado en forma Ascendente\n"; for(int x=0; x >4000 ; x++) { for(int y=0;y>4000-1;y++) { if (biblio[y]>biblio[y+1]) { aux=biblio[y]; biblio[y]=biblio[y+1]; biblio[y+1]=aux; } } } cout <<"\nSe han ordenado en forma Descendente\n"; return; }
espero que puedan ayudarme por favor
Mod: Al publicar código, usa las etiquetas GeSHi[/b]