Как сравнить член структуры с постоянным значением? - PullRequest
0 голосов
/ 18 сентября 2018

Я должен написать программу, которая будет сравнивать вес людей с требуемым весом. Когда вес человека превышает 65, тогда будет выбрано первое лицо, и оно не будет проверять дальше.

#include <stdio.h>
#include <stdlib.h>
struct person {
int age;
float weight;
};
struct person p1 = {18, 60.2};
struct person p2 = {20, 80.8};
struct person p3 = {22, 75.4};
struct person p4 = {40, 65.9};    
struct person p5 = {15, 40.2};
int main()
{
float requiredWeight = 65;


}

Я из машиностроения, поэтому не очень разбираюсь в кодировании. Я могу использовать оператор if, но мой список намного длиннее, поэтому набирать все будет утомительно.

1 Ответ

0 голосов
/ 18 сентября 2018

Создайте массив из людей и переберите их:

#include <stdio.h>
struct person {
int age;
float weight;
};


int main(void) {
    struct person p[] = {{18, 60.2}, {20, 80.8}, {22, 75.4}, {40, 65.9}, {15, 40.2}};
    const float requiredWeight = 65;
    for (int i = 0; i < sizeof p /sizeof *p; ++i)
        if (p[i].weight > requiredWeight)
        {
            printf("the %d. person weight too much\n", i + 1);
            break;
        }
    return 0;
}

sizeof p /sizeof *p приводит к количеству элементов в массиве p.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...