• Lenguaje

    C

  • Descripción

    Algoritmo que permite leer los siguientes datos de un trabajador: Nombre, edad, salario y dirección.
    Escriba los aumentos salariales y nuevos salarios de los trabajadores, de acuerdo a las siguientes condiciones:
    - Trabajadores mayores de 40 años y con salario menor a $10,000 serán clase 1.
    - Trabajadores mayores de 50 años o con salario entre $10,000 y $25,000 serán clase 2
    - Clase 0 , cualquier trabajador que no cumpla ninguna de las condiciones anteriores.
    De acuerdo a la clase que pertenezca el trabajador, recibirá el siguiente beneficio:
    - Clase 1, recibirá un aumento del 15%, si además vive en Coatzacoalcos o Minatitlán, recibe un bono extra de aumento de $500.
    - Clase 2, recibirá un aumento del 25%, si además vive en Coatzacoalcos o Minatitlán, recibe un bono extra de aumento de $700.
    - Clase 0, recibirá un aumento del 3%.

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

int main (void)
{
    int residencia;
    float aumento, bono_extra, clase, edad, nuevo_salario;
    float salario;
    char nombre[63], direccion[63];
    char tecla_repetir;
    do {
        system ("cls");
        printf ("Ingresa el nombre: ");
        scanf ("%[^\r\n]", nombre);
        (void) getchar ();
        printf ("Ingresa el direccion: ");
        scanf ("%[^\r\n]", direccion);
        (void) getchar ();
        printf ("Ingresa el valor de edad: ");
        scanf ("%f", &edad);
        (void) getchar ();
        printf ("Ingresa el valor de salario: ");
        scanf ("%f", &salario);
        (void) getchar ();
        aumento=0;
        bono_extra=0;
        clase=0;
        printf ("Selecciona el valor de residencia.\n");
        printf ("\t1.- Acayucan\n");
        printf ("\t2.- Coatzacoalcos\n");
        printf ("\t3.- C\242rdoba\n");
        printf ("\t4.- Minatitl\240n\n");
        printf ("\t5.- Orizaba\n");
        printf ("\t6.- Poza Rica\n");
        printf ("\t7.- Veracruz\n");
        printf ("\t8.- Xalapa\n");
        printf ("\t: ");
        do {
            scanf ("%d", &residencia);
            (void) getchar ();
            if (residencia<1||residencia>8)
                printf ("Valor incorrecto. Ingr\202salo nuevamente.: ");
        } while (residencia<1||residencia>8);
        if(edad>40&&salario<10000)
            clase=1;
        if(edad>50&&salario>=10000&&salario<=25000)
            clase=2;
        if(clase==0)
            aumento=salario*0.03;
        if(clase==1)
            aumento=salario*0.15;
        if(clase==1&&(residencia==2||residencia==4))
            bono_extra=500;
        if(clase==2)
            aumento=salario*0.25;
        if(clase==2&&(residencia==2||residencia==4))
            bono_extra=700;
        nuevo_salario=salario+aumento+bono_extra;
        printf ("Nombre: %s\n", nombre);
        printf ("Direccion: %s\n", direccion);
        printf ("Valor de aumento: %g\n", aumento);
        printf ("Valor de bono extra: %g\n", bono_extra);
        printf ("Valor de clase: %g\n", clase);
        printf ("Valor de nuevo salario: %g\n", nuevo_salario);
        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');
    return EXIT_SUCCESS;
}