Autor Tema: Ayuda Programa en Java para registrar, buscar, eliminar, ordenar, modificar  (Leído 7443 veces)

Mr_Reese

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Buenas Tardes. Soy nuevo en este foro :-[ y la verdad me serviría mucho de su ayuda. Tengo este código ya casi lo termino pero no logro hacer las siguientes funciones:

El código trata de un menú . Tiene varias funciones.

En la Opción #1 tengo que registrar al personal (Hasta 5 personas puedo registrar) Donde se le pedirá su #de Empleado (que por cierto no se puede repetir y eso aún no logro programarlo), Nombre, Apellido, Departamento y sueldo.

En la opción #2 Esta el Registro General. Donde Se puede encontrar a todos el personal registrado en el programa.

En la opción #3 hace una Búsqueda por Número de Empleado (Ese ya lo tengo hecho). 

Opción #4 Búsqueda por Departamento (También).

Opción 5 es Modificar el Sueldo de un empleado registrado; esta opción no la tengo hecha.

Opción 6 es Eliminar (Ya lo tengo hecho.)

Y la Opción 7 es Ordenar por Apellido a los empleados ya registrado y ese también necesito su ayuda, chicos/as. No se sí podría ser posible sí me podrían apoyar en en este trabajo. No puedo usar el .length el metodo IgnoreCase sí y esos. Pero .length NO.

Les paso mi código para que se den una idea.


Código: [Seleccionar]
String Aux;
int [] NumEmp = new int [5];
String [] Nombre = new String [5];
String [] ApePat = new String [5];
String [] Depto = new String [5];
double [] Sueldo = new double [5];
int Op,ap,i,elementos,comparaciones,Tiempo;
boolean Existe=false;
String dto="";
String Temp;
ap=-1;
do
{
Op=Integer.parseInt(JOptionPane.showInputDialog("Menú\n\n1.- Registro.\n2.- Consulta General.\n3.- Búsqueda por Número de Empleado.\n4.- Búsqueda por Departamento\n5.- Modificar Sueldo\n6.- Eliminar\n7.- Ordenar Por Apellido\n\n8.- Salida"));
int Numero;
switch(Op)
{
case 1: if (ap!=4) //Registro De Empleado
{
ap++;
    NumEmp[ap]=Integer.parseInt(JOptionPane.showInputDialog("Inserte Número de Empleado"));
Nombre[ap]=JOptionPane.showInputDialog("Inserte Nombre");
ApePat[ap]=JOptionPane.showInputDialog("Inserte Apellido Paterno");
int x=Integer.parseInt(JOptionPane.showInputDialog("Inserte Departamento:\n1.-Calidad\n2.-Ingenieria\n3.-RecursosHumanos\n4.-Producción"));
if(x==1)
Depto[ap]="Calidad";
if(x==2)
Depto[ap]="Ingenieria";
if(x==3)
Depto[ap]="Recursos Humanos";
if(x==4)
Depto[ap]="Produccion";
Sueldo[ap]=Double.parseDouble(JOptionPane.showInputDialog("Inserte Sueldo"));


}
else
JOptionPane.showMessageDialog(null, "No Hay Espacio");
break;

case 2: if(ap!=-1) //Registro General
{
Aux="";
for(i=0;i<=ap;i++)
{
Aux=Aux+"\nNúmero Empleado:"+NumEmp[i]+"\nNombre: "+Nombre[i]+"\nApellido Paterno: "+ApePat[i]+"\nDepartamento: "+Depto[i]+"\nSueldo: "+Sueldo[i]+"\n\n";
}
JOptionPane.showMessageDialog(null, "Consulta General\n"+Aux);
}
else
JOptionPane.showMessageDialog(null, "No Hay Registro");
break;

case 3: if(ap!=-1)//Búsqueda por Número de Empleado
         {
        Existe=false;
        Aux=JOptionPane.showInputDialog("Número de Empleado que Desea buscar");
        Numero = Integer.parseInt(Aux);
        for(i=0;i<=ap;i++)
         {
      if(Numero == NumEmp[i])
        {
     Existe = true;
     JOptionPane.showMessageDialog(null,"\n Empleado es: \n numero de empleado "+NumEmp[i]+"\n Apellido: "+ApePat[ap]+"\n Nombre: "+Nombre[i]+"\n Departamento: "+Depto[i]+"\n Suledo: "+Sueldo[i]);

       }
         }
       if(Existe == false)   
          JOptionPane.showMessageDialog(null, "El Número "+Numero+" no existe");

}
             
else
JOptionPane.showMessageDialog(null, "No Hay Datos");
break;

case 4: if(ap!=-1)//Búsqueda por Departamento
          {
        Existe=false;
        int x=Integer.parseInt(JOptionPane.showInputDialog("Selecciona  Departamento:\n1.-Calidad\n2.-Ingenieria\n3.-RecursosHumanos\n4.-Producción"));
         if(x==1)
        dto="Calidad";
         if(x==2)
        dto="Ingenieria";
         if(x==3)
        dto="Recursos Humanos";
         if(x==4)
        dto="Produccion";
         
         for(i=0;i<=ap;i++)
         {
      if(dto.equals(Depto[i]))
        {
     Existe = true;
     JOptionPane.showMessageDialog(null,"\n Empleado es: \n numero de empleado "+NumEmp[i]+"\n Apellido: "+ApePat[ap]+"\n Nombre: "+Nombre[i]+"\n Departamento: "+Depto[i]+"\n Suledo: "+Sueldo[i]);

       }
         }
       if(Existe == false)   
          JOptionPane.showMessageDialog(null, "No hay empleados en ese departamento");
}

     else
     JOptionPane.showMessageDialog(null, "No Hay Registro");
break;

case 5: if(ap!=-1)//Modificar Sueldo
{

}
else
JOptionPane.showMessageDialog(null, "No Hay Registro " );
break;

case 6: if(ap!=-1) //Eliminar Empleado
{
ap--;
}
else
JOptionPane.showMessageDialog(null, "No Hay Registro");
break;

case 7: if (ap!=-1)
{

}
else
JOptionPane.showMessageDialog(null,"No Hay Registro " );
break;
}//Menú
}while (Op!=8);
}
}

Muchas Gracias por su apoyo :)
« Última modificación: 06 de Junio 2016, 22:21 por Ogramar »

Lorenzo31

  • Avanzado
  • ****
  • APR2.COM
  • Mensajes: 381
    • Ver Perfil
Re:Ayuda Con un Programa en Java :(
« Respuesta #1 en: 27 de Mayo 2016, 20:51 »
Buenas para ordenar echale un vistado a Sort, facil de usar y ordena , esta en la clase Arrays.

Ejemplo:

 //Array de String
        String[] nombres = {"Pepe", "Juan", "Alex",
            "Julian", "Francisco", "Luis"};
 
        //Ordena el array
        Arrays.sort(nombres);

Automaticamente ordena el array.

para comprobar si la id de un empleado está usada antes solo has de recorrer el array de empleados con un foreach y comprobar la id si es distinta entras a nuevo sino le dices que ya está introducido.

foreach (int idEmpleado: NumEmpleado){
                  if (idEmpleado == nuevaPeticion){ int semaforo = 1; (reptido) }

}

Algo así quitanddo el comentario y las posibles faltas de sintaxis, que hace dias que no toco java.
Saludos.
« Última modificación: 27 de Mayo 2016, 21:05 por Lorenzo31 »

MichelleRivera

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
Re:Ayuda Con un Programa en Java :(
« Respuesta #2 en: 01 de Junio 2016, 08:37 »
Hola

En lo que respecta a la opcion 1 puedes realizar otra variable que se le asigne un mensaje de entrada de datos y hacer un for para poder repetir o preguntar cuantos son los empleados que va a querer registrar, ese tamaño se lo envías a los diferentes arrays que utilizas.

Para las búsquedas y manejo de estos arrays te recomiendo buscar información sobre listas, es una buena opcion pues te permiten hacer búsquedas ediciones de la información que estas manejando en un array.

Para ordenar a los empleados puedes utilizar un método de ordenamiento que de igual manera utilizan arrays ... te dejo algunos links y espero te sirvan :

http://codigolibre.weebly.com/blog/listas-simples-en-java
http://juniorborches.blogspot.mx/2011/07/listas-simples-en-java.html
http://enrrike87.blogspot.mx/2011/06/metodos-de-ordenamiento-java_21.html

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".