Este es el trabajo que debo hacer pero me fallan en que no se repita el num de registro Y en la ordenación de apellidos con los atributos mostrados(nombre,sueldo,departamento numero dempleado) AYUDA!!!
Se cuenta con los siguientes arreglos: (El apuntador del arreglo debe de valer -1)
El primero unidimensional tipo entero de 5 posiciones para el número de empelado.
El segundo bidimensional String de 5 posiciones para el nombre.
El tercero Bidimensional String de 5 posiciones para el Apellido Paterno.
El Cuarto Bidimensional String de 5 posiciones para el departamento.
El último, unidimensional de tipo double para el Sueldo
Deberá manipular un menú de opciones considerando lo siguiente:
1.- Registro de Empleados.
Para implementar esta opción deberá de verificar que exista espacio disponible para poder insertar (No. Empleado, nombre, apellido paterno, departamento, sueldo), de lo contrario imprimir "No hay espacio".
Nota: Deberá validar que el número de empleado no se repita y el departamento serán:
* Calidad.
* Ingeniería.
* Recursos Humanos.
* Producción.
2.- Consulta General.
Para implementar esta opción deberá verificar que exista al menos un registro, de lo contrario imprimir "No hay registros".
Sí existe al menos un registro, imprimir (No. Empleado, nombre, apellido patero, departamento, sueldo) de cada registro existente.
3.- Búsqueda por número de empleado
Deberá verificar que exista l menos un registro, de lo contrario imprimir "No hay datos".
Sí existe al menos un registro, pedir el número de empleado a buscar e implementar la búsqueda. Sí el número de empleado existe imprimir la información del registro (No. Empleado, nombre, apellido, paterno, departamento, sueldo). Sí el número de empleado a buscar no existe, imprimir "No existe el número de empleado".
4.- Búsqueda por departamento
(Aplica mismos criterios de la búsqueda por número de empleado).
5.- Modificar Sueldo.
Debe existir al menos un registro para implementar esta opción. Si no existe al menos un registró imprimir "No hay registros". Si hay registros, pedir número de empleado e implementar la búsqueda. Si existe el número de empleado, pedir el nuevo sueldo y modificar el sueldo. Si no existe el número de empleado, imprimir "No existe el número de empleado".
6.- Eliminar.
Debe existir al menos un registro, de lo contrario imprimir "No hay dados".
Si existe al menos un registró, eliminar el último registró (imprimir la información a eliminar).
7.- Ordenar por apellido.
Debe de existir al menos un registro, de lo contrario imprimir "No hay registro".
Si hay al menos un registro, implementar la ordenación.
8.- Salida.
Se cuenta con los siguientes arreglos: (El apuntador del arreglo debe de valer -1)
El primero unidimensional tipo entero de 5 posiciones para el número de empelado.
El segundo bidimensional String de 5 posiciones para el nombre.
El tercero Bidimensional String de 5 posiciones para el Apellido Paterno.
El Cuarto Bidimensional String de 5 posiciones para el departamento.
El último, unidimensional de tipo double para el Sueldo
Deberá manipular un menú de opciones considerando lo siguiente:
1.- Registro de Empleados.
Para implementar esta opción deberá de verificar que exista espacio disponible para poder insertar (No. Empleado, nombre, apellido paterno, departamento, sueldo), de lo contrario imprimir "No hay espacio".
Nota: Deberá validar que el número de empleado no se repita y el departamento serán:
* Calidad.
* Ingeniería.
* Recursos Humanos.
* Producción.
2.- Consulta General.
Para implementar esta opción deberá verificar que exista al menos un registro, de lo contrario imprimir "No hay registros".
Sí existe al menos un registro, imprimir (No. Empleado, nombre, apellido patero, departamento, sueldo) de cada registro existente.
3.- Búsqueda por número de empleado
Deberá verificar que exista l menos un registro, de lo contrario imprimir "No hay datos".
Sí existe al menos un registro, pedir el número de empleado a buscar e implementar la búsqueda. Sí el número de empleado existe imprimir la información del registro (No. Empleado, nombre, apellido, paterno, departamento, sueldo). Sí el número de empleado a buscar no existe, imprimir "No existe el número de empleado".
4.- Búsqueda por departamento
(Aplica mismos criterios de la búsqueda por número de empleado).
5.- Modificar Sueldo.
Debe existir al menos un registro para implementar esta opción. Si no existe al menos un registró imprimir "No hay registros". Si hay registros, pedir número de empleado e implementar la búsqueda. Si existe el número de empleado, pedir el nuevo sueldo y modificar el sueldo. Si no existe el número de empleado, imprimir "No existe el número de empleado".
6.- Eliminar.
Debe existir al menos un registro, de lo contrario imprimir "No hay dados".
Si existe al menos un registró, eliminar el último registró (imprimir la información a eliminar).
7.- Ordenar por apellido.
Debe de existir al menos un registro, de lo contrario imprimir "No hay registro".
Si hay al menos un registro, implementar la ordenación.
8.- Salida.
Código (java) [Seleccionar]
import java.util.Arrays;
import javax.swing.JOptionPane;
public class Final{
public static void main(String[] args) {
boolean Dato;
int []NumeroDeEmpleado = new int [5];
String []NombreDeEmpleado = new String [5];
String []ApellidoPaterno = new String [5];
String []Departamento = new String [5];
double []Sueldo = new double [5];
int op;
int ap=-1;
int i;
int aux1;
do{
op=Integer.parseInt(JOptionPane.showInputDialog("Menu"
+ "\n1.-Registrar Empleado"
+ "\n2.-Eliminar Ultimo Registro"
+ "\n3.-Consultar"
+ "\n4.-Modificar sueldo"
+ "\n5.-Ordenar Por Apellido Paterno"
+ "\n6.-Salir"));
switch (op){
case 1:
ap++;
if(ap!=4)
{
Dato=true;
if(ap==0)
{
aux1=Integer.parseInt(JOptionPane.showInputDialog("Numero de empleado"));
NumeroDeEmpleado[ap]=aux1;
}
else{ if(ap!=0)
{
aux1=Integer.parseInt(JOptionPane.showInputDialog("Numero de empleado"));
for(i=0;i<=ap;i++)
{
if(NumeroDeEmpleado[ap]==aux1)
{
Dato=false;
}
}
if(Dato==false)
{
JOptionPane.showMessageDialog(null, "Numero repetido");
}}
else
{
aux1=NumeroDeEmpleado[ap];
}
}
NombreDeEmpleado[ap]=JOptionPane.showInputDialog("Dame un nombre ");
ApellidoPaterno[ap]=JOptionPane.showInputDialog("Dame el apellido paterno ");
do
{
op=Integer.parseInt(JOptionPane.showInputDialog("Dame el departamento\n1._ Calidad\n2._ Ingenieria\n3._ Recursos Humanos\n4._ Produccion "));
if(op==1)
{
Departamento[ap]="Calidad";
}
else
{
if(op==2)
{
Departamento[ap]="Ingenieria";
}
else
{
if(op==3)
{
Departamento[ap]="Recursos Humanos";
}
else
{
if(op==4)
{
Departamento[ap]="Produccion";
}
}
}
}
}while(op<1||op>4);
Sueldo[ap]=Double.parseDouble(JOptionPane.showInputDialog("Dame el sueldo "));
}
else
{
JOptionPane.showMessageDialog(null,"No hay espacio ");
}
break;
case 2:
{
if (ap==-1) {
JOptionPane.showMessageDialog(null,"No Hay Empleados Registrados");
}else{
JOptionPane.showInputDialog(NumeroDeEmpleado[ap]+" "+NombreDeEmpleado[ap]+" "+ApellidoPaterno[ap]+" "+Departamento[ap]+" "+Sueldo[ap]);
NumeroDeEmpleado[ap]=0;
NombreDeEmpleado[ap]=null;
ApellidoPaterno[ap]=null;
Departamento[ap]=null;
Sueldo[ap]=0.0;
ap--;
JOptionPane.showInputDialog("Se ha eliminado el ultimo empleado registrado");
}
JOptionPane.showMessageDialog(null ,"Regresando A Menu");
break;}
case 3:{
if (ap==-1) {
JOptionPane.showMessageDialog(null, "No Hay Registros");
}else{
op=Integer.parseInt(JOptionPane.showInputDialog("1.-Consulta general"
+ "\n2.-consulta por numero de empleado"
+ "\n3.-Consulta por departamento"));
switch (op) {
case 1:
{
if(ap!=-1)
{
String aux = "";
for( i=0;i<=ap;i++)
{
aux=aux+"\n\nNumero Empleado: "+NumeroDeEmpleado[i]
+"\nNombre: "+NombreDeEmpleado[i]
+"\nApellido paterno: "+ApellidoPaterno[i]
+"\nDepartamento: "+Departamento[i]
+"\nSueldo: $"+Sueldo[i];
}
JOptionPane.showMessageDialog(null,"Consulta General "+aux);
break;
}
else
{
JOptionPane.showMessageDialog(null,"No hay registros ");
}
ap=ap-1;
break ;}
case 2:int Buscar;
Buscar=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el numero de empleado a buscar"));
for ( i = 0; i < 5; i++) {
if(NumeroDeEmpleado[i]==Buscar){
JOptionPane.showMessageDialog(null, NumeroDeEmpleado[i]+" "
+ ""+NombreDeEmpleado[i]+""
+ " "+ApellidoPaterno[i]+""
+ " "+Departamento[i]+" "+Sueldo[i]);
}
}
break;
case 3:for ( i = 0; i < 5; i++) {
int Busque=0;
do{
Busque=Integer.parseInt(JOptionPane.showInputDialog("Ingrese su departamento a buscar"
+ "\n1._ Calidad"
+ "\n2._ Ingenieria"
+ "\n3._ Recursos Humanos"
+ "\n4._ Produccion "));
if(Busque==1)
{
Departamento[ap]="Calidad";
}
else
{
if(Busque==2)
{
Departamento[ap]="Ingenieria";
}
else
{
if(Busque==3)
{
Departamento[ap]="Recursos Humanos";
}
else
{
if(Busque==4)
{
Departamento[ap]="Produccion";
}
}
}
}
{
}
JOptionPane.showMessageDialog(null, NumeroDeEmpleado[i]+" "
+ ""+NombreDeEmpleado[i]+""
+ " "+ApellidoPaterno[i]+" "
+ ""+Departamento[i]+""
+ " "+Sueldo[i]);
}while(op<1||op>4);
}
break;
default:
JOptionPane.showMessageDialog(null, "Opcion no valida");
break;
}
}
break;}
case 4:{
if(ap!=-1)
{int Suecambio;
int si=-1;
Suecambio=Integer.parseInt(JOptionPane.showInputDialog("Introduce El Numero De Empleado "
+ "\n Para Modificar El Sueldo "));
for( i=0;i<=ap;i++)
{
if(NumeroDeEmpleado[i]==Suecambio)
{
si=i;
}
}
if(si!=-1)
{
Sueldo[si]=Double.parseDouble(JOptionPane.showInputDialog("Ingrese El Nuevo Sueldo Del Empleado "
+ "\n"+NumeroDeEmpleado[si]+" "
+NombreDeEmpleado[si]+" "+ApellidoPaterno[si]));
}
else
{
JOptionPane.showMessageDialog(null,"No Existe El Numero De Empleado ");
}
}
else
{
JOptionPane.showMessageDialog(null, "No hay Datos");
}
}
break;
case 5:{
if(ap!=-1){
Arrays.sort(ApellidoPaterno);
for (String numero:ApellidoPaterno)
System.out.print(numero +"");
}else
{
JOptionPane.showMessageDialog(null, "No hay Datos");
}
}break;
}}while(op!=6);}}