Advertisement
Brunoroman

Untitled

Aug 25th, 2021
1,080
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 16.40 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. //Funcion del programa
  6. //Sistema para registrar, administrar y consultar prestamos
  7.  
  8. //Variables ALGUNAS SE VAN A USAR EN LAS FUNCIONES Y POR AHORA NO TIENEN USO (WIP)
  9. int i; //Variable para los for que se van a usar en la etapa de funcionalidad
  10. int opcion; //Variable para comprobar si se elije bien la opcion deseada en los menus
  11. int codigo_categoria[1000];//Variable para almacenar codigos de las categorias
  12. int cantidad_categorias=0;//Variable para saber cuantas categorias hay y en proximas entregas iterar
  13. int cantidad_prestamos=0;//Lo mismo que la anterior para los prestamos
  14. int cantidad_prestatarios=0;//Lo mismo para los prestatarios
  15. bool estadoprestamo[1000];//Variable para almacernar los estados de los prestamos
  16. string descripcioncategorias[1000];//Variable para almacenar las descripciones
  17. string descripcion2categorias;//Variable para posterior funcionalidad
  18. string categoriaprestamo[1000];//Variable para almacenar los codigos de prestamo
  19. string prestatario[1000];//Variable para almacenar el prestatario de un prestamo
  20. string descripcionprestamo[1000];//Variable para almacenar la descripcion de prestamo
  21. string codigo_prestatario[1000];//Variable para almacenar los codigos de prestatario
  22. string apellido[1000];//Variable para almacenar apellidos de prestatarios
  23. string apellido_agregar;//Variable para posterior funcionalidad
  24. string nombre[1000];//Variable para almacenar nombres de prestatarios
  25. string nombre_agregar;//Variable para posterior funcion
  26. string codigo_agregar;//Variable para posterior funcion
  27. string eleccion;//Variable para S/N en administracion de prestamos
  28.  
  29. //Funciones
  30.  
  31. void agregar_categoria(string descripcion); //Agregara una categoria, pidiendo la descripcion de la misma
  32. void modificar_categoria(string descripcion);//Modificara una categoria, pidiendo la descripcion de la misma
  33. void eliminar_categoria(string descripcion); //Eliminara una categoria, pidiendo la descripcion de la misma
  34. void agregar_prestatario(string nombre,string apellido); //Agregara un prestatario, pidiendo su nombre y apellido
  35. void modificar_prestatario(string nombre,string apellido); // Modificara el nombre o apellido de un prestatario, pidiendo el nombre y apellido del mismo
  36. void eliminar_prestatario(string nombre,string apellido); // Eliminara un prestatario, pidiendo lo mismo que las anteriores funciones de prestatarios
  37. void agregar_prestamo(int categoria,string prestatario,string descripcion); // Agrega un prestamo a la lista, teniendo como datos, la categoria, el prestatario y la descripcion del objeto
  38. void modificar_prestamo(string descripcion); //Permitira modificar la descripcion de un prestamo, pidiendo como dato la descripcion anteriormente usada para agregarlo
  39. void eliminar_prestamo(string descripcion); //Permitira eliminar un prestamo, pidiendo como dato la descripcion usada para agregarlo anteriormente
  40. void mayuscula(string cadena);//Permitira convertir strings a mayusculas para comprobar mas facilmente con un if
  41.  
  42. //Codigo principal
  43. int main(){
  44.     vuelta:
  45.     cout << "Bienvenido"<< endl;
  46.     cout << "Elija el numero correspondiente a la opcion que desea"<< endl;
  47.     cout << "1: Administrar y consultar Categorias y Prestatarios"<< endl; //Hace aparecer en pantalla el menu
  48.     cout << "2: Administrar Prestamos"<< endl;
  49.     cout << "3: Consultar Prestamos"<< endl;
  50.     cin>> opcion; //Se ingresa la opcion
  51.     if (opcion!=1 && opcion!=2 && opcion!=3){
  52.           reinicio: //Label para ahorrar repetir el codigo de abajo
  53.           cout << "La opcion ingresada es incorrecta"<< endl;
  54.           cout << "Vuelva a ingresar un numero correspondiente a las siguientes opciones"<< endl; //Se comprueba si la opcion ingresada es correcta
  55.           cout << "1: Administrar y consultar Categorías y Prestatarios"<< endl;                 //y en caso de que no se avisa del error y permite ingresar un numero denuevo
  56.           cout << "2: Administrar Préstamos"<< endl;
  57.           cout << "3: Consultar Préstamos"<< endl;
  58.           cin>> opcion;
  59.           if (opcion!=1 && opcion!=2 && opcion!=3){
  60.               goto reinicio;
  61.           }
  62. }
  63.     switch (opcion) { //Switch como principal forma de que funcione el menu
  64.     case 1:{
  65.         cout << "Administracion y consulta de Categorías y Prestatarios"<< endl;
  66.         cout << "Elija el numero correspondiente a la opcion que desea"<< endl;
  67.         cout << "1: Agregar categoría"<< endl;
  68.         cout << "2: Modificar categoría"<< endl;                             //Se pone en pantalla las opciones del apartado
  69.         cout << "3: Eliminar categoría"<< endl;                             // Administracion y consultas de categorias
  70.         cout << "4: Agregar prestatario"<< endl;
  71.         cout << "5: Modificar prestatario"<< endl;
  72.         cout << "6: Eliminar prestatario"<< endl;
  73.         cin>> opcion;
  74.         if (opcion!=1 && opcion!=2 && opcion!=3 && opcion!=4 && opcion!=5 && opcion!=6){
  75.               reiniciocase1:
  76.               cout << "La opcion ingresada es incorrecta"<< endl;
  77.               cout << "Vuelva a ingresar un numero correspondiente a las siguientes opciones"<< endl; //Se comprueba si la opcion ingresada es correcta
  78.               cout << "1: Agregar categoría"<< endl;
  79.               cout << "2: Modificar categoría"<< endl;
  80.               cout << "3: Eliminar categoría"<< endl;          //Se ponen en pantalla las opciones devuelta
  81.               cout << "4: Agregar prestatario"<< endl;
  82.               cout << "5: Modificar prestatario"<< endl;
  83.               cout << "6: Eliminar prestatario"<< endl;
  84.               cin>> opcion;
  85.               if (opcion!=1 && opcion!=2 && opcion!=3 && opcion!=4 && opcion!=5 && opcion!=6){
  86.                   goto reiniciocase1;                    //Se reinicia en caso de que sea otra vez incorrecto
  87.               }
  88.     }
  89.         switch(opcion){
  90.         case 1:{
  91.             cout << "Ingrese la categoria a agregar"<< endl;
  92.             cin>> descripcion2categorias;
  93.             cout << "Categoria agregada satisfactoriamente"<< endl;
  94.             cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl;
  95.             cout << "S/N"<<endl;
  96.             cin>> eleccion;
  97.             if(eleccion=="S" || eleccion=="s"){
  98.                 goto vuelta;
  99.             }
  100.             else{
  101.                 if (eleccion=="N" || eleccion=="n"){
  102.                     return 0;
  103.                 }
  104.             }
  105.         }
  106.         case 2:{
  107.             cout << "Ingrese la categoria a modificar"<< endl;
  108.             cin>> descripcion2categorias;
  109.             cout << "Categoria modificada satisfactoriamente!"<< endl;
  110.             cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl;
  111.             cout << "S/N"<<endl;
  112.             cin>> eleccion;
  113.             if(eleccion=="S" || eleccion=="s"){
  114.                 goto vuelta;
  115.             }
  116.             else{
  117.                 if (eleccion=="N" || eleccion=="n"){
  118.                     return 0;
  119.                 }
  120.             }
  121.         }
  122.         case 3:{
  123.             cout << "Ingrese la categoria a eliminar"<< endl;
  124.             cin>> descripcion2categorias;
  125.             cout << "Categoria eliminada satisfactoriamente!"<< endl;
  126.             cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl;
  127.             cout << "S/N"<<endl;
  128.             cin>> eleccion;
  129.             if(eleccion=="S" || eleccion=="s"){
  130.                 goto vuelta;
  131.             }
  132.             else{
  133.                 if (eleccion=="N" || eleccion=="n"){
  134.                     return 0;
  135.                 }
  136.             }
  137.         }
  138.         case 4:{
  139.             cout << "Ingrese el nombre del prestatario a agregar"<< endl;
  140.             cin>>nombre_agregar;
  141.             cout << "Ingrese el apellido del prestatario a agregar"<< endl;
  142.             cin>>apellido_agregar;
  143.             cout << "Prestatario agregado satisfactoriamente!"<< endl;
  144.             cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl;
  145.             cout << "S/N"<<endl;
  146.             cin>> eleccion;
  147.             if(eleccion=="S" || eleccion=="s"){
  148.                 goto vuelta;
  149.             }
  150.             else{
  151.                 if (eleccion=="N" || eleccion=="n"){
  152.                     return 0;
  153.                 }
  154.             }
  155.         }
  156.         case 5:{
  157.             cout << "Ingrese el nombre del prestatario a modificar"<< endl;
  158.             cin>>nombre_agregar;
  159.             cout << "Ingrese el apellido del prestatario a modificar"<< endl;
  160.             cin>>apellido_agregar;
  161.             cout << "Prestatario modificado satisfactoriamente!"<< endl;
  162.             cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl;
  163.             cout << "S/N"<<endl;
  164.             cin>> eleccion;
  165.             if(eleccion=="S" || eleccion=="s"){
  166.                 goto vuelta;
  167.             }
  168.             else{
  169.                 if (eleccion=="N" || eleccion=="n"){
  170.                     return 0;
  171.                 }
  172.             }
  173.         }
  174.         case 6:{
  175.             cout << "Ingrese el nombre del prestatario a eliminar"<< endl;
  176.             cin>>nombre_agregar;
  177.             cout << "Ingrese el apellido del prestatario a eliminar"<< endl;
  178.             cin>>apellido_agregar;
  179.             cout << "Categoria eliminado satisfactoriamente!"<< endl;
  180.             cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl;
  181.             cout << "S/N"<<endl;
  182.             cin>> eleccion;
  183.             if(eleccion=="S" || eleccion=="s"){
  184.                 goto vuelta;
  185.             }
  186.             else{
  187.                 if (eleccion=="N" || eleccion=="n"){
  188.                     return 0;
  189.                 }
  190.             }
  191.         }
  192.         }
  193.     }
  194.     case 2:{
  195.         cout << "Administracion de Préstamos"<< endl;
  196.         cout << "Elija el numero correspondiente a la opcion que desea"<< endl;
  197.         cout << "1: Agregar préstamo"<< endl;
  198.         cout << "2: Modificar préstamo"<< endl;                                   //Se ponen en pantalla las opciones
  199.         cout << "3: Eliminar préstamo"<< endl;
  200.         cout << "4: Devolver préstamo"<< endl;
  201.         cin>> opcion; //Se ingresa la opcion
  202.         if (opcion!=1 && opcion!=2 && opcion!=3 && opcion!=4){
  203.               reiniciocase2:
  204.               cout << "La opcion ingresada es incorrecta"<< endl;
  205.               cout << "Vuelva a ingresar un numero correspondiente a las siguientes opciones"<< endl;
  206.               cout << "1: Agregar préstamo"<< endl;
  207.               cout << "2: Modificar préstamo"<< endl;                         //Se realiza un proceso parecido al del case 1
  208.               cout << "3: Eliminar préstamo"<< endl;
  209.               cout << "4: Devolver préstamo"<< endl;
  210.               cin>> opcion;
  211.               if (opcion!=1 && opcion!=2 && opcion!=3 && opcion!=4){
  212.                   goto reiniciocase2;
  213.               }
  214.         switch (opcion) {
  215.         case 1:{
  216.             cout << "Desea ver las categorias actuales para su Prestamo?"<<endl;
  217.             cout << "S/N"<<endl;
  218.             cin>> eleccion;
  219.             if (eleccion=="S" || eleccion=="s"){
  220.                 //Se realizaria la muestra de las categorias para los prestamos
  221.                 cout << "Ingrese una categoria para el prestamo"<<endl;
  222.                 cin>>codigo_agregar;
  223.             }
  224.             else{
  225.                 cout << "Ingrese una categoria para el prestamo"<<endl;
  226.                 cin>>codigo_agregar;
  227.             }
  228.             cout << "Desea ver los prestatarios ya inscriptos?"<<endl;
  229.             cout << "S/N"<<endl;
  230.             cin>> eleccion;
  231.             if (eleccion=="S" || eleccion=="s"){
  232.                 //Se realizaria la muestra de los prestatarios
  233.  
  234.             }
  235.           }
  236.         case 2:{
  237.             cout << "Ingrese la descripcion del prestamo a modificar"<<endl;
  238.             cin>>descripcion2categorias;
  239.             //Se realizaria la comprobacion y posterior modificacion
  240.             cout << "Prestamo modificado satisfactoriamente!"<< endl;
  241.             cout << "Desea volver al menu principal para seguir utilizando el programa?"<< endl;
  242.             cout << "S/N"<<endl;
  243.             cin>> eleccion;
  244.             if(eleccion=="S" || eleccion=="s"){
  245.                 goto vuelta;
  246.             }
  247.             else{
  248.                 if (eleccion=="N" || eleccion=="n"){
  249.                     return 0;
  250.                 }
  251.             }
  252.         }
  253.         case 3:{
  254.             cout << "Ingrese la descripcion del prestamo a eliminar"<<endl;
  255.             cin>>descripcion2categorias;
  256.             //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
  257.         }
  258.         case 4:{
  259.             cout << "Ingrese la descripcion del prestamo a devolver"<<endl;
  260.             cin>>descripcion2categorias;
  261.             //Se realizaria lo mismo que con las anteriores opciones aparte de esto se verificaria si el estado del prestamo y se marcaria como false
  262.         }
  263.     }
  264.     }
  265.     case 3:{
  266.         cout << "Consultas de Préstamos"<< endl;
  267.         cout << "Elija el numero correspondiente a la opcion que desea"<< endl;
  268.         cout << "1: Cantidad de objetos prestados por categoría"<< endl;
  269.         cout << "2: Listado de prestamos por categoría"<< endl;                     //Se ponen en pantalla las opciones
  270.         cout << "3: Listado de préstamos ordenados por categoría o prestatario"<< endl;
  271.         cout << "4: Prestatarios con objetos en prestamo"<< endl;
  272.         cin>> opcion; //Se ingresa el numero de opcion
  273.         if (opcion!=1 && opcion!=2 && opcion!=3 && opcion!=4){
  274.               reiniciocase3:
  275.               cout << "La opcion ingresada es incorrecta"<< endl;
  276.               cout << "Vuelva a ingresar un numero correspondiente a las siguientes opciones"<< endl;
  277.               cout << "1: Cantidad de objetos prestados por categoría"<< endl;
  278.               cout << "2: Listado de prestamos por categoría"<< endl;                            //Se realiza un proceso parecido al de los case 1 y 2
  279.               cout << "3: Listado de préstamos ordenados por categoría o prestatario"<< endl;
  280.               cout << "4: Prestatarios con objetos en prestamo"<< endl;
  281.               cin>> opcion;
  282.               if (opcion!=1 && opcion!=2 && opcion!=3 && opcion!=4 ){
  283.                   goto reiniciocase3;
  284.               }
  285.               switch(opcion){
  286.               case 1:{
  287.                   cout << "De que categoria desea saber la cantidad de objetos prestados?"<< endl;
  288.                   cin>>descripcion2categorias;
  289.                   //Se realizaria la actividad deseada
  290.               }
  291.               case 2:{
  292.                   cout << "Los prestamos por categoria son"<<endl;
  293.                   //Se realizaria la actividad deseada
  294.               }
  295.               case 3:{
  296.                    cout << "Desea ver los prestamos ordenados por categoria o por prestatario?" << endl;
  297.                    reinicioconsulta:
  298.                    cin >>eleccion;
  299.                    if(mayuscula(eleccion)=="CATEGORIA"){
  300.                        //Se realizaria el ordenado por categoria
  301.                    }
  302.                    else{
  303.                        if(mayuscula(eleccion)=="PRESTATARIO"){
  304.                          //Se realizaria el ordenado por prestatrio
  305.                        }
  306.                        else{
  307.                            cout <<"Ingreso una opcion no valida, vuelva a ingresar una opcion que si lo sea"<< endl;
  308.                            cout <<"Desea ver los prestamos ordenados por categoria o por prestatario?"<< endl;
  309.                            goto reinicioconsulta;
  310.                        }
  311.                    }
  312.               }
  313.               case 4:{
  314.                   cout << "Los prestatarios con objetos en prestamo son"<< endl;
  315.                   //Se realizaria la opcion deseada
  316.               }
  317.     }
  318. }
  319. }
  320. }
  321. }
  322. }
  323. //Cuerpo de las funciones WIP
  324.  
  325. void agregar_categoria(string descripcion){
  326.  
  327. }
  328. void modificar_categoria(string descripcion){
  329.  
  330. }
  331. void eliminar_categoria(string descripcion){
  332.  
  333. }
  334. void agregar_prestatario(string nombre,string apellido){
  335.  
  336. }
  337. void modificar_prestatario(string nombre,string apellido){
  338.  
  339. }
  340. void eliminar_prestatario(string nombre,string apellido){
  341.  
  342. }
  343. void agregar_prestamo(string categoria,string prestatario,string descripcion){
  344.  
  345. }
  346. void modificar_prestamo(string descripcion){
  347.  
  348. }
  349. void eliminar_prestamo(string descripcion){
  350.  
  351. }
  352. void mayuscula(string cadena){
  353.  
  354. }
  355.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement