• Lenguaje

    C

  • Descripción

    Tomando como base los resultados obtenidos en un laboratorio de análisis clínicos, un médico determina si una persona tiene anemia o no, lo cual depende de su nivel de hemoglobina en la sangre, de su edad y de su sexo. Si el nivel de hemoglobina que tiene una persona es menor que el rango que le corresponde, se determina su resultado como positivo y en caso contrario como negativo. La tabla en la que el medico se basa para obtener el resultado es la siguiente:
    Edad | Nivel de hemoglobina
    0 - 1 mes | 13 - 26 g%
    1 y <= 6 meses | 10 - 18 g%
    6 y <= 12 meses | 11 - 15 g%
    1 y <= 5 años | 11.5 - 15 g%
    5 y <= 10 años | 12.6 - 15.5 g%
    10 y <= 15 años | 13 - 15.5 g%

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

int main (void)
{
    float edad_en_meses, nivel_de_hemoglobina, rango_menor;
    printf ("Ingresa el valor de edad en meses: ");
    scanf ("%f", &edad_en_meses);
    (void) getchar ();
    printf ("Ingresa el valor de nivel de hemoglobina: ");
    scanf ("%f", &nivel_de_hemoglobina);
    (void) getchar ();
    rango_menor=0;
    if(edad_en_meses<=1)
        rango_menor=13;
    if(edad_en_meses>1&&edad_en_meses<=6)
        rango_menor=10;
    if(edad_en_meses>6&&edad_en_meses<=12)
        rango_menor=11;
    if(edad_en_meses>12&&edad_en_meses<=60)
        rango_menor=11.5;
    if(edad_en_meses>30&&edad_en_meses<=120)
        rango_menor=12.6;
    if(edad_en_meses>120&&edad_en_meses<=180)
        rango_menor=13;
    if(nivel_de_hemoglobina<rango_menor)
        printf ("Positivo en anemia\n");
    else
        printf ("Negativo en anemia\n");
    printf ("Valor de rango menor: %g\n", rango_menor);
    putchar ('\n');
    system ("pause");
    return EXIT_SUCCESS;
}