domingo, 12 de junio de 2011

KaponySpace: Programa que contiene un munu prinipal con submenus

/***********************************************************
 *utilizando arreglos bidimencionales, elaborar un programa *
 *que presente un menu principal con las siguientes opciones*
 *°agregar *
 *°consultar *
 *°modificar *
 *°salir*****************************************************/

import javax.swing.*;
public class GTCartLot {

    public static void main (String[] args)
    {
    try
    {
    int totalClientes=100, ind=0;
    int opcion,opcion1,opcionCU,opcionP,opCU;
    long claveVeh;
    int anio;
    String val,claveUso,procedencia;
    boolean encontrado;
   
    int [][]vEnteros=new int[totalClientes][1];
    long []vLongs=new long [totalClientes];
    String [][]vCadenas=new String[totalClientes][3];
   
    do
    {
    do
    {
    val=JOptionPane.showInputDialog(null,"                           Menu                          \n[1] Agregar\n[2] Consultas\n[3] Modificar\n[4] Salir.","Menu GTCarLot",JOptionPane.INFORMATION_MESSAGE);
    opcion=Integer.parseInt(val);
    }while(opcion<1||opcion>4);
   
    switch(opcion)
    {
    case 1:
    if(ind<totalClientes)
    {
    System.out.println ("Agregando.");
    encontrado=false;
    claveVeh=Long.parseLong(JOptionPane.showInputDialog(null,"Clave del Vehiculo: ","Agregando.",JOptionPane.INFORMATION_MESSAGE));
    //busqueda de si existe el numero de cuenta y no duplicarla
   
    for(int i=0;i<ind;i++)
    {
    if(claveVeh==vLongs[i])
    {
    System.out.println ("Error, numero de cuenta ya existe.");
    i=ind;
    encontrado=true;
    }
    }
    if(encontrado==false)
    {
    vLongs[ind]=claveVeh;
   
    anio=Integer.parseInt(JOptionPane.showInputDialog("Año del Vehiculo: "));
    vEnteros[ind][0]=anio;
    do
    {
    claveUso=JOptionPane.showInputDialog("Clave de Uso del Vehiculo\n1) Servicio Particular\n2)Servicio Publico");
    opcionCU=Integer.parseInt(claveUso);
    switch(opcionCU)
    {
    case 1:
    vCadenas[ind][0]="Servicio Particular";
    break;
   
    case 2:
    vCadenas[ind][0]="Servicio Publico";
    break;
    }
    }while(opcionCU<1||opcionCU>2);
   
    do
    {
    procedencia=JOptionPane.showInputDialog("Procedencia:\n1) Nacional\n2) Extranjero.");
    opcionP=Integer.parseInt(procedencia);
    switch(opcionP)
    {
    case 1:
    vCadenas[ind][1]="Nacional";
    break;
   
    case 2:
    vCadenas[ind][1]="Extranjero";
    break;
    }
   
    }while(opcionP<1||opcionP>2);
   
    vCadenas[ind][2]=JOptionPane.showInputDialog("Nombre del Propietario: ");
   
    ind++;
    }
    }
    else
    System.out.println ("Error, no existe espacio en el arreglo.");
   
    break;
   
    case 2:
    System.out.println ("\nConsultas");
   
    do
    {
    do
    {
    val=JOptionPane.showInputDialog(null,"Cosultar por:\n1) Clave de Uso\n2) Procedencia\n3) Propietario\n4) Año\n5) Todos\n6) Regresar.","Consultas",JOptionPane.INFORMATION_MESSAGE);
    opcion1=Integer.parseInt(val);
    }while(opcion1<1||opcion1>6);
   
    switch(opcion1)
    {
    case 1:
   
    if(ind>0)
    {
    System.out.println ("\n\t[Por Clave de Uso]");
    encontrado=false;
    val=JOptionPane.showInputDialog("Clave uso a buscar\n(recuerde que solo hay: Servicio Particular y  Servicio Publico)");
    for(int j=0;j<ind;j++)
    {
    if(val.equalsIgnoreCase(vCadenas[j][0]))
    {
    System.out.println ("\n\tClave Uso: \n\t\t\t["+vCadenas[j][0]+"]");
    System.out.println ("\t\t__________________");
    System.out.println ("\t\tClave del vehiculo: "+vLongs[j]);
    System.out.println ("\t\tAño del vehiculo: "+vEnteros[j][0]);
    System.out.println ("\t\tProcedencia: "+vCadenas[j][1]);
    System.out.println ("\t\tNombre del Propietario: "+vCadenas[j][2]);
   
    j=ind;
    encontrado=true;
    }
    }
    if(encontrado==false)
    System.out.println ("Error, no hay clave uso en el arreglo.");
   
    }
    else
    System.out.println ("Error, no existe informacion en el arreglo.");
    break;
   
    case 2:
    if(ind>0)
    {
    System.out.println ("\n\t[Por Procedencia]");
    encontrado=false;
    val=JOptionPane.showInputDialog("Procedencia a buscar\n(recuerde que solo hay: Nacional y  Extranjero)");
    for(int j=0;j<ind;j++)
    {
    if(val.equalsIgnoreCase(vCadenas[j][1]))
    {
    System.out.println ("\n\tProcedencia: \n\t\t\t["+vCadenas[j][1]+"]");
    System.out.println ("\t\t__________________");
    System.out.println ("\t\tClave del vehiculo: "+vLongs[j]);
    System.out.println ("\t\tAño del vehiculo: "+vEnteros[j][0]);
    System.out.println ("\t\tClave Uso: "+vCadenas[j][0]);
    System.out.println ("\t\tNombre del Propietario: "+vCadenas[j][2]);
    System.out.println ("\t\t__________________");
   
    j=ind;
    encontrado=true;
    }
    }
    if(encontrado==false)
    System.out.println ("Error, no hay Procedencia valida en el arreglo.");
   
    }
    else
    System.out.println ("Error, no existe informacion en el arreglo.");
   
    break;
   
    case 3:
    if(ind>0)
    {
    encontrado=false;
    System.out.println ("\n\t[Por Propietario]");
    val=JOptionPane.showInputDialog("Nombre del propietario a buscar: ");
    for(int j=0;j<ind;j++)
    {
    if(val.equalsIgnoreCase(vCadenas[j][2]))
    {
    System.out.println ("\n\tDatos de: \n\t\t\t["+vCadenas[j][2]+"]");
    System.out.println ("\t\t__________________\n\t\tClave del vehiculo: "+vLongs[j]);
    System.out.println ("\t\tAño del vehiculo: "+vEnteros[j][0]);
    System.out.println ("\t\tClave Uso: "+vCadenas[j][0]);
    System.out.println ("\t\tProcedencia: "+vCadenas[j][1]);
    System.out.println ("\t\t__________________");
    j=ind;
    encontrado=true;
    }
   
    }
    if(encontrado==false)
    System.out.println ("Error, el nombre del propietario no existe en el arreglo.");
    }
    else
    System.out.println ("Error,no existe informacion en el arreglo.");
   
    break;
   
    case 4:
    if(ind>0)
    {
    encontrado=false;
    System.out.println ("\n\t[Por Año]");
    val=JOptionPane.showInputDialog("Año de busqueda: ");
    anio=Integer.parseInt(val);
    for(int j=0;j<ind;j++)
    {
    if(anio==vEnteros[j][0])
    {
    System.out.println ("\n\tDatos del Año buscado: \n\t\t\t["+anio+"] ");
    System.out.println ("\t\t__________________________");
    System.out.println ("\t\tClave del vehiculo: "+vLongs[j]);
    System.out.println ("\t\tClave Uso: "+vCadenas[j][0]);
    System.out.println ("\t\tProcedencia: "+vCadenas[j][1]);
    System.out.println ("\t\tNombre del Propietario: "+vCadenas[j][2]);
    System.out.println ("\t\t__________________________");
    j=ind;
    encontrado=true;
    }
    }
    if(encontrado==false)
    System.out.println ("Error, el años buscado no existe.");
   
    }
    else
    System.out.println ("Error, no existe informacion en el arreglo.");
   
    break;
   
   
    case 5:
    if(ind>0)
    {
    System.out.println ("\n\t[Consultando Todos]");
    for(int j=0;j<ind;j++)
    {
    System.out.println ("\t__________________________");
    System.out.println ("\tClave del vehiculo: "+vLongs[j]);
    System.out.println ("\tAño del vehiculo: "+vEnteros[j][0]);
    System.out.println ("\tClave Uso: "+vCadenas[j][0]);
    System.out.println ("\tProcedencia: "+vCadenas[j][1]);
    System.out.println ("\tNombre del Propietario: "+vCadenas[j][2]);
    }
    System.out.println ("\t__________________________");
    }
    else
    System.out.println ("Error, no existe informacion en el arreglo.");
    break;
    }
    }while(opcion1!=6);
   
    break;
   
    case 3:
    System.out.println ("\nModificar");
    break;
   
    }
    }while(opcion!=4);
   
    System.exit(0);
   
    }catch(Exception e)
    {
    System.out.println ("Error: "+e.getMessage());
    System.exit(0);
    }
}
}