• Lenguaje

    C

  • Descripción

    En una empresa se requiere calcular el salario semanal de cada uno de los n obreros que laboran en ella. El salario se obtiene de la sig. Forma: Si el obrero trabaja 48 horas o menos se le paga al valor normal por hora; Si trabaja más de 48 horas y menos de 60 horas, se le paga el valor normal por cada una de las primeras 48 horas y las restantes se pagan con un incremento del 35% sobre el valor de la hora normal; en caso contrario se le paga el valor normal por cada una de las primeras 48 horas, las siguientes 8 horas se le pagan con un incremento del 35% sobre el valor de la hora normal y las restantes se pagan con un incremento del 45% sobre el valor de la hora normal. Adicional a esto también se le debe decir al gerente cuanto pago en la nómina total y cuantos trabajadores trabajaron más de 60 horas, cuántos trabajaron más de 48 horas y menos de 61.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
    int i, n, trabajadores_60_o_mas, trabajadores_entre_48_y_61;
    float horas_trabajadas, nomina_total, pago_por_hora, salario_semanal;
    trabajadores_60_o_mas = 0;
    trabajadores_entre_48_y_61 = 0;
    nomina_total = 0;
    printf ("Ingresa el valor de n: ");
    scanf ("%d", &n);
    (void) getchar ();
    for (i=1; i<=n; i++)
    {
        printf ("PROCESO %d\n", i);
        printf ("Ingresa el valor de horas trabajadas: ");
        scanf ("%f", &horas_trabajadas);
        (void) getchar ();
        printf ("Ingresa el valor de pago por hora: ");
        scanf ("%f", &pago_por_hora);
        (void) getchar ();
        salario_semanal=pago_por_hora*horas_trabajadas;
        if(horas_trabajadas>48)
            salario_semanal=salario_semanal+pago_por_hora*(horas_trabajadas-48)*0.35;
        if(horas_trabajadas>=60)
            salario_semanal=salario_semanal+pago_por_hora*(horas_trabajadas-60)*0.1;
        nomina_total=nomina_total+salario_semanal;
        if(horas_trabajadas>=60)
            trabajadores_60_o_mas=trabajadores_60_o_mas+1;
        if(horas_trabajadas>48&&horas_trabajadas<61)
            trabajadores_entre_48_y_61=trabajadores_entre_48_y_61+1;
        printf ("Valor de salario semanal: %g\n", salario_semanal);
        putchar ('\n');
    }
    printf ("Valor de trabajadores 60 o mas: %d\n", trabajadores_60_o_mas);
    printf ("Valor de trabajadores entre 48 y 61: %d\n", trabajadores_entre_48_y_61);
    printf ("Valor de nomina total: %f\n", nomina_total);
    system ("pause");
    return EXIT_SUCCESS;
}