Untitled

 avatar
unknown
plain_text
17 days ago
4.0 kB
4
Indexable
#include <iostream>
#include <locale.h>
#include <iomanip>
using namespace std;

class Empleado {
private:
    int ID_Empleado, HorasMax;
    float TasaSal;

public:
    Empleado(int = 0, float = 0.0, int = 0);
    void SetCambiar(float, int);
    void MostrarDatos();
    void IntroducirDatos();
    void modificarEmpleado();
    bool eliminarEmpleado(int id);
    int getId();
};

Empleado::Empleado(int ID, float TasaSala, int HorasMaxi) {
    ID_Empleado = ID;
    TasaSal = TasaSala;
    HorasMax = HorasMaxi;
}

void Empleado::IntroducirDatos() {
    cout << "Introduzca el ID del empleado: "; cin >> ID_Empleado;
    cout << "Introduzca la tasa salarial del empleado: "; cin >> TasaSal;
    cout << "Introduzca el n�mero m�ximo de horas que trabaja el empleado cada semana: "; cin >> HorasMax;
}

void Empleado::SetCambiar(float nuevaTasa, int nuevasHoras) {
    TasaSal = nuevaTasa;
    HorasMax = nuevasHoras;
}

void Empleado::MostrarDatos() {
    cout << "ID: " << ID_Empleado << endl;
    cout << "Tasa salarial: " << fixed << setprecision(2) << TasaSal << endl;
    cout << "N�mero m�ximo de horas: " << HorasMax << endl;
}

void Empleado::modificarEmpleado() {
    float nuevaTasa;
    int nuevasHoras;
    cout << "Ingrese la nueva tasa salarial: "; cin >> nuevaTasa;
    cout << "Ingrese el nuevo n�mero de horas m�ximas: "; cin >> nuevasHoras;
    SetCambiar(nuevaTasa, nuevasHoras);
}

bool Empleado::eliminarEmpleado(int id) {
    if (getId() == id) {
        ID_Empleado = 0;
        TasaSal = 0.0;
        HorasMax = 0;
        return true;
    }
    return false;
}

int Empleado::getId() const {
    return ID_Empleado;
}

int main() {
    setlocale(LC_CTYPE, "spanish");
    Empleado empleado1, empleado2, empleado3;
    int opcion;
    bool continuar = true; 

    while (continuar) { 
        cout << "\nMen�:\n";
        cout << "[1]. Agregar empleado\n";
        cout << "[2]. Modificar datos de empleado\n";
        cout << "[3]. Eliminar empleado\n";
        cout << "[4]. Salir\n";
        cout << "Ingrese su opci�n: ";
        cin >> opcion;

        switch (opcion) {
        case 1: {
            if (empleado1.getId() == 0) {
                empleado1.IntroducirDatos();
            } else if (empleado2.getId() == 0) {
                empleado2.IntroducirDatos();
            } else if (empleado3.getId() == 0) {
                empleado3.IntroducirDatos();
            } else {
                cout << "No se pueden agregar m�s empleados. L�mite alcanzado.\n";
            }
            break;
        }
        case 2: {
            int idModificar;
            cout << "Ingrese el ID del empleado a modificar: ";
            cin >> idModificar;
            if (empleado1.getId() != 0 && empleado1.getId() == idModificar) {
                empleado1.modificarEmpleado();
            } else if (empleado2.getId() != 0 && empleado2.getId() == idModificar) {
                empleado2.modificarEmpleado();
            } else if (empleado3.getId() != 0 && empleado3.getId() == idModificar) {
                empleado3.modificarEmpleado();
            } else {
                cout << "Empleado no encontrado.\n";
            }
            break;
        }
        case 3: {
            int idEliminar;
            cout << "Ingrese el ID del empleado a eliminar: ";
            cin >> idEliminar;
            if (empleado1.getId() != 0 && empleado1.eliminarEmpleado(idEliminar)) {
            } else if (empleado2.getId() != 0 && empleado2.eliminarEmpleado(idEliminar)) {
            } else if (empleado3.getId() != 0 && empleado3.eliminarEmpleado(idEliminar)) {
        	} else {
                cout << "Empleado no encontrado.\n";
            }
            break;
        }
        case 4:
            cout << "Saliendo del programa...\n";
            continuar = false; 
            break;
        default:
            cout << "Opci�n no v�lida. Intente de nuevo.\n";
        }
    }

    return 0;
}

Editor is loading...
Leave a Comment