Generation

generate functionTue, 03 Dec 2024

ejercicio 3: Una empresa les paga a sus empleados con base en las horas trabajadas en la semana. Realice un algoritmo para determinar el sueldo semanal de N trabajadores y, además, calcule cuánto pagó la empresa por los N empleados.

**Ejercicio 3: Calcular sueldo semanal de N trabajadores** ### Descripción del problema Una empresa paga a sus empleados con base en las horas trabajadas en la semana. Se requiere desarrollar un algoritmo en C++ para determinar el sueldo semanal de N trabajadores y calcular cuánto pagó la empresa por los N empleados. ### Solución ```cpp #include <iostream> #include <vector> // Estructura para representar un trabajador struct Trabajador { std::string nombre; int horasTrabajadas; double tarifaPorHora; }; // Función para calcular el sueldo semanal de un trabajador double calcularSueldo(Trabajador trabajador) { return trabajador.horasTrabajadas * trabajador.tarifaPorHora; } // Función para calcular el total pagado por la empresa double calcularTotalPagado(const std::vector<Trabajador>& trabajadores) { double total = 0; for (const auto& trabajador : trabajadores) { total += calcularSueldo(trabajador); } return total; } int main() { int numTrabajadores; std::cout << "Ingrese el número de trabajadores: "; std::cin >> numTrabajadores; std::vector<Trabajador> trabajadores(numTrabajadores); for (int i = 0; i < numTrabajadores; ++i) { std::cout << "Ingrese el nombre del trabajador " << i + 1 << ": "; std::cin.ignore(); // Ignorar el salto de línea std::getline(std::cin, trabajadores[i].nombre); std::cout << "Ingrese las horas trabajadas por " << trabajadores[i].nombre << ": "; std::cin >> trabajadores[i].horasTrabajadas; std::cout << "Ingrese la tarifa por hora de " << trabajadores[i].nombre << ": "; std::cin >> trabajadores[i].tarifaPorHora; } double totalPagado = calcularTotalPagado(trabajadores); std::cout << "Sueldos semanales de los trabajadores:" << std::endl; for (const auto& trabajador : trabajadores) { std::cout << trabajador.nombre << ": $" << calcularSueldo(trabajador) << std::endl; } std::cout << "Total pagado por la empresa: $" << totalPagado << std::endl; return 0; } ``` ### Explicación 1. Se define una estructura `Trabajador` para representar a cada trabajador, con atributos `nombre`, `horasTrabajadas` y `tarifaPorHora`. 2. Se implementa la función `calcularSueldo` para calcular el sueldo semanal de un trabajador a partir de sus horas trabajadas y tarifa por hora. 3. Se implementa la función `calcularTotalPagado` para calcular el total pagado por la empresa a partir de los sueldos semanales de todos los trabajadores. 4. En el `main`, se solicita al usuario el número de trabajadores y se almacenan sus datos en un vector de `Trabajador`. 5. Se calcula el total pagado por la empresa utilizando la función `calcularTotalPagado`. 6. Se imprime el sueldo semanal de cada trabajador y el total pagado por la empresa. ### Ejemplo de uso Ingrese el número de trabajadores: 3 Ingrese el nombre del trabajador 1: Juan Ingrese las horas trabajadas por Juan: 40 Ingrese la tarifa por hora de Juan: 20 Ingrese el nombre del trabajador 2: María Ingrese las horas trabajadas por María: 35 Ingrese la tarifa por hora de María: 25 Ingrese el nombre del trabajador 3: Pedro Ingrese las horas trabajadas por Pedro: 45 Ingrese la tarifa por hora de Pedro: 30 Sueldos semanales de los trabajadores: Juan: $800 María: $875 Pedro: $1350 Total pagado por la empresa: $3025

Questions about programming?Chat with your personal AI assistant