Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- //Funcion del programa
- //Sistema para registrar, administrar y consultar prestamos
- //Variables ALGUNAS SE VAN A USAR EN LAS FUNCIONES Y POR AHORA NO TIENEN USO (WIP)
- int opcion; //Variable para comprobar si se elije bien la opcion deseada en los menus
- int cantidad_categorias=0;//Variable para saber cuantas categorias hay y en proximas entregas iterar
- int cantidad_prestamos=0;//Lo mismo que la anterior para los prestamos
- int cantidad_prestatarios=0;//Lo mismo para los prestatarios
- int fin; //variable para controlar los while
- string eleccion;//Variable para S/N en administracion de prestamos
- struct c{
- int codigo_categoria;
- string descripcion;
- };
- struct pr{
- int codigo_categoria;
- int prestatario;
- string descripcion;
- bool estado;
- };
- struct pres{
- int codigo_prestatario;
- string apellido;
- string nombre;
- };
- c categorias[1000];
- pr prestamos[1000];
- pres prestatarios[1000];
- //Funciones
- void agregar_categoria(string descripcion); //Agregara una categoria, pidiendo la descripcion de la misma
- void modificar_categoria(string descripcion);//Modificara una categoria, pidiendo la descripcion de la misma
- void eliminar_categoria(string descripcion); //Eliminara una categoria, pidiendo la descripcion de la misma
- void agregar_prestatario(string nombre,string apellido); //Agregara un prestatario, pidiendo su nombre y apellido
- void modificar_prestatario(string nombre,string apellido); // Modificara el nombre o apellido de un prestatario, pidiendo el nombre y apellido del mismo
- void eliminar_prestatario(string nombre,string apellido); // Eliminara un prestatario, pidiendo lo mismo que las anteriores funciones de prestatarios
- void agregar_prestamo(int categoria,int prestatario,string descripcion); // Agrega un prestamo a la lista, teniendo como datos, la categoria, el prestatario y la descripcion del objeto
- void modificar_prestamo(string descripcion); //Permitira modificar la descripcion de un prestamo, pidiendo como dato la descripcion anteriormente usada para agregarlo
- void eliminar_prestamo(string descripcion); //Permitira eliminar un prestamo, pidiendo como dato la descripcion usada para agregarlo anteriormente
- string mayuscula(string cadena);//Permitira convertir strings a mayusculas para comprobar mas facilmente con un if
- //Codigo principal
- int main(){
- do{ //do del menu principal, para permitir volver al menu tras realizada cualquier opcion del menu
- cout << "Bienvenido"<< endl;
- cout << "Elija el numero correspondiente a la opcion que desea"<< endl;
- cout << "1: Administrar y consultar Categorias y Prestatarios"<< endl; //Hace aparecer en pantalla el menu
- cout << "2: Administrar Prestamos"<< endl;
- cout << "3: Consultar Prestamos"<< endl;
- cin>> opcion; //Se ingresa la opcion
- // se comprueba si la opcion ingresada es correcta
- while(opcion!=1 && opcion!=2 && opcion!=3){ //bucle para que aparezcan en pantalla si la opcion ingresada es incorrecta
- cout << "La opcion ingresada es incorrecta"<< endl;
- cout << "Vuelva a ingresar un numero correspondiente a las siguientes opciones"<< endl; //Se comprueba si la opcion ingresada es correcta
- cout << "1: Administrar y consultar Categorias y Prestatarios"<< endl; //y en caso de que no se avisa del error y permite ingresar un numero denuevo
- cout << "2: Administrar Prestamos"<< endl;
- cout << "3: Consultar Prestamos"<< endl;
- cin>> opcion; // se ingresa por teclado la opcion deseada
- }
- do{ // do de la opcion 1 del menu, funciona igual que el primero
- switch (opcion) { //Switch como principal forma de que funcione el menu
- case 1:{ // case para la opcion 1 del menu principal
- cout << "Administracion y consulta de Categorías y Prestatarios"<< endl;
- cout << "Elija el numero correspondiente a la opcion que desea"<< endl;
- cout << "1: Agregar categoria"<< endl;
- cout << "2: Modificar categoria"<< endl; //Se pone en pantalla las opciones del apartado
- cout << "3: Eliminar categoria"<< endl; // administracion y consultas de categorias
- cout << "4: Agregar prestatario"<< endl;
- cout << "5: Modificar prestatario"<< endl;
- cout << "6: Eliminar prestatario"<< endl;
- cin>> opcion;
- //comprueba si la opcion ingresada es correcta
- while(opcion!=1 && opcion!=2 && opcion!=3 && opcion!=4 && opcion!=5 && opcion!=6){
- cout << "La opcion ingresada es incorrecta"<< endl;
- cout << "Vuelva a ingresar un numero correspondiente a las siguientes opciones"<< endl;
- cout << "1: Agregar categoria"<< endl;
- cout << "2: Modificar categoria"<< endl;
- cout << "3: Eliminar categoria"<< endl; //Se ponen en pantalla las opciones devuelta en caso de que la opcion ingresada es incorrecta
- cout << "4: Agregar prestatario"<< endl;
- cout << "5: Modificar prestatario"<< endl;
- cout << "6: Eliminar prestatario"<< endl;
- cin>> opcion; //se ingresa la opcion
- }
- switch(opcion){ //switch para el menu de la opcion 1 del menu principal
- case 1:{
- cout << "Ingrese la categoria a agregar"<< endl; // primera funcion del menu de la opcion 1, imprime en pantalla el mensaje entre comillas, y le píde la descripcion de la categoria a agregar
- //aca estaría la funcionalidad de la opcion WIP
- cout << "Categoria agregada satisfactoriamente"<< endl;
- cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl; // pregunta al usuario si quiere volver al menu
- cout << "S/N"<<endl;
- cin>> eleccion; //se ingresa la opcion deseada por el usuario
- if(eleccion=="S" || eleccion=="s"){ //caso si, cambia la variable fin a 1, lo que cobra sentido mas al ver la condicion del do while
- fin=1;
- continue; //y continua la ejecucion del anterior do while
- }
- else{
- if (eleccion=="N" || eleccion=="n"){ //Caso no
- return 0; // return 0, finaliza la ejecucion del programa
- }
- }
- }
- case 2:{ //caso 2 del menu de la opcion 1 del menu principal
- cout << "Ingrese la categoria a modificar"<< endl; //segunda opcion del menu de la opcion 1, pide la descripcion de la categoria que se desea modificar
- //se ingresa la descripcion de la categoria
- //aca estaría la funcionalidad de la opcion WIP
- cout << "Categoria modificada satisfactoriamente!"<< endl;
- cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl; //realiza lo mismo que antes para volver al menu principal en caso de que se desee hacerlo
- cout << "S/N"<<endl;
- cin>> eleccion;
- if(eleccion=="S" || eleccion=="s"){
- fin=1;
- continue;
- }
- else{
- if (eleccion=="N" || eleccion=="n"){
- return 0;
- }
- }
- }
- case 3:{ //case 3 para la opcion 3 del menu de la opcion 1
- cout << "Ingrese la categoria a eliminar"<< endl; //se pone en pantalla el mensaje
- //se ingresa la categoria
- //aca estaría la funcionalidad de la opcion WIP
- cout << "Categoria eliminada satisfactoriamente!"<< endl;
- cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl;
- cout << "S/N"<<endl;
- cin>> eleccion;
- if(eleccion=="S" || eleccion=="s"){ //realiza lo mismo que antes para volver al menu principal en caso de que se desee hacerlo
- fin=1;
- continue;
- }
- else{
- if (eleccion=="N" || eleccion=="n"){
- return 0;
- }
- }
- }
- case 4:{ //case 4 para la opcion 4 de la opcion 1 del menu principal
- cout << "Ingrese el nombre del prestatario a agregar"<< endl;
- cout << "Ingrese el apellido del prestatario a agregar"<< endl;
- //aca estaría la funcionalidad de la opcion WIP
- cout << "Prestatario agregado satisfactoriamente!"<< endl;
- cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl;
- cout << "S/N"<<endl;
- cin>> eleccion;
- if(eleccion=="S" || eleccion=="s"){ //realiza lo mismo que antes para volver al menu principal en caso de que se desee hacerlo
- fin=1;
- continue;
- }
- else{
- if (eleccion=="N" || eleccion=="n"){
- return 0;
- }
- }
- }
- case 5:{ //case 5 para la opcion 5 de la opcion 1 del menu principal
- cout << "Ingrese el nombre del prestatario a modificar"<< endl;
- cout << "Ingrese el apellido del prestatario a modificar"<< endl;
- //aca estaría la funcionalidad de la opcion WIP
- cout << "Prestatario modificado satisfactoriamente!"<< endl;
- cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl;
- cout << "S/N"<<endl;
- cin>> eleccion;
- if(eleccion=="S" || eleccion=="s"){ //realiza lo mismo que antes para volver al menu principal en caso de que se desee hacerlo
- fin=1;
- continue;
- }
- else{
- if (eleccion=="N" || eleccion=="n"){
- return 0;
- }
- }
- }
- case 6:{ //case 6 para la opcion 6 de la opcion 1 del menu principal
- cout << "Ingrese el nombre del prestatario a eliminar"<< endl;
- cout << "Ingrese el apellido del prestatario a eliminar"<< endl;
- //aca estaría la funcionalidad de la opcion WIP
- cout << "Categoria eliminado satisfactoriamente!"<< endl;
- cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl;
- cout << "S/N"<<endl;
- cin>> eleccion;
- if(eleccion=="S" || eleccion=="s"){ //realiza lo mismo que antes para volver al menu principal en caso de que se desee hacerlo
- fin=1;
- continue;
- }
- else{
- if (eleccion=="N" || eleccion=="n"){
- return 0;
- }
- }
- }
- }
- }
- case 2:{ //Menu de la opcion 2 del menu principal
- cout << "Administracion de Préstamos"<< endl;
- cout << "Elija el numero correspondiente a la opcion que desea"<< endl;
- cout << "1: Agregar préstamo"<< endl;
- cout << "2: Modificar préstamo"<< endl; //Se ponen en pantalla las opciones
- cout << "3: Eliminar préstamo"<< endl;
- cout << "4: Devolver préstamo"<< endl;
- cin>> opcion; //Se ingresa la opcion
- //como en las anteriores se comprueba si la opcion ingresada es incorrecta
- while (opcion!=1 && opcion!=2 && opcion!=3 && opcion!=4){ // y se genera un bucle que siempre y cuando la opcion sea incorrecta se mantiene dentro de el, en caso de que se ingrese una opcion correcta se recurre a un break que hace que se vuelva a accionar el switch
- cout << "La opcion ingresada es incorrecta"<< endl;
- cout << "Vuelva a ingresar un numero correspondiente a las siguientes opciones"<< endl;
- cout << "1: Agregar préstamo"<< endl;
- cout << "2: Modificar préstamo"<< endl; //Se realiza un proceso parecido al del case 1
- cout << "3: Eliminar préstamo"<< endl;
- cout << "4: Devolver préstamo"<< endl;
- cin>> opcion;
- }
- switch (opcion) { // switch del menu de la opcion 2 del menu principal
- case 1:{ //case 1 para la opcion 1 del menu numero 2
- cout << "Desea ver las categorias actuales para su Prestamo?"<<endl; //se pregunta al usuario que desea hacer
- cout << "S/N"<<endl;
- cin>> eleccion; // se ingresa s o n para si o no respectivamente
- if (eleccion=="S" || eleccion=="s"){
- //Se realizaria la muestra de las categorias para los prestamos
- cout << "Ingrese una categoria para el prestamo"<<endl;
- // se ingresa la categoria en caso de que se haya seleccionado si
- }
- else{
- cout << "Ingrese una categoria para el prestamo"<<endl;
- // se ingresa la categoria pero sin ver las categorias existentes
- }
- cout << "Desea ver los prestatarios ya inscriptos?"<<endl;
- cout << "S/N"<<endl; // se realiza una pregunta parecida a lo anterior
- cin>> eleccion; // se ingresa la opcion deseada por el usuario
- if (eleccion=="S" || eleccion=="s"){
- //Se realizaria la muestra de los prestatarios
- cout << "Ingrese el nombre del prestatario para el prestamo"<<endl;
- cout << "Ingrese el apellido para el prestamo"<<endl; // se ingresan el nombre y el apellido del prestatario
- }
- else{
- cout << "Ingrese el nombre del prestatario para el prestamo"<<endl;
- cout << "Ingrese el apellido para el prestamo"<<endl; //se realiza lo mismo que en el anterior if pero sin mostrar los prestatarios existentes
- }
- cout << "Ingrese una descripcion para el prestamo"<<endl; // se pide ingresar una descripcion al prestamo
- cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl;
- cout << "S/N"<<endl;
- cin>> eleccion;
- if(eleccion=="S" || eleccion=="s"){ //realiza lo mismo que antes para volver al menu principal en caso de que se desee hacerlo
- fin=1;
- continue;
- }
- else{
- if (eleccion=="N" || eleccion=="n"){
- return 0;
- }
- }
- }
- case 2:{ // case 2 para la opcion 2 del submenu 2 de la opcion 2 del menu principal
- cout << "Ingrese la descripcion del prestamo a modificar"<<endl;
- // se ingresa la descripcion del prestamo a modificar
- //Se realizaria la comprobacion y posterior modificacion
- cout << "Prestamo modificado satisfactoriamente!"<< endl; //mensaje de que se realizo correctamente, posteriormente se agregara un if con una variable para detectar errores
- cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl;
- cout << "S/N"<<endl;
- cin>> eleccion;
- if(eleccion=="S" || eleccion=="s"){ //realiza lo mismo que antes para volver al menu principal en caso de que se desee hacerlo
- fin=1;
- continue;
- }
- else{
- if (eleccion=="N" || eleccion=="n"){
- return 0;
- }
- }
- }
- case 3:{
- cout << "Ingrese la descripcion del prestamo a eliminar"<<endl;
- //Se realizaria la comprobacion si existe un prestamo con esa descripcion, y si presenta el estado true posteriormente eliminacion en caso de que sea asi
- cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl;
- cout << "S/N"<<endl;
- cin>> eleccion;
- if(eleccion=="S" || eleccion=="s"){ //realiza lo mismo que antes para volver al menu principal en caso de que se desee hacerlo
- fin=1;
- continue;
- }
- else{
- if (eleccion=="N" || eleccion=="n"){
- return 0;
- }
- }
- }
- case 4:{
- cout << "Ingrese la descripcion del prestamo a devolver"<<endl;
- //Se realizaria lo mismo que con las anteriores opciones aparte de esto se verificaria si el estado del prestamo y se marcaria como false
- cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl;
- cout << "S/N"<<endl;
- cin>> eleccion;
- if(eleccion=="S" || eleccion=="s"){ //realiza lo mismo que antes para volver al menu principal en caso de que se desee hacerlo
- fin=1;
- continue;
- }
- else{
- if (eleccion=="N" || eleccion=="n"){
- return 0;
- }
- }
- }
- }
- }
- case 3:{
- cout << "Consultas de Préstamos"<< endl;
- cout << "Elija el numero correspondiente a la opcion que desea"<< endl;
- cout << "1: Cantidad de objetos prestados por categoría"<< endl;
- cout << "2: Listado de prestamos por categoría"<< endl; //Se ponen en pantalla las opciones
- cout << "3: Listado de préstamos ordenados por categoría o prestatario"<< endl;
- cout << "4: Prestatarios con objetos en prestamo"<< endl;
- cin>> opcion; //Se ingresa el numero de opcion
- while(opcion!=1 && opcion!=2 && opcion!=3 && opcion!=4){
- cout << "La opcion ingresada es incorrecta"<< endl;
- cout << "Vuelva a ingresar un numero correspondiente a las siguientes opciones"<< endl;
- cout << "1: Cantidad de objetos prestados por categoría"<< endl;
- cout << "2: Listado de prestamos por categoría"<< endl; //Se realiza un proceso parecido al de los case 1 y 2
- cout << "3: Listado de préstamos ordenados por categoría o prestatario"<< endl;
- cout << "4: Prestatarios con objetos en prestamo"<< endl;
- cin>> opcion;
- }
- switch(opcion){ //switch para redirigir debidamente a la opcion deseada por el usuario
- case 1:{
- cout << "De que categoria desea saber la cantidad de objetos prestados?"<< endl;
- //Se realizaria la actividad deseada
- cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl;
- cout << "S/N"<<endl;
- cin>> eleccion;
- if(eleccion=="S" || eleccion=="s"){ //realiza lo mismo que antes para volver al menu principal en caso de que se desee hacerlo
- fin=1;
- continue;
- }
- else{
- if (eleccion=="N" || eleccion=="n"){
- return 0;
- }
- }
- }
- case 2:{
- cout << "Los prestamos por categoria son"<<endl;
- //Se realizaria la actividad deseada
- cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl;
- cout << "S/N"<<endl;
- cin>> eleccion;
- if(eleccion=="S" || eleccion=="s"){ //realiza lo mismo que antes para volver al menu principal en caso de que se desee hacerlo
- fin=1;
- continue;
- }
- else{
- if (eleccion=="N" || eleccion=="n"){
- return 0;
- }
- }
- }
- case 3:{
- cout << "Desea ver los prestamos ordenados por categoria o por prestatario?" << endl;
- cin >>eleccion;
- if(mayuscula(eleccion)=="CATEGORIA"){
- //Se realizaria el ordenado por categoria, genera error al todavia no estar definida la funcion mayuscula
- }
- else{
- if(mayuscula(eleccion)=="PRESTATARIO"){
- //Se realizaria el ordenado por prestatrio, genera error al todavia no estar definida la funcion mayuscula
- }
- else{
- cout <<"Ingreso una opcion no valida, vuelva a ingresar una opcion que si lo sea"<< endl;
- cout <<"Desea ver los prestamos ordenados por categoria o por prestatario?"<< endl;
- }
- }
- cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl;
- cout << "S/N"<<endl;
- cin>> eleccion;
- if(eleccion=="S" || eleccion=="s"){ //realiza lo mismo que antes para volver al menu principal en caso de que se desee hacerlo
- fin=1;
- continue;
- }
- else{
- if (eleccion=="N" || eleccion=="n"){
- return 0;
- }
- }
- }
- case 4:{
- cout << "Los prestatarios con objetos en prestamo son"<< endl;
- //Se realizaria la opcion deseada
- cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl;
- cout << "S/N"<<endl;
- cin>> eleccion;
- if(eleccion=="S" || eleccion=="s"){ //realiza lo mismo que antes para volver al menu principal en caso de que se desee hacerlo
- fin=1;
- continue;
- }
- else{
- if (eleccion=="N" || eleccion=="n"){
- return 0;
- }
- }
- }
- }
- }
- }
- }while(fin!=1); //este while permite iterar al menu principal siempre y cuando se requiera, cuando el usuiario eliga voler, la variable fin sera "1" y se reiniciara el programa
- }while(fin==1);
- }
- //Cuerpo de las funciones WIP
- void agregar_categoria(string descripcion){
- }
- void modificar_categoria(string descripcion){
- }
- void eliminar_categoria(string descripcion){
- }
- void agregar_prestatario(string nombre,string apellido){
- }
- void modificar_prestatario(string nombre,string apellido){
- }
- void eliminar_prestatario(string nombre,string apellido){
- }
- void agregar_prestamo(int categoria,int prestatario,string descripcion){
- }
- void modificar_prestamo(string descripcion){
- }
- void eliminar_prestamo(string descripcion){
- }
- string mayuscula(string cadena){
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement