#include <iostream>
#include <vector>
#include <string>
using namespace std;
// Definición de la estructura para representar a un trabajador
struct Trabajador {
string nombre;
int edad;
double salario;
};
// Función para ingresar los detalles de un trabajador
Trabajador ingresarTrabajador() {
Trabajador nuevoTrabajador;
cout << "Ingrese el nombre del trabajador: ";
getline(cin, nuevoTrabajador.nombre);
cout << "Ingrese la edad del trabajador: ";
cin >> nuevoTrabajador.edad;
cout << "Ingrese el salario del trabajador: ";
cin >> nuevoTrabajador.salario;
// Limpiar el buffer después de leer números
cin.ignore();
return nuevoTrabajador;
}
// Función para mostrar los detalles de un trabajador
void mostrarTrabajador(const Trabajador& trabajador) {
cout << "Nombre: " << trabajador.nombre << endl;
cout << "Edad: " << trabajador.edad << " años" << endl;
cout << "Salario: $" << trabajador.salario << endl;
}
int main() {
vector<Trabajador> planilla;
int opcion;
do {
cout << "\nMENÚ DE OPCIONES" << endl;
cout << "1. Agregar trabajador" << endl;
cout << "2. Mostrar planilla" << endl;
cout << "3. Salir" << endl;
cout << "Ingrese su opción: ";
cin >> opcion;
switch (opcion) {
case 1:
planilla.push_back(ingresarTrabajador());
break;
case 2:
cout << "\nPLANILLA DE TRABAJADORES" << endl;
for (const Trabajador& trabajador : planilla) {
mostrarTrabajador(trabajador);
cout << "------------------------" << endl;
}
break;
case 3:
cout << "Saliendo del programa. Hasta luego." << endl;
break;
default:
cout << "Opción no válida. Intente nuevamente." << endl;
}
} while (opcion != 3);
return 0;
}