Распечатать фамилии детей данного детского сада, которые родились в определенном месяце (Turbo C) - C (СИ)
Формулировка задачи:
Из этой готовой задачи "Из данного списка спортсменов распечатать сведения о тех
из них, кто занимается плаванием. Указать возраст, сколько лет
они занимаются спортом."
поменять на задачу Распечатать фамилии детей данного детского сада, которые
родились в определенном месяце; указать их возраст и группу.
#include <stdio.h> #include <conio.h> #include <string.h> void main() { int i, n, age, swim_years; struct man { char name[20]; char sport[15]; int year_born; int year_begin; }; man sportsmen[30]; clrscr(); printf("num="); scanf("%d", &n); for(i=1; i<=n; i++) { printf("\nRecord #%d:\n",i); printf("name:"); scanf("%s",&sportsmen[i].name); printf("sport:"); scanf("%s",&sportsmen[i].sport); printf("year born:"); scanf("%d",&sportsmen[i].year_born); printf("year begin:"); scanf("%d",&sportsmen[i].year_begin); } printf("\n\nSwimmers:\n"); for(i=1; i<=n; i++) { if (strcmp(sportsmen[i].sport,"swim")==0) { age=2014-sportsmen[i].year_born; swim_years=2014-sportsmen[i].year_begin; printf("%s, age:%d, %s, years:%d\n",sportsmen[i].name, age, sportsmen[i].sport, swim_years); } } }
Решение задачи: «Распечатать фамилии детей данного детского сада, которые родились в определенном месяце (Turbo C)»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <string.h> void main() { int i, n, age, swim_years; struct man { char name[20]; char sport[15]; int year_born; int mounts; int year_begin; }; man sportsmen[30]; clrscr(); printf("num="); scanf("%d", &n); for(i=1; i<=n; i++) { printf("\nRecord #%d:\n",i); printf("name:"); scanf("%s",&sportsmen[i].name); printf("sport:"); scanf("%s",&sportsmen[i].sport); printf("year born:"); scanf("%d",&sportsmen[i].year_born); printf("mounts born:"); scanf("%d",&sportsmen[i].mounts); printf("year begin:"); scanf("%d",&sportsmen[i].year_begin); } printf("\n\nSwimmers:\n"); for(i=1; i<=n; i++) { if (sportsmen[i].mounts==6) { age=2014-sportsmen[i].year_born; swim_years=2014-sportsmen[i].year_begin; printf("%s, age:%d, group:%s\n",sportsmen[i].name, age, sportsmen[i].sport); } } }
Объяснение кода листинга программы
В этом коде:
- Объявлены переменные:
i
,n
,age
,swim_years
- целочисленные переменные для цикла и вычисления возраста;struct man
- структура данных для хранения информации о спортсмене;man sportsmen[30]
- массив структур для хранения данных о спортсменах;clrscr()
- функция очистки экрана;printf()
- функция вывода информации на экран;scanf()
- функция ввода информации с клавиатуры.
- Происходит запрос на ввод количества записей, которые нужно добавить в массив
sportsmen
. - Заполняется массив
sportsmen
данными о спортсменах с помощью функцииscanf()
. - Выводится информация о каждом спортсмене с помощью функции
printf()
. - Выводится список спортсменов, которые родились в определенном месяце (в данном случае, это спортсмены, у которых
mounts
равно 6). Для этого используется два вложенных цикла. В первом цикле происходит проверка значенияmounts
, а во втором - вычисление возраста и группы спортсменов. - Возраст вычисляется как разница между 2014 годом и годом рождения спортсмена, а группа - как разница между 2014 годом и годом начала занятий спортом.
- Выводится информация о спортсмене, если он родился в определенном месяце.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д