Lenguaje C
Descripción Dados los siguientes datos de una persona: Nombre, Sexo, Estado Civil, Salario Base = $5000 y Número de Hijos, determinar el bono al que se hace acreedor dicha persona, tomando en cuenta lo siguiente:
a. Si es mujer y está soltera, recibirá un bono correspondiente al 12% del salario base.
b. Si es mujer, está casada y tiene hijos, recibirá un bono correspondiente al 17% del salario base.
c. Si es mujer, tiene hijos y es madre soltera, recibirá un bono correspondiente al 20% del salario base.
d. Si es hombre y está soltero, recibirá un bono correspondiente al 12% del salario base.
e. Si es hombre, está casado y tiene hijos, recibirá un bono correspondiente al 17% del salario base.
f. Si es hombre, tiene hijos y es padre soltero, recibirá un bono correspondiente al 20% del salario base.
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
#include <stdio.h>
#include <stdlib.h>

int main (void)
{
    int estado_civil, sexo;
    float bono, numero_de_hijos, salario_base;
    char nombre[63];
    printf ("Ingrese el nombre: ");
    scanf ("%[^\r\n]", nombre);
    getchar ();
    printf ("Ingrese el valor de numero de hijos: ");
    scanf ("%f", &numero_de_hijos);
    printf ("Seleccione el valor de sexo.\n");
    printf ("\t1.- Hombre\n");
    printf ("\t2.- Mujer\n");
    printf ("\t: ");
    do {
        scanf ("%d", &sexo);
        if (sexo<1||sexo>2)
            printf ("Valor incorrecto. Ingr\202selo nuevamente.: ");
    } while (sexo<1||sexo>2);
    printf ("Seleccione el valor de estado civil.\n");
    printf ("\t1.- Soltero\n");
    printf ("\t2.- Casado\n");
    printf ("\t: ");
    do {
        scanf ("%d", &estado_civil);
        if (estado_civil<1||estado_civil>2)
            printf ("Valor incorrecto. Ingr\202selo nuevamente.: ");
    } while (estado_civil<1||estado_civil>2);
    salario_base=5000;
    bono=0;
    if(estado_civil==1&&numero_de_hijos==0)
        bono=salario_base*0.12;
    if(estado_civil==2&&numero_de_hijos>0)
        bono=salario_base*0.17;
    if(estado_civil==1&&numero_de_hijos>0)
        bono=salario_base*0.2;
    printf ("Nombre: %s\n", nombre);
    printf ("Valor de bono: %g\n", bono);
    printf ("Valor de salario base: %g\n", salario_base);
    putchar ('\n');
    system ("pause");
    return EXIT_SUCCESS;
}