Elaborar un algoritmo que entre el nombre de un empleado, su salario básico por hora y el número de horas trabajadas en el mes; escriba su nombre y salario mensual si éste es mayor de $450.000, de lo contrario escriba sólo el nombre.
#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 Numero (Instanciaciación)
Empleado *obj = new Empleado();
// declaro una variable llamada nombre de tipo string
string nombre;
// declaro dos variable llamadas v_hora y horas_t de tipo int
int v_hora, horas_t;
// se pide al usuario que ingrese el nombre del empleado
cout << "Digite nombre del empleado: ";
// se guarda el dato en la variable nombre
cin >> nombre;
// encapsulamos la variable nombre
obj->setNombre(nombre);
// se pide al usuario que ingrese el valor de la hora
cout << "Digite valor de la hora: ";
// se guarda el dato en la variable v_hora
cin >> v_hora;
// encapsulamos la variable v_hora
obj->setValorHora(v_hora);
// pedimos al usuario que ingrese numero de horas que trabajo
cout << "Digite horas trabajadas: ";
// guardamos el dato en la variable horas_t
cin >> horas_t;
// encapsulamos la variable horas_t
obj->setHoras(horas_t);
// si el salario mensual es mayor a 450000
if (obj->salarioMensual() > 450000)
{
// entonces mostrara el nombre del empleado y el salario mensual
cout << "Empleado: " << obj->getNomre() << endl;
cout << "Salario mensual: " << obj->salarioMensual() << endl;
}
else
{
// sino, solo mostrara el nombre del empleado
cout << "Empleado: " << obj->getNomre() << endl;
}
}
#ifndef EMPLEADO_H
#define EMPLEADO_H
#include <iostream>
using namespace std;
class Empleado
{
public:
Empleado();
virtual ~Empleado();
// declaramos los metodos publicos
void setNombre(string val);
string getNomre();
void setValorHora(int val);
int getValorHora();
void setHoras(int val);
int getHoras();
int salarioMensual();
protected:
private:
// declaramos los atributos privados
string nombre;
int valor_hora;
int horas;
};
#endif // EMPLEADO_H
#include "Empleado.h"
Empleado::Empleado()
{
// le asignamos valores por defecto a los atributos de la clase Empleado
nombre = "";
valor_hora = 0;
horas = 0;
}
Empleado::~Empleado()
{
//dtor
}
// implementacion de los metodos Setters y Getters de los atributos de la clase Empleado
void Empleado::setNombre(string val)
{
nombre = val;
}
string Empleado::getNomre()
{
return nombre;
}
void Empleado::setValorHora(int val)
{
valor_hora = val;
}
int Empleado::getValorHora()
{
return valor_hora;
}
void Empleado::setHoras(int val)
{
horas = val;
}
int Empleado::getHoras()
{
return horas;
}
// implementacion del metodo para calcular el salario mensual del empleado
int Empleado::salarioMensual()
{
// declaramos una variable y la inicializamos en el valor de la hora por el numero de horas
int salario = getValorHora() * getHoras();
// retornamos el resultado de salario
return salario;
}
// 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 Numero (Instanciaciación)
Empleado obj = new Empleado();
// declaro una variable llamada nombre de tipo string
String nombre;
// declaro dos variable llamadas v_hora y horas_t de tipo int
int v_hora, horas_t;
// se pide al usuario que ingrese el nombre del empleado y guardamos el dato en la variable nombre
nombre = JOptionPane.showInputDialog("Digite nombre del empleado:");
// encapsulamos la variable nombre
obj.setNombre(nombre);
// se pide al usuario que ingrese el valor de la hora y se guarda el dato en la variable v_hora
v_hora = Integer.parseInt(JOptionPane.showInputDialog("Digite valor de la hora:"));
// encapsulamos la variable v_hora
obj.setValorHora(v_hora);
// pedimos al usuario que ingrese numero de horas que trabajo y guardamos el dato en la variable horas_t
horas_t = Integer.parseInt(JOptionPane.showInputDialog("Digite horas trabajadas:"));
// encapsulamos la variable horas_t
obj.setHoras(horas_t);
// si el salario mensual es mayor a 450000
if (obj.salarioMensual() > 450000)
{
// entonces mostrara el nombre del empleado y el salario mensual
JOptionPane.showMessageDialog(null, "Empleado: " + obj.getNombre() + "\nSalario mensual: " + obj.salarioMensual());
}
else
{
// sino, solo mostrara el nombre del empleado
JOptionPane.showMessageDialog(null, "Empleado: " + obj.getNombre());
}
}
}
public class Empleado
{
private String nombre;
private int valor_hora;
private int horas;
public Empleado()
{
// le asignamos valores por defecto a los atributos de la clase Empleado
nombre = "";
valor_hora = 0;
horas = 0;
}
// implementacion de los metodos Setters y Getters de los atributos de la clase Empleado
public void setNombre(String val)
{
nombre = val;
}
public String getNombre()
{
return nombre;
}
public void setValorHora(int val)
{
valor_hora = val;
}
public int getValorHora()
{
return valor_hora;
}
public void setHoras(int val)
{
horas = val;
}
public int getHoras()
{
return horas;
}
// implementacion del metodo para calcular el salario mensual del empleado
public int salarioMensual()
{
// declaramos una variable y la inicializamos en el valor de la hora por el numero de horas
int salario = getValorHora() * getHoras();
// retornamos el resultado de salario
return salario;
}
}