• Lenguaje

    C

  • Descripción

    La compañía ABC otorga por una sola vez al año, una bonificación a sus empleados. Se requiere determinar la bonificación que un trabajador recibe, si esta se le asigna como un porcentaje de su salario mensual que depende de su antigüedad en la empresa de acuerdo con la siguiente tabla:

    Tiempo | Porcentaje
    Menos de 5 año | 5% del salario
    5 o más años y menos de 10 años | 10% del salario
    10 o más años y menos de 15 años | 15% del salario
    15 o más años y menos de 20 años | 20% del salario
    20 o más años y menos de 25 años | 25% del salario
    25 años o más | 30% del salario

    Además, se desea conocer:
    a. El número de empleados que hay en cada uno de los rangos de tiempo.
    b. El monto total pagado en cada rango de tiempo.
    c. El total de las bonificaciones pagadas a sus empleados.
    d. El porcentaje que representa el número de empleado de cada rango de tiempo respecto al total de empleados.

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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main (void)
{
    int empleados, empleados_en_rango_1, empleados_en_rango_2, empleados_en_rango_3, empleados_en_rango_4;
    int empleados_en_rango_5;
    float antiguedad, bonificacion, empleados_en_rango_6, porcentaje_de_rango_1, porcentaje_de_rango_2;
    float porcentaje_de_rango_3, porcentaje_de_rango_4, porcentaje_de_rango_5, salario_mensual, total_de_bonificaciones;
    float total_pagado_en_rango_1, total_pagado_en_rango_2, total_pagado_en_rango_3, total_pagado_en_rango_4, total_pagado_en_rango_5;
    float total_pagado_en_rango_6;
    char tecla_repetir;
    empleados = 0;
    empleados_en_rango_1 = 0;
    empleados_en_rango_2 = 0;
    empleados_en_rango_3 = 0;
    empleados_en_rango_4 = 0;
    empleados_en_rango_5 = 0;
    porcentaje_de_rango_1 = 0;
    porcentaje_de_rango_2 = 0;
    porcentaje_de_rango_3 = 0;
    porcentaje_de_rango_4 = 0;
    porcentaje_de_rango_5 = 0;
    total_de_bonificaciones = 0;
    total_pagado_en_rango_1 = 0;
    total_pagado_en_rango_2 = 0;
    total_pagado_en_rango_3 = 0;
    total_pagado_en_rango_4 = 0;
    total_pagado_en_rango_5 = 0;
    do {
        system ("cls");
        printf ("Ingresa el valor de antiguedad: ");
        scanf ("%f", &antiguedad);
        (void) getchar ();
        printf ("Ingresa el valor de salario mensual: ");
        scanf ("%f", &salario_mensual);
        (void) getchar ();
        bonificacion=0;
        empleados=empleados+1;
        if(antiguedad<5)
        {
            bonificacion=salario_mensual*0.05;
            empleados_en_rango_1=empleados_en_rango_1+1;
            total_pagado_en_rango_1=total_pagado_en_rango_1+salario_mensual+bonificacion;
        }
        if(antiguedad>=5&&antiguedad<10)
        {
            bonificacion=salario_mensual*0.1;
            empleados_en_rango_2=empleados_en_rango_1+1;
            total_pagado_en_rango_2=total_pagado_en_rango_2+salario_mensual+bonificacion;
        }
        if(antiguedad>=10&&antiguedad<15)
        {
            bonificacion=salario_mensual*0.15;
            empleados_en_rango_3=empleados_en_rango_2+1;
            total_pagado_en_rango_3=total_pagado_en_rango_3+salario_mensual+bonificacion;
        }
        if(antiguedad>=15&&antiguedad<20)
        {
            bonificacion=salario_mensual*0.2;
            empleados_en_rango_4=empleados_en_rango_3+1;
            total_pagado_en_rango_4=total_pagado_en_rango_4+salario_mensual+bonificacion;
        }
        if(antiguedad>=20&&antiguedad<25)
        {
            bonificacion=salario_mensual*0.25;
            empleados_en_rango_5=empleados_en_rango_4+1;
            total_pagado_en_rango_5=total_pagado_en_rango_5+salario_mensual+bonificacion;
        }
        if(antiguedad>=25)
        {
            bonificacion=salario_mensual*0.3;
            empleados_en_rango_6=empleados_en_rango_5+1;
            total_pagado_en_rango_6=total_pagado_en_rango_6+salario_mensual+bonificacion;
        }
        total_de_bonificaciones=total_de_bonificaciones+bonificacion;
        printf ("Valor de bonificacion: %g\n", bonificacion);
        printf ("Valor de empleados en rango 6: %g\n", empleados_en_rango_6);
        printf ("Valor de total pagado en rango 6: %g\n", total_pagado_en_rango_6);
        putchar ('\n');
        printf ("\250Deseas repetir el proceso? (S/N): ");
        do {
            tecla_repetir = (char) getch();
        } while (tecla_repetir!='s' && tecla_repetir!='n' && tecla_repetir!='S' && tecla_repetir!='N');
        putchar ('\n');
    } while (tecla_repetir=='s' || tecla_repetir=='S');
    if (empleados == 0)
    {
        porcentaje_de_rango_1 = 0;
    }
    else
    {
        porcentaje_de_rango_1=100.0*empleados_en_rango_1/empleados;
    }
    if (empleados == 0)
    {
        porcentaje_de_rango_2 = 0;
    }
    else
    {
        porcentaje_de_rango_2=100.0*empleados_en_rango_2/empleados;
    }
    if (empleados == 0)
    {
        porcentaje_de_rango_3 = 0;
    }
    else
    {
        porcentaje_de_rango_3=100.0*empleados_en_rango_3/empleados;
    }
    if (empleados == 0)
    {
        porcentaje_de_rango_4 = 0;
    }
    else
    {
        porcentaje_de_rango_4=100.0*empleados_en_rango_4/empleados;
    }
    if (empleados == 0)
    {
        porcentaje_de_rango_5 = 0;
    }
    else
    {
        porcentaje_de_rango_5=100.0*empleados_en_rango_5/empleados;
    }
    printf ("Valor de empleados: %d\n", empleados);
    printf ("Valor de empleados en rango 1: %d\n", empleados_en_rango_1);
    printf ("Valor de empleados en rango 2: %d\n", empleados_en_rango_2);
    printf ("Valor de empleados en rango 3: %d\n", empleados_en_rango_3);
    printf ("Valor de empleados en rango 4: %d\n", empleados_en_rango_4);
    printf ("Valor de empleados en rango 5: %d\n", empleados_en_rango_5);
    printf ("Valor de porcentaje de rango 1: %f\n", porcentaje_de_rango_1);
    printf ("Valor de porcentaje de rango 2: %f\n", porcentaje_de_rango_2);
    printf ("Valor de porcentaje de rango 3: %f\n", porcentaje_de_rango_3);
    printf ("Valor de porcentaje de rango 4: %f\n", porcentaje_de_rango_4);
    printf ("Valor de porcentaje de rango 5: %f\n", porcentaje_de_rango_5);
    printf ("Valor de total de bonificaciones: %f\n", total_de_bonificaciones);
    printf ("Valor de total pagado en rango 1: %f\n", total_pagado_en_rango_1);
    printf ("Valor de total pagado en rango 2: %f\n", total_pagado_en_rango_2);
    printf ("Valor de total pagado en rango 3: %f\n", total_pagado_en_rango_3);
    printf ("Valor de total pagado en rango 4: %f\n", total_pagado_en_rango_4);
    printf ("Valor de total pagado en rango 5: %f\n", total_pagado_en_rango_5);
    system ("pause");
    return EXIT_SUCCESS;
}