miércoles, 31 de agosto de 2016

Ejercicio 2: Empresa

En este post están los códigos de una empresa que tiene cuatro tipos de empleados, cada uno de ellos cobra de manera diferente y se quiere obtener el pago total mediante clases polimórficas.

Primera capa

public class Empleado {
 String NombreE;
 int Horast;
 double TVendido;
 public Empleado(String n, int h, double tV){
  NombreE=n;
  Horast=h;
  TVendido=tV;
 }
 public double getTVendido() {
  return TVendido;
 }
 public void setTVendido(double tVendido) {
  TVendido = tVendido;
 }
 public void Pago(){

 }
 public String getNombreE() {
  return NombreE;
 }
 public void setNombreE(String nombreE) {
  NombreE = nombreE;
 }
 public int getHorast() {
  return Horast;
 }
 public void setHorast(int horast) {
  Horast = horast;
 }



}

Segunda Capa

public class Asalariados extends Empleado{
 public Asalariados(String n, int h, double TV) {
  super(n, h, TV);
 }
 public void Pago(){
  System.out.println("El salario correspondiente al empleado asalariado de nombre "+NombreE+" es de $689454 Pesos" );
 }

}

Tercera Capa
public class AsalariadosporComisión extends Empleado {
 public AsalariadosporComisión(String n, int h, int TV) {
  super(n, h, TV);

 }
 public void Pago(){
  //por cada venta de $300.000 gana 10%
  double pago, pagobase, pagoT;

  pagobase=(TVendido*10)/300000;
  pago= (pagobase*10)/100;
  pagoT=pagobase+pago;

  System.out.println("El pago correspondiente al empleado asalariado por comisión de nombre "+ NombreE+ " es el de $"+ pagoT+" pesos");

 }
}

Cuarta Capa

public class PorComisión extends Empleado {
 public PorComisión(String n, int h, int TV) {
  super(n, h, TV);
 }
 public void Pago(){
  //por cada venta de $300.000 gana 10%
  double ventas, pagoT;
  ventas=(TVendido*10)/300000;
  pagoT=ventas+689454;
  System.out.println("El pago correspondiente al empleado asalariado por comisión de nombre "+ NombreE+ " es el de $"+ pagoT+" pesos.");

 }
}


Quinta Capa

public class Porhoras extends Empleado{
 public Porhoras(String n, int h, int TV) {
  super(n, h, TV);
 }
 public void Pago(){
  //por cada 8 horas gana 23.0000
  double HD;

  if(Horast>=40){
   HD=((Horast*23000)/8)*1.5;
  }
  else{
   HD= (Horast*23000)/8;
  }

  System.out.println("El pago correspondiente al empleado por horas de nombre "+ NombreE+ " es el de $"+ HD+" pesos.");

 }
}


Sexta Capa
import java.util.Scanner;
public class RunEmpleado {
public static void main(String[]args){
Scanner kai=new Scanner(System.in);
Empleado emp=new Empleado(null, 0, 0);
Asalariados asa= new Asalariados(null, 0, 0);
AsalariadosporComisión asac=new AsalariadosporComisión(null, 0, 0);
PorComisión com=new PorComisión(null, 0, 0);
Porhoras h=new Porhoras(null, 0, 0);


System.out.println("Hola, bienvenido al programa de pagos 2.0");
boolean Again=true;
while (Again==true){
int opc;
System.out.println("Por favor ingresa alguna de las siguientes opciones");
System.out.println("<1> ◥⊙  Empleado Asalariado ⊙◤");
System.out.println("<2> ◥⊙  Empleado Asalariado por comisión ⊙◤");
System.out.println("<3> ◥⊙  Empleado por comisión ⊙◤");
System.out.println("<4> ◥⊙  Empleado por horas ⊙◤");
System.out.println("<5> ◥⊙  Salida ⊙◤");
System.out.print(" ►");opc=kai.nextInt();


switch(opc){
case 1: System.out.println("Ha escogido la opción de empleado asalariado, por favor siga las siguientes instrucciones" );
System.out.println("Ingrese su nombre");
System.out.println("►");asa.setNombreE(kai.next());

System.out.print("");
asa.Pago();// Correción para el método
break;
case 2: System.out.println("Ha escogido la opción de empleado aslariado por comisión");
System.out.println("Ingrese su nombre");
emp.setNombreE(kai.next());
System.out.println("Gracias"+ asac.getNombreE()+"Ahora, por favor ingrese monto total de ventas que ha tenido.");
System.out.println("►");emp.getTVendido();
emp.Pago();
break;
case 3: System.out.println("Ha escogido la opción de empleado por comisión");
System.out.println("Ingrese su nombre");
System.out.println("►");com.setNombreE(kai.next());
System.out.println("Gracias"+ asac.getNombreE()+"Ahora, por favor ingrese monto total de ventas que ha tenido.");
System.out.println("►");com.getTVendido();
emp.Pago();
break;
case 4:System.out.println("Ha escogido la opción de empleado por horas");
System.out.println("Ingrese su nombre");
System.out.println("►");h.setNombreE(kai.next());
System.out.println("Gracias"+ h.getNombreE()+"Ahora, por favor ingrese el número de horas que ha trabajado.");
System.out.println("►");emp.getHorast();
emp.Pago();
break;
case 5: System.out.print("Muchas gracias, por favor vuelva pronto y no gaste muy rápido su sueldo >u●");
Again=false;
break;
default: System.out.println("Esa opción no es correcta, por favor digite otra");
}
}
}
}

Eso es todo, muchas gracias por ver y si encuentra algún error, por favor deje la solución respetuosamente en los comentarios.



No hay comentarios.:

Publicar un comentario