Beruflich Dokumente
Kultur Dokumente
Enunciado: La empresa XYZ requiere una aplicacin informtica para administrar los
datos de su personal.
Del personal se conoce: nmero de DNI, nombre, apellidos y fecha de ingreso.
Existen dos categoras de personal: el personal contratado y el personal a destajo. Los
empleados contratados tienen un sueldo bsico y un porcentaje adicional en funcin al
tiempo laborado: de 0 a 3 aos: 5%; de 4 a 7 aos: 10%; de 8 a 15 aos: 15% y ms de
15 aos: 20%. Los empleados a destajo tienen un nmero de clientes captados y un
monto por cliente captado.
Enlace: https://www.youtube.com/watch?v=2tO_v8gYk74
Clase Empleado
package entidades;
public Empleado () {
dni = "00000000";
nombre = "NN";
apellidos = "NA";
fechaIngreso = new java.util.GregorianCalendar(1800,0,1);
}
@Override
public String toString () {
int dia, mes, ao;
dia = getFechaIngreso().get(java.util.Calendar.DAY_OF_MONTH);
mes = getFechaIngreso().get(java.util.Calendar.MONTH)+1;
ao = getFechaIngreso().get(java.util.Calendar.YEAR);
return "DNI: " + getDni() + "\nNombre y Apellidos: " + getNombre() +
" " + getApellidos() + "\nFecha de ingreso: " +
(dia<=9?"0"+dia:dia) + "/" + (mes<=9?"0"+mes:mes) + "/" + ao;
}
}
Clase EContratado
package entidades;
import java.util.Calendar;
import java.util.GregorianCalendar;
@Override
public String toString () {
return super.toString() + "\nSalario: " + getSalario();
}
}
Clase EDestajo
package entidades;
public EDestajo () {
super();
clientesCaptados = 0;
}
@Override
public String toString () {
return super.toString() + "\nSalario: " + getSalario();
}
}
Clase ListaEmpleados
package datos;
import entidades.Empleado;
import java.util.ArrayList;
public ListaEmpleados () {
listaE = new ArrayList();
posicion = -1;
}
@Override
public String toString () {
String cadena = "";
for(int i=0; i<=posicion; i++)
cadena += "\n\tEmpleado " + (i+1) + ":\n" + listaE.get(i);
return cadena;
}
}
Clase Aplication
/*
* Menu de opciones:
* 1. Registrar empleados contratados
* 2. Registrar empleados a destajo
* 3. Mostrar salarios por empleado
* 4. Salir
*/
package presentacion;
import datos.ListaEmpleados;
import entidades.*;
import java.util.GregorianCalendar;
import java.util.Scanner;
int opt;
ListaEmpleados ListaContratados = new ListaEmpleados();
ListaEmpleados ListaDestajos = new ListaEmpleados();
private static Scanner Lector = new Scanner(System.in);
public static final short CONTRATADO = 0;
public static final short POR_DESTAJO = 1;
if(Type == CONTRATADO)
{
int salarioB = Integer.parseInt( Leer("Ingrese salario base") );
ListaContratados.addEmpleado( new EContratado(dni, nombre, apellidos,
fechaIngreso, salarioB) );
}else{
int clientesObtenidos = Integer.parseInt( Leer("Ingrese clientes reclutados") );
ListaDestajos.addEmpleado( new EDestajo(dni, nombre, apellidos,
fechaIngreso, clientesObtenidos) );
}
}
do{
opt = Menu();
Accionar(opt);
}while(opt!=4);
}
}
Clase AplicationRunner
package presentacion;