Как составить вывод для каждого l oop in C - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь объединить все выходы вместе в этой программе, используя только циклы basi c.

#include <stdio.h>
main ()
{
    int n, i, age, hypo=0, mild=0, normal=0, mildhigh=0, modhigh=0, hyper=0, sp, dp ;
    printf("Number of patients = ");
    scanf("%d", &n);
    for (i=1; i<n+1; i++)
    {
        printf("What is the age? = \n");
        scanf("%d", &age);
        printf("Diastolic Pressure =\n");
        scanf("%d", &dp);
        printf("Systolic Pressure = \n");
        scanf("%d", &sp);
            if (dp>=35 && dp<=59 && sp>=50 && sp<=89)
            {
                    printf("\n                 Analysis  of Health Status                   \n");
                    printf("Age          DP in mmHg      SP in mmHg          Health Status   \n");
                    printf ("%d               %d            %d                 Hypotension\n", age, dp, sp);
                    hypo++;
            }
            else if (dp>=60 && dp<=69 && sp>=90 && sp<=99)
            {       
                    printf("\n                   Analysis  of Health Status                   \n"); 
                    printf("Age          DP in mmHg      SP in mmHg          Health Status   \n");
                    printf ("%d               %d            %d                 Mild Low\n", age, dp, sp);
                    mild++; 
            }
            else if (dp>=70 && dp<=84 && sp>=100 && sp<=129)
            {
                    printf("\n                   Analysis  of Health Status                   \n");
                    printf("Age          DP in mmHg      SP in mmHg          Health Status   \n");
                    printf ("%d               %d            %d                  Normal\n", age, dp, sp);
                    normal++;
            }

            else if (dp>=85 && dp<=89 && sp>=130 && sp<=139)
            {       
                    printf("\n                  Analysis  of Health Status                   \n");
                    printf("Age          DP in mmHg      SP in mmHg          Health Status   \n");
                    printf ("%d              %d              %d                 Stage 1\n", age, dp, sp);
                    mildhigh++; 
            }
            else if (dp>=90 && dp<=109 && sp>=140 && sp<=159)
            {       
                    printf("\n                   Analysis  of Health Status                   \n");
                    printf("Age          DP in mmHg      SP in mmHg          Health Status   \n");
                    printf ("%d               %d               %d               Stage 2\n", age, dp, sp);
                    modhigh++;
            }
            else if (dp>=110 && dp<=135 && sp>=160 && sp<=230)
            {       
                    printf("\n                   Analysis  of Health Status                   \n");
                    printf("Age          DP in mmHg      SP in mmHg          Health Status   \n");
                    printf ("%d              %d               %d               Stage 3\n", age, dp, sp);
                    hyper++;
            }
            else
            {       printf("Invalid input");
            }





            printf("\n      Summary of Health Status            \n");
            printf("Health Status                                      Number\n",mildhigh);
            printf("Hypotension                                           %d\n", hypo);
            printf("Mildlow                                               %d\n",mild);
            printf("Normal                                                %d\n",normal);
            printf("Mild High (Stage 1)                                   %d\n",mildhigh);
            printf("Moderately High BP (Stage 2)                          %d\n",modhigh);   
            printf("Hypertension/High BP (Stage 3)                        %d\n",hyper);

    }
}

Ответы [ 2 ]

0 голосов
/ 09 апреля 2020

Сводка Состояние здоровья должна быть напечатана только 1 раз в конце исключения. Следовательно, это должно быть только один раз после окончания for l oop.

#include <stdio.h>

int main ()
{
    int n, i, age, hypo=0, mild=0, normal=0, mildhigh=0, modhigh=0, hyper=0, sp, dp ;
    printf("Number of patients = ");
    scanf("%d", &n);

    for (i = 1; i < n + 1; i++)
    {
        printf("What is the age? = \n");
        scanf("%d", &age);
        printf("Diastolic Pressure =\n");
        scanf("%d", &dp);
        printf("Systolic Pressure = \n");
        scanf("%d", &sp);

        if (dp>=35 && dp<=59 && sp>=50 && sp<=89)
        {
            printf("\n                 Analysis  of Health Status                   \n");
            printf("Age          DP in mmHg      SP in mmHg          Health Status   \n");
            printf ("%d               %d            %d                 Hypotension\n", age, dp, sp);
            hypo++;
        }
        else if (dp>=60 && dp<=69 && sp>=90 && sp<=99)
        {       
            printf("\n                   Analysis  of Health Status                   \n"); 
            printf("Age          DP in mmHg      SP in mmHg          Health Status   \n");
            printf ("%d               %d            %d                 Mild Low\n", age, dp, sp);
            mild++; 
        }
        else if (dp>=70 && dp<=84 && sp>=100 && sp<=129)
        {
            printf("\n                   Analysis  of Health Status                   \n");
            printf("Age          DP in mmHg      SP in mmHg          Health Status   \n");
            printf ("%d               %d            %d                  Normal\n", age, dp, sp);
            normal++;
        }

        else if (dp>=85 && dp<=89 && sp>=130 && sp<=139)
        {       
            printf("\n                  Analysis  of Health Status                   \n");
            printf("Age          DP in mmHg      SP in mmHg          Health Status   \n");
            printf ("%d              %d              %d                 Stage 1\n", age, dp, sp);
            mildhigh++; 
        }
        else if (dp>=90 && dp<=109 && sp>=140 && sp<=159)
        {       
            printf("\n                   Analysis  of Health Status                   \n");
            printf("Age          DP in mmHg      SP in mmHg          Health Status   \n");
            printf ("%d               %d               %d               Stage 2\n", age, dp, sp);
            modhigh++;
        }
        else if (dp>=110 && dp<=135 && sp>=160 && sp<=230)
        {       
            printf("\n                   Analysis  of Health Status                   \n");
            printf("Age          DP in mmHg      SP in mmHg          Health Status   \n");
            printf ("%d              %d               %d               Stage 3\n", age, dp, sp);
            hyper++;
        }
        else
        {
            printf("Invalid input");
        }


    }

    printf("\n      Summary of Health Status            \n");
    printf("Health Status                                      Number\n",mildhigh);
    printf("Hypotension                                           %d\n", hypo);
    printf("Mildlow                                               %d\n",mild);
    printf("Normal                                                %d\n",normal);
    printf("Mild High (Stage 1)                                   %d\n",mildhigh);
    printf("Moderately High BP (Stage 2)                          %d\n",modhigh);   
    printf("Hypertension/High BP (Stage 3)                        %d\n",hyper);

    return 0;
}
0 голосов
/ 09 апреля 2020

Похоже, что вы печатаете сводку внутри для l oop. Переместите его на другую сторону }

, также вызов

    printf("Health Status                 Number\n",mildhigh);

не принимает дополнительных аргументов, поскольку там нет %d.

Как написано в комментариях, исправьте отступы, так как вам будет проще читать код, разбивать все блоки печати на один набор внутри и один вне для l oop и использовать переменные для мелочей, которые отличаются .

...