Advertisement
robeeeert

Principal

Jun 16th, 2023
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.95 KB | None | 0 0
  1. import java.util.*;
  2. import java.io.*;
  3. public class PrincipalColas {
  4.     public static void main(String[] args) {
  5.         ArchivoColas archivo = new ArchivoColas();
  6.         Scanner entrada = new Scanner(System.in);
  7.         int opcion = 0;
  8.         int salir = 0;
  9.         while (salir != 1){
  10.             menu();
  11.             System.out.println("Ingrese una opción");
  12.             try{
  13.                 opcion = entrada.nextInt();              
  14.             }catch(Exception e){
  15.                 System.out.println("Opcion no valida");
  16.             }//tryCatch
  17.    
  18.         switch(opcion){
  19.                 case 1:
  20.                     entrada.nextLine();
  21.                     System.out.println("\n\tIngresar Cita Nueva:\n");
  22.                     System.out.println("Ingrese CUI: ");
  23.                     String cui = entrada.nextLine();
  24.                     while (!validarCui(cui)) {
  25.                         System.out.println("Cui No Valido...");
  26.                         System.out.println("Ingrese Nuevamente El CUI:");
  27.                         cui = entrada.nextLine();
  28.                     }
  29.                     System.out.println("Ingrese Nombres: ");
  30.                     String nombre = entrada.nextLine();
  31.                     System.out.println("Ingrese Apellidos: ");
  32.                     String apellido = entrada.nextLine();
  33.                     System.out.println("Ingrese Fecha De Nacimiento: ");
  34.                     String fNacimiento = entrada.nextLine();
  35.                     while (!validarFecha(fNacimiento)) {
  36.                         System.out.println("Fecha No Valida...");
  37.                         System.out.println("Ingrese Nuevamente La Fecha De Nacimiento:");
  38.                         fNacimiento = entrada.nextLine();
  39.                     }
  40.                     System.out.println("Ingrese Genero: ");
  41.                     String genero = entrada.nextLine();
  42.                     System.out.println("Ingrese Especialidad....:\n1-Odontologia.\n2-GastroEnterologia.\n3-Dermatologia.\n4-Neurologia. ");
  43.                     String especialidad = entrada.nextLine();
  44.                     System.out.println("\t\n¡Datos Ingresados Correctamente...!\n");
  45.                     Cita citas = new Cita(cui, nombre, apellido, fNacimiento, genero,especialidad);
  46.                     archivo.ingresarCita(citas);
  47.                     break;
  48.                 case 2:
  49.                     archivo.cargarCitas();
  50.                     System.out.println("\n¡Citas Agregadas Exitosamente A La Cola...!\n");
  51.                     break;
  52.                 case 3:
  53.                     archivo.mostrarCitas();
  54.                     break;
  55.                 case 4:
  56.                     archivo.atenderOdonto();
  57.                     break;
  58.                 case 5:
  59.                     archivo.atenderGastro();
  60.                     break;
  61.                 case 6:
  62.                     archivo.atenderDerma();
  63.                     break;
  64.                 case 7:
  65.                     archivo.atenderNeuro();
  66.                     break;
  67.             }
  68.         }
  69.     }
  70.         public static void menu(){
  71.         System.out.println("1. Ingresar paciente");
  72.         System.out.println("2. Cargar Citas");
  73.         System.out.println("3. Mostrar Todas Las Citas");
  74.         System.out.println("4. Atender Pacientes Odontologia");
  75.         System.out.println("5. Atender Pacientes Gastroenterologia");
  76.         System.out.println("6. Atender Pacientes Dermatologia");
  77.         System.out.println("7. Atender Pacientes Neurologia");
  78.        
  79.     }
  80.     public static boolean validarCui(String cui) {
  81.         int contadorDigitos = 0;
  82.         boolean cuiValido = false;
  83.         String ultimosCuatroDigitos;
  84.         if (cui.length() == 13) {
  85.             for (int i = 0; i < cui.length(); i++) {
  86.                 if (i == 0) {
  87.                     switch (cui.charAt(i)) {
  88.                         case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
  89.                             contadorDigitos++;
  90.                             break;
  91.                     }
  92.                 }
  93.                 switch (i) {
  94.                     case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 11: case 12:
  95.                         switch (cui.charAt(i)) {
  96.                             case '0':case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9':
  97.                                 contadorDigitos++;
  98.                                 break;
  99.                         }
  100.                 }
  101.             }
  102.         }
  103.         ultimosCuatroDigitos = cui.substring(9);
  104.         if (contadorDigitos == cui.length()) {
  105.             if (!buscarEnArchivo(ultimosCuatroDigitos)) {
  106.                 cuiValido = false;
  107.             } else {
  108.                 cuiValido = true;
  109.             }
  110.         }
  111.         return cuiValido;
  112.     }
  113.     public static boolean buscarEnArchivo(String ultimosCuatroDigitos) {
  114.         boolean codigoEncontrado = false;
  115.         try {
  116.             BufferedReader br = new BufferedReader(new FileReader("DepartamentosMunicipios.txt"));
  117.             String linea;
  118.             while ((linea = br.readLine()) != null) {
  119.                 if (linea.length() >= 4) {
  120.                     String codigo = linea.substring(0, 4);
  121.                     if (codigo.equals(ultimosCuatroDigitos)) {
  122.                         codigoEncontrado = true;
  123.                         break;
  124.                     }
  125.                 }
  126.             }
  127.         } catch (IOException e) {
  128.             System.out.println("No se encontro el archivo");
  129.         }
  130.         return codigoEncontrado;
  131.     }
  132.     public static boolean validarFecha(String fecha){
  133.         boolean fechaValida = true;
  134.         String[] partesFecha = fecha.split("/");
  135.         int dia = Integer.parseInt(partesFecha[0]);
  136.         int mes = Integer.parseInt(partesFecha[1]);
  137.         int año = Integer.parseInt(partesFecha[2]);
  138.         if (fecha.length() > 10){
  139.             fechaValida = false;
  140.         }
  141.         if(mes < 1 || mes > 12 ){
  142.             fechaValida = false;
  143.         }else{
  144.             switch(mes){
  145.                 case 2:
  146.                     if(esBisiesto(año)){
  147.                         if(dia < 1 || dia > 29){
  148.                             fechaValida = false;
  149.                         }
  150.                     }else{
  151.                         if(dia < 1 || dia > 28){
  152.                             fechaValida = false;
  153.                         }
  154.                     }
  155.                     break;
  156.                 case 4: case 6: case 9: case 11:
  157.                     if(dia < 1 || dia > 30){
  158.                         fechaValida = false;
  159.                     }
  160.                     break;
  161.                 default:
  162.                     if(dia < 1 || dia > 31){
  163.                         fechaValida = false;
  164.                     }
  165.                     break;
  166.             }
  167.         }
  168.         return fechaValida;
  169.     }
  170.     public static boolean esBisiesto(int año){
  171.         return (año % 4 == 0 && año % 100 != 0) || (año % 400 == 0);
  172.     }
  173. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement