Вывести полные данные об участниках, родившихся в заданном году - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дана таблица участников соревнований по бегу в виде массива структур. Составить программу, в которой в диалоге вводится исходный массив, выводится массив структур в виде таблицы и выполняется задание соответствующего варианта. Массив заполняется произвольными данными. Со структурами работать только через указатели на структуру. Вывести полные данные об участниках, родившихся в заданном году.

Решение задачи: «Вывести полные данные об участниках, родившихся в заданном году»

textual
Листинг программы
typedef struct
{
    int d, m, y;
} Date;
 
typedef struct
{
    char *name;
    int Record;
    Date *date;
} Sportsmen;
 
int main()
{
    Sportsmen *sm = malloc(sizeof(Sportsmen)*5);
    
    for(int i = 0; i<5; i++)
    {
        if((sm[i]->date->y)==1985)
            printf("%s %d %d/%d/%d\n", sm[i]->name, sm[i]->Record, sm[i]->date.d, sm[i]->date.m, sm[i]->date.y);
    }
}

Объяснение кода листинга программы

В данном коде создается структура данных для хранения информации об участниках, а также описывается условие задачи - вывод данных об участниках, родившихся в 1985 году.

  1. Создаются две структуры данных:
    • Date представляет дату рождения участника и содержит поля d, m, y для хранения дня, месяца и года соответственно.
    • Sportsmen представляет информацию об участнике и содержит поля:
      • name - указатель на строку, хранящую имя участника.
      • Record - целочисленное поле, хранящее рекорд участника.
      • date - указатель на структуру Date, хранящую дату рождения участника.
  2. В основной функции main() выделяется память под массив из 5 структур Sportsmen с помощью функции malloc().
  3. Затем в цикле for проходится по всем элементам массива sm. Для каждого элемента проверяется, совпадает ли год рождения участника с заданным (1985). Если да, то выводится информация о данном участнике в формате: имя участника, рекорд, день рождения, месяц рождения, год рождения. Таким образом, в результате выполнения данного кода будет выведена информация о 5 участниках, родившихся в 1985 году, если такие участники есть в массиве sm.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы