Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.33 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4. #include "Menu.h"
  5. #include "Cliente.h"
  6. #include "Archivo.h"
  7.  
  8. void mostrar_menu(Menu menu)
  9. {
  10.     switch(menu) {
  11.     case PRINCIPAL:
  12.         system("cls");
  13.         menu_principal();
  14.         break;
  15.     case CLIENTE:
  16.         system("cls");
  17.         menu_cliente();
  18.         break;
  19.     case CREDITO:
  20.         system("cls");
  21.         menu_credito();
  22.         break;
  23.     default:
  24.         printf("Error: Menu invalido.\n");
  25.         break;
  26.     }
  27. }
  28.  
  29. void menu_principal(void)
  30. {
  31.     int salir = 0;
  32.     while(!salir) {
  33.         system("cls");
  34.         printf("1) Clientes\n2) Creditos\n3) Guardar y salir\n");
  35.         int opcion = 0;
  36.         if(scanf("%d", &opcion) < 1) {
  37.             printf("Entrada invalida.\n");
  38.             return;
  39.         }
  40.         switch(opcion) {
  41.         case 1:
  42.             mostrar_menu(CLIENTE);
  43.             break;
  44.         case 2:
  45.             mostrar_menu(CREDITO);
  46.             break;
  47.         case 3:
  48.             guardar_clientes();
  49.             salir = 1;
  50.             system("pause");
  51.             break;
  52.         default:
  53.             printf("Error: Opcion invalida, intente de nuevo.\n");
  54.             break;
  55.         }
  56.     }
  57. }
  58.  
  59. void menu_cliente(void)
  60. {
  61.     int volver = 0;
  62.     printf("1) Registrar cliente\n2) Mostrar clientes\n3) Eliminar cliente\n4) Buscar cliente\n5) Guardar\n6) Volver al menu principal\n");
  63.     while(!volver) {
  64.         int opcion = 0;
  65.         if(scanf("%d", &opcion) < 1) {
  66.             printf("Entrada invalida.\n");
  67.             exit(1);
  68.         }
  69.         switch(opcion) {
  70.         case 1:
  71.             pedir_datos();
  72.             break;
  73.         case 2: {
  74.             int n = 0;
  75.             if(client_count == 0) {
  76.                 printf("Error: No hay clientes registrados.\n");
  77.                 break;
  78.             }
  79.             printf("Ingrese el numero de clientes a mostrar (max %d): ", client_count);
  80.             if(scanf("%d", &n)) {
  81.                 if(n > client_count || n < 1) {
  82.                     printf("Error: El numero de clientes a mostrar no puede ser menor a 1 o mayor al total de clientes (%d)\n", client_count);
  83.                     break;
  84.                 }
  85.             }
  86.             listar_clientes(n);
  87.             break;
  88.         }
  89.         case 3: {
  90.             int id = 0;
  91.             printf("Introduzca la ID del cliente a eliminar: ");
  92.             if(scanf("%d", &id))
  93.                 borrar_cliente(id);
  94.             break;
  95.         }
  96.         case 4:
  97.             menu_busqueda_cliente();
  98.             break;
  99.         case 5:
  100.             guardar_clientes();
  101.             break;
  102.         case 6:
  103.             volver = 1; // detiene el loop del menú de clientes y retorna automáticamente al menú principal
  104.             break;
  105.         default:
  106.             printf("Error: Opcion invalida, intente de nuevo.\n");
  107.             break;
  108.         }
  109.     }
  110. }
  111.  
  112. void menu_credito(void)
  113. {
  114.     int volver = 0;
  115.     printf("1) Pedir credito\n2) Pagar credito\n3) Cancelar credito\n4) Guardar\n5) Volver al menu principal\n");
  116.     while(!volver) {
  117.         int opcion = 0;
  118.         if(!scanf("%d", &opcion)) return;
  119.         switch(opcion) {
  120.         case 1: {
  121.             int id, dni;
  122.             printf("Ingrese el mail: ");
  123.             if(scanf("%d", &id))
  124.                 printf("Ingrese el DNI: ");
  125.             if(scanf("%d", &dni))
  126.                 pedir_credito(id, dni);
  127.             break;
  128.         }
  129.         case 2: {
  130.             int id, monto;
  131.             printf("Ingrese la ID: ");
  132.             if(scanf("%d", &id))
  133.                 printf("Ingrese el monto a pagar: ");
  134.             if(scanf("%d", &monto))
  135.                 pagar_credito(id, monto);
  136.             break;
  137.         }
  138.         case 3: {
  139.             int id, index;
  140.             printf("Ingrese la ID: ");
  141.             if(scanf("%d", &id))
  142.                 printf("Ingrese el indice del credito a cancelar, o 0 para cancelar todos los creditos activos: ");
  143.             if(scanf("%d", &index))
  144.                 cancelar_credito(id, index);
  145.             break;
  146.         }
  147.         case 4:
  148.             guardar_clientes();
  149.             break;
  150.         case 5:
  151.             volver = 1;
  152.             break;
  153.         default:
  154.             printf("Error: Opcion invalida, intente de nuevo.\n");
  155.             break;
  156.         }
  157.     }
  158. }
  159.  
  160. void menu_busqueda_cliente(void)
  161. {
  162.     int volver = 0;
  163.     while(!volver) {
  164.         printf("Escoja el metodo de busqueda a utilizar: 1- Buscar por nombre, 2- Buscar por rango de edad. Ingrese 3 para volver atras.\n");
  165.         int opcion = 0;
  166.         if(!scanf("%d", &opcion)) return;
  167.         switch(opcion) {
  168.         case 0:
  169.             volver = 1;
  170.             break;
  171.         case 1: {
  172.             char nombre[24];
  173.             char apellido[24];
  174.             printf("Ingrese el nombre del cliente: ");
  175.             if(scanf("%s", nombre))
  176.                 printf("[Opcional] Ingrese el apellido del cliente o 0 para omitir: ");
  177.             if(scanf("%s", apellido))
  178.                 buscar_nombre(nombre, apellido);
  179.             break;
  180.         }
  181.         case 2: {
  182.             int edad_inicial, edad_final;
  183.             printf("Ingrese la edad inicial: ");
  184.             if(scanf("%d", &edad_inicial))
  185.                 printf("Ingrese la edad final: ");
  186.             if(scanf("%d", &edad_final))
  187.                 buscar_edad(edad_inicial, edad_final);
  188.             break;
  189.         }
  190.         case 3:
  191.             printf("Operacion cancelada.\n");
  192.             volver = 1;
  193.             break;
  194.         default:
  195.             printf("Error: Opcion invalida, intente de nuevo.\n");
  196.             break;
  197.         }
  198.     }
  199. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement