Ayudenmeeeeee plissssssss
Publicado por liz (2 intervenciones) el 20/10/2001 22:24:09
necesito un programa de nomina en c.
por favor mandenme ayuda.
por favor mandenme ayuda.
Valora esta pregunta


0
#include <stdio.h>
#define MAX_EMPLEADOS 100
struct Empleado {
char nombre[50];
float salarioBase;
float horasExtra;
float salarioTotal;
};
void calcularSalario(struct Empleado *emp) {
const float tarifaHoraExtra = 1.5; // Tarifa por hora extra
emp->salarioTotal = emp->salarioBase + (emp->horasExtra * (emp->salarioBase / 40) * tarifaHoraExtra);
}
void mostrarNomina(struct Empleado emp[], int numEmpleados) {
printf("\n--- Nómina ---\n");
printf("Nombre\t\tSalario base\tHoras extra\tSalario total\n");
for (int i = 0; i < numEmpleados; i++) {
printf("%s\t\t%.2f\t\t%.2f\t\t%.2f\n", emp[i].nombre, emp[i].salarioBase, emp[i].horasExtra, emp[i].salarioTotal);
}
}
int main() {
struct Empleado empleados[MAX_EMPLEADOS];
int numEmpleados = 0;
char continuar;
do {
if (numEmpleados >= MAX_EMPLEADOS) {
printf("Se ha alcanzado el número máximo de empleados.\n");
break;
}
printf("Ingrese el nombre del empleado: ");
scanf("%s", empleados[numEmpleados].nombre);
printf("Ingrese el salario base: ");
scanf("%f", &empleados[numEmpleados].salarioBase);
printf("Ingrese las horas extra: ");
scanf("%f", &empleados[numEmpleados].horasExtra);
calcularSalario(&empleados[numEmpleados]);
numEmpleados++;
printf("¿Desea agregar otro empleado? (s/n): ");
scanf(" %c", &continuar);
} while (continuar == 's' || continuar == 'S');
mostrarNomina(empleados, numEmpleados);
return 0;
}
gcc nomina.c -o nomina
./nomina