11/13/2016

Ejercicio 33

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;
    }
}