Valeria Vides

Generation

generate functionMon, 13 Oct 2025

Sistema de nómina Registrar N empleados con nombre, horas y tarifa. Calcular salario neto y total de planilla. sin funcion vector

Aquí te muestro un ejemplo de cómo podrías implementar un sistema de nómina en C++ sin utilizar vectores: ```cpp #include <iostream> #include <string> // Estructura para representar un empleado struct Empleado { std::string nombre; int horasTrabajadas; double tarifa; }; // Clase para representar el sistema de nómina class SistemaDeNomina { private: int numEmpleados; Empleado empleados[100]; // Array para almacenar los empleados public: // Constructor para inicializar el sistema de nómina SistemaDeNomina() : numEmpleados(0) {} // Método para registrar un empleado void registrarEmpleado() { if (numEmpleados < 100) { std::cout << "Ingrese el nombre del empleado: "; std::cin >> empleados[numEmpleados].nombre; std::cout << "Ingrese las horas trabajadas del empleado: "; std::cin >> empleados[numEmpleados].horasTrabajadas; std::cout << "Ingrese la tarifa del empleado: "; std::cin >> empleados[numEmpleados].tarifa; numEmpleados++; } else { std::cout << "No hay espacio para registrar más empleados." << std::endl; } } // Método para calcular el salario neto de un empleado double calcularSalarioNeto(int indice) { if (indice >= 0 && indice < numEmpleados) { double salarioBruto = empleados[indice].horasTrabajadas * empleados[indice].tarifa; double impuestos = salarioBruto * 0.15; // Impuestos del 15% return salarioBruto - impuestos; } else { std::cout << "Empleado no encontrado." << std::endl; return 0; } } // Método para calcular el total de la planilla double calcularTotalPlanilla() { double total = 0; for (int i = 0; i < numEmpleados; i++) { total += calcularSalarioNeto(i); } return total; } // Método para mostrar la información de los empleados void mostrarEmpleados() { for (int i = 0; i < numEmpleados; i++) { std::cout << "Empleado " << i + 1 << ":" << std::endl; std::cout << "Nombre: " << empleados[i].nombre << std::endl; std::cout << "Horas trabajadas: " << empleados[i].horasTrabajadas << std::endl; std::cout << "Tarifa: " << empleados[i].tarifa << std::endl; std::cout << "Salario neto: " << calcularSalarioNeto(i) << std::endl; std::cout << std::endl; } } }; int main() { SistemaDeNomina sistemaDeNomina; while (true) { std::cout << "1. Registrar empleado" << std::endl; std::cout << "2. Calcular salario neto de un empleado" << std::endl; std::cout << "3. Calcular total de la planilla" << std::endl; std::cout << "4. Mostrar información de los empleados" << std::endl; std::cout << "5. Salir" << std::endl; int opcion; std::cin >> opcion; switch (opcion) { case 1: sistemaDeNomina.registrarEmpleado(); break; case 2: { int indice; std::cout << "Ingrese el índice del empleado (0-" << sistemaDeNomina.numEmpleados - 1 << "): "; std::cin >> indice; double salarioNeto = sistemaDeNomina.calcularSalarioNeto(indice); std::cout << "Salario neto: " << salarioNeto << std::endl; break; } case 3: double totalPlanilla = sistemaDeNomina.calcularTotalPlanilla(); std::cout << "Total de la planilla: " << totalPlanilla << std::endl; break; case 4: sistemaDeNomina.mostrarEmpleados(); break; case 5: return 0; default: std::cout << "Opción inválida." << std::endl; } } return 0; } ``` Este código define una clase `SistemaDeNomina` que almacena la información de los empleados en un array. La clase tiene métodos para registrar empleados, calcular el salario neto de un empleado, calcular el total de la planilla y mostrar la información de los empleados. En el `main` se presenta un menú para interactuar con el sistema de nómina. Se pueden registrar empleados, calcular el salario neto de un empleado, calcular el total de la planilla y mostrar la información de los empleados.

Want to kickstart your project?Use the new AI Studio to create your code