Advertisement
robeeeert

Principal

Jun 16th, 2023
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.71 KB | None | 0 0
  1. import java.util.*;
  2. public class PrincipalPilas {
  3.     public static void main(String[] args) {
  4.         ArchivoPilas archivo = new ArchivoPilas();
  5.         Scanner entrada = new Scanner(System.in);
  6.         int opcion = 0;
  7.         int salir = 0;
  8.         while (salir != 1){
  9.             menu();
  10.             System.out.println("Ingrese una opción");
  11.             try{
  12.                 opcion = entrada.nextInt();              
  13.             }catch(Exception e){
  14.                 System.out.println("Opcion no valida");
  15.             }
  16.    
  17.         switch(opcion){
  18.                 case 1:
  19.                     entrada.nextLine();
  20.                     System.out.println("\n\tIngresar Cliente Nuevo:\n");
  21.                     System.out.println("Ingrese Nit: ");
  22.                     String nit = entrada.nextLine();
  23.                     while (!validarNit(nit)) {
  24.                         System.out.println("Nit No Valido...");
  25.                         System.out.println("Ingrese Nuevamente El Nit Del Cliente:");
  26.                         nit = entrada.nextLine();
  27.                     }
  28.                     System.out.println("Ingrese Nombres: ");
  29.                     String nombre = entrada.nextLine();
  30.                     System.out.println("Ingrese Apellidos: ");
  31.                     String apellido = entrada.nextLine();
  32.                     System.out.println("Ingrese Fecha De Nacimiento: ");
  33.                     String fNacimiento = entrada.nextLine();
  34.                     while (!validarFecha(fNacimiento)) {
  35.                         System.out.println("Fecha No Valido...");
  36.                         System.out.println("Ingrese Nuevamente La Fecha:");
  37.                         fNacimiento = entrada.nextLine();
  38.                     }
  39.                     System.out.println("Ingrese Genero: ");
  40.                     String genero = entrada.nextLine();
  41.                     System.out.println("Ingrese Departamento...: \n1-Ventas.\n2-Compras.\n3-Contabilidad.\n4-Sistemas.");
  42.                     String especialidad = entrada.nextLine();
  43.                     System.out.println("\t\n¡Datos Ingresados Correctamente...!\n");
  44.                     Clientes cliente = new Clientes(nit, nombre, apellido, fNacimiento, genero,especialidad);
  45.                      archivo.ingresarCliente(cliente);
  46.                     break;
  47.                 case 2:
  48.                     archivo.cargarClientes();
  49.                     System.out.println("\n¡Clientes Agregadas Exitosamente A La Cola...!\n");
  50.                     break;
  51.                 case 3:
  52.                     archivo.mostrarClientes();
  53.                     break;
  54.                 case 4:
  55.                     archivo.atenderVentas();
  56.                     break;
  57.                 case 5:
  58.                     archivo.atenderCompras();
  59.                     break;
  60.                 case 6:
  61.                     archivo.atenderConta();
  62.                     break;
  63.                 case 7:
  64.                     archivo.atenderSiste();
  65.                     break;
  66.             }
  67.         }
  68.     }  
  69.     public static void menu(){
  70.         System.out.println("1. Ingresar Cliente");
  71.         System.out.println("2. Cargar Clientes");
  72.         System.out.println("3. Mostrar Todos Los Clientes");
  73.         System.out.println("4. Atender Clientes Ventas");
  74.         System.out.println("5. Atender Clientes Compras");
  75.         System.out.println("6. Atender Clientes Conta");
  76.         System.out.println("7. Atender Clientes Sistemas");
  77.     }
  78.     public static boolean validarNit(String nit) {
  79.         boolean nitValido = true;
  80.         if(nit.length() <= 13){
  81.             nitValido = false;
  82.         }
  83.         String[] partes = nit.split("-");
  84.         if(partes.length != 2){
  85.             nitValido = false;
  86.         }
  87.         String parte1 = partes[0];
  88.         String digitoVerificador = partes[1];
  89.         int factor = parte1.length() + 1;
  90.         int valor = 0;
  91.         for (int i = 0; i < parte1.length(); i ++){
  92.             valor += Character.getNumericValue(parte1.charAt(i))* factor;
  93.             factor --;
  94.         }
  95.         int residuo = valor % 11;
  96.         int resultado = 11 - residuo;
  97.         if (resultado >= 10){
  98.             resultado = 0;
  99.         }
  100.         if(Integer.parseInt(digitoVerificador) != resultado){
  101.             nitValido = false;
  102.         }
  103.         return nitValido;
  104.     }
  105.     public static boolean validarFecha(String fecha){
  106.         boolean fechaValida = true;
  107.         String[] partesFecha = fecha.split("%");
  108.         int dia = Integer.parseInt(partesFecha[0]);
  109.         int mes = Integer.parseInt(partesFecha[1]);
  110.         int año = Integer.parseInt(partesFecha[2]);
  111.         if(fecha.length() > 10){
  112.             fechaValida = false;
  113.         }
  114.         if(mes < 1 || mes > 12){
  115.             fechaValida = false;
  116.         }else{
  117.             switch(mes){
  118.                 case 2:
  119.                     if(esBisiesto(año)){
  120.                         if(dia < 1 || dia > 29){
  121.                             fechaValida = false;
  122.                         }
  123.                     }else{
  124.                         if(dia < 1 || dia > 28){
  125.                             fechaValida = false;
  126.                         }
  127.                     }
  128.                     break;
  129.                 case 4: case 6: case 9: case 11:
  130.                     if (dia < 1 || dia > 30){
  131.                         fechaValida = false;
  132.                     }
  133.                     break;
  134.                 default:
  135.                     if (dia < 1 || dia > 31){
  136.                         fechaValida = false;
  137.                     }
  138.                     break;
  139.             }
  140.         }
  141.         return fechaValida;
  142.     }
  143.     public static boolean esBisiesto(int año){
  144.         return(año % 4 == 0 && año % 100 != 0) || (año % 400 == 00);
  145.     }
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement