• Lenguaje

    C

  • Descripción

    Un empleado posee la siguiente información:
    - Código.
    - Nombres.
    - Número de hijos.
    - Salario por hora.
    - Número de horas trabajadas al mes.
    La retención por cada empleado se determina así:
    - Para salarios menores de $1,000,000: si el número de hijos es mayor de 6 no hay retención; si el número de hijos es menor o igual a 6, se le retiene un porcentaje igual a 6 menos el número de hijos dividido por 2.
    - Para salarios iguales o mayores a $300,000: si el número de hijos es menor de 3, se le retiene un 3%; si el número de hijos es mayor o igual a 3 se le retiene un porcentaje igual a 10 dividido por el número de hijos.
    El subsidio por cada hijo es de $1,200. Elaborar un algoritmo que muestre: código, nombres, devengado, retención, subsidio y total a pagar.

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

int main (void)
{
    float devengado, horas_trabajadas, numero_de_hijos, retencion, salario_por_hora;
    float subsidio, total_a_pagar;
    char codigo[63], nombres[63];
    printf ("Ingresa el codigo: ");
    scanf ("%[^\r\n]", codigo);
    (void) getchar ();
    printf ("Ingresa el nombres: ");
    scanf ("%[^\r\n]", nombres);
    (void) getchar ();
    printf ("Ingresa el valor de horas trabajadas: ");
    scanf ("%f", &horas_trabajadas);
    (void) getchar ();
    printf ("Ingresa el valor de numero de hijos: ");
    scanf ("%f", &numero_de_hijos);
    (void) getchar ();
    printf ("Ingresa el valor de salario por hora: ");
    scanf ("%f", &salario_por_hora);
    (void) getchar ();
    retencion=0;
    devengado=salario_por_hora*horas_trabajadas;
    subsidio=numero_de_hijos*1200;
    if(devengado<1000000&&numero_de_hijos>6)
        retencion=0;
    if(devengado<1000000&&numero_de_hijos<=6)
        retencion=devengado*(6.0-numero_de_hijos/2)/100;
    if(devengado>=300000&&numero_de_hijos<3)
        retencion=devengado*0.03;
    if(devengado>=300000&&numero_de_hijos>=3)
        retencion=devengado/numero_de_hijos/10;
    total_a_pagar=devengado-retencion+subsidio;
    printf ("Codigo: %s\n", codigo);
    printf ("Nombres: %s\n", nombres);
    printf ("Valor de devengado: %g\n", devengado);
    printf ("Valor de retencion: %g\n", retencion);
    printf ("Valor de subsidio: %g\n", subsidio);
    printf ("Valor de total a pagar: %g\n", total_a_pagar);
    putchar ('\n');
    system ("pause");
    return EXIT_SUCCESS;
}