Un empleado trabaja 48 horas en la semana a razón de $5.000 hora. El porcentaje de retención en la fuente es del 12,5% del salario bruto. Se desea saber cuál es el salario bruto, la retención en la fuente y el salario neto del trabajador.
#include <iostream>
// se incluye la clase Empleado para despues llamar a sus metodos
#include "Empleado.h"
using namespace std;
int main(void)
{
// se crea un objeto de la clase Empleado (Instanciaciación)
Empleado *obj = new Empleado();
// se imprime en pantalla el salario bruto.
cout << "Salario bruto: $" << obj->salarioBruto() << endl;
// se imprime en pantalla la retencion en fuente.
cout << "Retencion en Fuente: $" << obj->retencionEnFuente() << endl;
// se imprime en pantalla el salario neto.
cout << "Salario neto: $" << obj->salarioNeto() << endl;
}
#ifndef EMPLEADO_H
#define EMPLEADO_H
class Empleado
{
public:
Empleado();// metodo constructor
virtual ~Empleado();// metodo destructor
// se definen los metodos publicos para calcular el salario bruto,
// retencion en la fuente y el salario neto.
int salarioBruto();
int retencionEnFuente();
double salarioNeto();
protected:
private:
// se definen los atributos privados
int h_trabajadas;// horas trabajadas por el empleado de tipo entero
int v_hora;// valor de la hora de tipo entero
double r_fuente;// retención en la fuente de tipo double
};
#endif // EMPLEADO_H
#include "Empleado.h"
// se le asignan los siguientes valores al constructor de la clase Empleado
Empleado::Empleado()
{
h_trabajadas = 48;// numero de horas trabajadas (48)
v_hora = 5000;// valor de la hora (5000)
r_fuente = 0.125;// porcentaje de la retención en la fuente (12.5%)
}
Empleado::~Empleado()
{
//dtor
}
// implementacion del metodo salarioBruto()
int Empleado::salarioBruto()
{
// el salario bruto es igual al número de horas trabajadas por el valor de la hora.
return h_trabajadas * v_hora;// se retorna el resultado
}
// implementacion del metodo retencionEnFuente()
int Empleado::retencionEnFuente()
{
// la retención en la fuente es igual al salario bruto por el porcentaje
// de retención en la fuente.
return salarioBruto() * r_fuente;// se retorna el resultado
}
// implementacion del metodo salarioNeto()
double Empleado::salarioNeto()
{
// el salario neto es igual al salario bruto menos la retencion en la fuente
return salarioBruto() - retencionEnFuente();// se retorna el resultado
}
// se importa paquete "JOptionPane" para dibujar un cuadro de dialogo en pantalla
// que muestre información o para llenar información.
import javax.swing.JOptionPane;
public class Main
{
public static void main(String[] args)
{
// se crea un objeto de la clase Empleado (Instanciaciación)
Empleado obj = new Empleado();
// se muestra un mensaje de dialogo con el salario bruto.
JOptionPane.showMessageDialog(null, "Salario bruto: $" + obj.salarioBruto());
// se muestra un mensaje de dialogo con la retención en la fuente.
JOptionPane.showMessageDialog(null, "Retención en la Fuente: $" + obj.retencionEnFuente());
// se muestra un mensaje de dialogo con el salario neto.
JOptionPane.showMessageDialog(null, "Salario Neto: $" + obj.salarioNeto());
}
}
public class Empleado
{
// se definen los atributos privados
private int h_trabajadas;// horas trabajadas por el empleado de tipo entero
private int v_hora;// valor de la hora de tipo entero
private double r_fuente;// retención en la fuente de tipo double
// Se le asignan los siguientes valores al constructor de la clase Empleado
public Empleado()
{
h_trabajadas = 48;// numero de horas trabajadas (48)
v_hora = 5000;// valor de la hora (5000)
r_fuente = 0.125;// porcentaje de la retención en la fuente (12.5%)
}
// implementacion del metodo salarioBruto()
public int salarioBruto()
{
// el salario bruto es igual al número de horas trabajadas por el
//valor de la hora.
return h_trabajadas * v_hora;// se retorna el resultado
}
// implementacion del metodo retencionEnFuente()
public double retencionEnFuente()
{
// la retención en la fuente es igual al salario bruto por el porcentaje
//de retención en la fuente.
return salarioBruto() * r_fuente; // se retorna el resultado
}
// implementacion del metodo salarioNeto()
public double salarioNeto()
{
// el salario neto es igual al salario bruto menos la retencion en la fuente
return salarioBruto() - retencionEnFuente(); // se retorna el resultado
}
}