Untitled
unknown
plain_text
9 months ago
5.8 kB
6
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() const;
};
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<<".----------------------------.\n"
<<"| Datos del empleado |\n"
<<".----------------------------.\n"
<<" \n\n"
<<"ID: " << ID_Empleado <<endl
<<"Tasa salarial: "<<fixed<<setprecision(2)<<TasaSal<<endl
<<"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;
}
void mostrarDatosEmpleado(Empleado& empleado1, Empleado& empleado2, Empleado& empleado3) {
int idMostrar;
cout << "�De cu�l empleado est� interesado en ver sus datos? (1, 2 o 3): ";
cin >> idMostrar;
if (idMostrar == 1 && empleado1.getId() != 0) {
empleado1.MostrarDatos();
} else if (idMostrar == 2 && empleado2.getId() != 0) {
empleado2.MostrarDatos();
} else if (idMostrar == 3 && empleado3.getId() != 0) {
empleado3.MostrarDatos();
} else {
cout << "Empleado no encontrado o vac�o.\n";
}
}
int main() {
setlocale(LC_CTYPE, "spanish");
Empleado empleado1, empleado2, empleado3;
int opcion;
bool continuar = true;
cout<< ".------------------------------------------------------------------------------.\n"
<< "| �Bienvenido! Este programa le permite almacenar los datos de sus empleados |\n"
<< "'------------------------------------------------------------------------------'\n"<< endl;
while (continuar) {
cout << ".------------------------------------------.\n"
<< "| MEN� |\n"
<< "| Elija una opci�n dependiendo del n�mero |\n"
<< ".------------------------------------------.\n"
<< "|[1]. Agregar empleado. |\n"
<< "|[2]. Modificar datos del empleado. |\n"
<< "|[3]. Eliminar empleado. |\n"
<< "|[4]. Mostrar datos del empleado. |\n"
<< "|[5]. Salir. |\n"
<< ".------------------------------------------.\n"
<< " \n\n"
<< " 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: {
mostrarDatosEmpleado(empleado1, empleado2, empleado3);
break;
}
case 5:
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