// Examen Calculo de pago semanal de empleados segun tipo
// Gerardo Jose Zelaya Gutierrez
// 15/06/2025
#include <iostream>
int main() {
int codigo;
double pago = 0;
std::cout << "Ingrese el codigo del tipo de empleado (1=Gerente, 2=Por hora, 3=Comision, 4=Destajo, -1 para salir): ";
std::cin >> codigo;
while (codigo != -1) {
switch (codigo) {
case 1: {
double salarioFijo;
std::cout << "Ingrese el salario semanal fijo del gerente: ";
std::cin >> salarioFijo;
pago = salarioFijo;
break;
case 2: {
double horas, tarifa;
std::cout << "Ingrese las horas trabajadas: ";
std::cin >> horas;
std::cout << "Ingrese la tarifa por hora: ";
std::cin >> tarifa;
if (horas <= 40) {
pago = horas * tarifa;
} else {
pago = (40 * tarifa) + ((horas - 40) * tarifa * 1.5);
break;
case 3: {
double ventasBrutas;
std::cout << "Ingrese el monto de ventas brutas: ";
std::cin >> ventasBrutas;
pago = 250 + (ventasBrutas * 0.057);
break;
case 4: {
int cantidadProducida;
double pagoPorArticulo;
std::cout << "Ingrese la cantidad de articulos producidos: ";
std::cin >> cantidadProducida;
std::cout << "Ingrese el pago por cada articulo: ";
std::cin >> pagoPorArticulo;
pago = cantidadProducida * pagoPorArticulo;
break;
default:
std::cout << "Codigo invalido. Intente de nuevo.\n";
pago = 0;
break;
if (codigo >= 1 && codigo <= 4) {
std::cout << "El pago semanal del empleado es: $" << pago << "\n";
std::cout << "\nIngrese el codigo del tipo de empleado (1=Gerente, 2=Por hora, 3=Comision, 4=Destajo, -1 para salir): ";
std::cin >> codigo;
std::cout << "\nPrograma finalizado.\n";
return 0;