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