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