Выбрать родившихся в заданное время года - C (СИ)

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

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

здравствуйте! помогите пожалуйста разобраться с этой задачей задание-"Имеется список студентов из 10 человек(фамилия,дата рождения.Выбрать родившихся в заданное время года?"(по моему надо выбрать студентов родившихся зимой,осенью,летом весной) код-
#include <iostream.h>
#include <string.h>
#include <conio.h>
#include <stdio.h>
const n=10;
struct student
{char fio[10];
int data;  //дата
int mouth;  //месяц
  };
student gr[n];
int i;
int main()
{ for(i=0;i<n;i++)
{ printf("fam: ");scanf("%s",&gr[i].fio);
printf("   data: ");scanf("%d",&gr[i].data);
printf("mouth:");scanf("%d",&gr[i].mouth);}
printf("v eto vrema rodilis:\n");
for(i=0;i<n;i++)
 
   .....if(gr[i].mouth.... // вот здесь и появились затруднения( возможен ли такой способ присвоить допустим?
if(1=zima,2=vesna,3=leto,4=osen)....
 
printf("%s\n",gr[i].fio);
getch();
}

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

textual
Листинг программы
#include <iostream>
#include <string.h>
#include <conio.h>
#include <stdio.h>
#define n 4
//const int n=3;
struct student{
 char fio[10];
 int data; //Г¤Г*ГІГ*
 int mouth; //ìåñÿö
};
 
student gr[n];
 
int i;
int main() {
 
 int vrema_goda;
 
 for(i=0;i<n;i++) {
  printf("fam: ");scanf("%s",&gr[i].fio);
  printf(" data: ");scanf("%d",&gr[i].data);
  printf("mouth:");scanf("%d",&gr[i].mouth);
 };
 
 printf("vvodi vremya goda: (1== zima, 2== vesna, 3== leto, 4== osen)\n");
 scanf("%d",&vrema_goda);
 printf("v eto vrema rodilis:\n");
 
 
 
 for(i=0;i<n;i++) {
  if (vrema_goda== 1) {
   if (gr[i].mouth==12 ||gr[i].mouth==1 ||gr[i].mouth==2)
    printf("%s\n",gr[i].fio);
  }
  if (vrema_goda== 2) {
   if (gr[i].mouth==3 ||gr[i].mouth==4 ||gr[i].mouth==5)
    printf("%s\n",gr[i].fio);
  }
  if (vrema_goda== 3) {
   if (gr[i].mouth==6 ||gr[i].mouth==7 ||gr[i].mouth==8)
    printf("%s\n",gr[i].fio);
  }
  if (vrema_goda== 4) {
   if (gr[i].mouth==9 ||gr[i].mouth==10 ||gr[i].mouth==11)
    printf("%s\n",gr[i].fio);
  }
 };
 
//Тут какая-то нелепость
//.....if(gr[i].mouth.... 
//if(1=zima,2=vesna,3=leto,4=osen)....
 
 getch();
}

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

  1. Включаются необходимые заголовочные файлы: iostream, string.h, conio.h, stdio.h
  2. Объявляется массив структур типа student с именем gr и размером n
  3. Инициализируется переменная i для использования в цикле
  4. В цикле запрашиваются и сохраняются в структуре данные о студентах (fio, data, mouth)
  5. Запрашивается время года, в которое родились студенты (1= зима, 2= весна, 3= лето, 4= осень)
  6. Считывается введенное значение и сохраняется в переменной vrema_goda
  7. Выводится сообщение о том, что будет выведено имя студента, родившегося в это время года
  8. В цикле проверяется, родившийся ли студент в заданное время года, и если да, то выводится его имя
  9. Код, который вы назвали нелепостью, скорее всего, предназначен для проверки значения переменной gr[i].mouth и соответствия его значению переменной vrema_goda
  10. Код, вероятно, написан с ошибкой, так как условие в if-операторе не сходится (1 не равно 2, 3 или 4)
  11. Код завершается функцией getch(), которая, вероятно, предназначена для приостановки выполнения программы и ожидания нажатия клавиши

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


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

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

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