Распечатать фамилии детей данного детского сада, которые родились в определенном месяце (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);
      }
      }
  }

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

В этом коде:

  1. Объявлены переменные:
    • i, n, age, swim_years - целочисленные переменные для цикла и вычисления возраста;
    • struct man - структура данных для хранения информации о спортсмене;
    • man sportsmen[30] - массив структур для хранения данных о спортсменах;
    • clrscr() - функция очистки экрана;
    • printf() - функция вывода информации на экран;
    • scanf() - функция ввода информации с клавиатуры.
  2. Происходит запрос на ввод количества записей, которые нужно добавить в массив sportsmen.
  3. Заполняется массив sportsmen данными о спортсменах с помощью функции scanf().
  4. Выводится информация о каждом спортсмене с помощью функции printf().
  5. Выводится список спортсменов, которые родились в определенном месяце (в данном случае, это спортсмены, у которых mounts равно 6). Для этого используется два вложенных цикла. В первом цикле происходит проверка значения mounts, а во втором - вычисление возраста и группы спортсменов.
  6. Возраст вычисляется как разница между 2014 годом и годом рождения спортсмена, а группа - как разница между 2014 годом и годом начала занятий спортом.
  7. Выводится информация о спортсмене, если он родился в определенном месяце.

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


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

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

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