• Lenguaje

    C

  • Descripción

    En una empresa se registran los siguientes datos de sus N empleados: remuneración fija, estado civil (soltero o casado) y años de servicio, se solicita calcular:
    a) El sueldo final, sabiendo que todos reciben su remuneración fija más la bonificación que se indica en la tabla:
    Años de servicio | % de Bonificación sobre la remuneración fija
    0 – 10 | 3%
    11 - más | 7%
    b) El menor número de años de servicio de los solteros.
    c) El menor número de años de servicio de los casados.

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
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
    int estado_civil, i, menor_casados, menor_solteros, n;
    float anos_de_servicio, bonificacion, remuneracion_fija, sueldo_final;
    menor_casados = 0;
    menor_solteros = 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 anos de servicio: ");
        scanf ("%f", &anos_de_servicio);
        (void) getchar ();
        printf ("Ingresa el valor de remuneracion fija: ");
        scanf ("%f", &remuneracion_fija);
        (void) getchar ();
        printf ("Selecciona el valor de estado civil.\n");
        printf ("\t1.- Soltero\n");
        printf ("\t2.- Casado\n");
        printf ("\t: ");
        do {
            scanf ("%d", &estado_civil);
            (void) getchar ();
            if (estado_civil<1||estado_civil>2)
                printf ("Valor incorrecto. Ingr\202salo nuevamente.: ");
        } while (estado_civil<1||estado_civil>2);
        if(anos_de_servicio<11)
            bonificacion=remuneracion_fija*0.03;
        else
            bonificacion=remuneracion_fija*0.07;
        sueldo_final=remuneracion_fija+bonificacion;
        if(estado_civil==1&&(i==1||menor_solteros>anos_de_servicio))
            menor_solteros=anos_de_servicio;
        if(estado_civil==2&&(i==1||menor_casados>anos_de_servicio))
            menor_casados=anos_de_servicio;
        printf ("Valor de bonificacion: %g\n", bonificacion);
        printf ("Valor de sueldo final: %g\n", sueldo_final);
        putchar ('\n');
    }
    printf ("Valor de menor casados: %d\n", menor_casados);
    printf ("Valor de menor solteros: %d\n", menor_solteros);
    system ("pause");
    return EXIT_SUCCESS;
}