// Génesis M. Ojeda Rosa
#include <stdio.h>
#include <stdlib.h> // Biblioteca para abs
#define CONST_SEG_SOCIAL 0.0665
// Declaración de funcion
double deduccion(double sueldo_bruto);
// variables
double sueldo_hora, sueldo_bruto, desc_seg_soc, sueldo_neto;
int horas_trab, overtime = 0, repetir = 1, limite_horas = 50;
int main() {
while(repetir == 1){
do {
printf("Ingrese las horas trabajadas: ");
scanf("%d", &horas_trab);
horas_trab = abs(horas_trab);
if (horas_trab < 1) {
printf("Por favor, ingrese horas mayor a 0.\n");
}
else if (horas_trab >= limite_horas){
printf("Favor de ingresar horas mayores a 0 y menores a %d", limite_horas);
}
} while (horas_trab < 1 || horas_trab >= limite_horas); // Validación de horas trabajadas
do {
printf("Ingrese el sueldo por hora: ");
scanf("%lf", &sueldo_hora);
sueldo_hora = abs(sueldo_hora);
if (sueldo_hora < 1) {
printf("Por favor, ingrese un sueldo por hora mayor a 0.\n");
}
} while (sueldo_hora < 1); // Validación de sueldo por hora
// Calcular horas extra
if (horas_trab > 40) {
overtime = (horas_trab - 40) * 2 * sueldo_hora;
} else {
overtime = 0;
}
// Calcular sueldo bruto
sueldo_bruto = (horas_trab * sueldo_hora) + overtime;
// Llamada a la función deducción
desc_seg_soc = deduccion(sueldo_bruto);
// Calcular sueldo neto
sueldo_neto = sueldo_bruto - desc_seg_soc;
printf("Las horas trabajadas son: %d horas con un overtime de %d horas, un descuento de seguro social de %.2lf, y un sueldo_bruto de %.2lf y de un sueldo neto de %.2lf.\n", horas_trab, overtime, desc_seg_soc, sueldo_bruto, sueldo_neto);
do {
printf("¿Desea ingresar otra persona? 1 = sí, 2 = no: ");
scanf("%d", &repetir);
if (repetir != 1 && repetir != 2) {
printf("Por favor, ingresar 1 o 2.\n");
}
} while (repetir != 1 && repetir != 2); // Validación de repetir
}
return 0;
}
// Definición de la función
double deduccion(double sueldo_bruto) {
return sueldo_bruto * CONST_SEG_SOCIAL;
}