Выбрать родившихся в заданное время года - 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(), которая, вероятно, предназначена для приостановки выполнения программы и ожидания нажатия клавиши