#include <stdio.h>
#include <string.h>
typedef struct {
char surname[ 50 ] , name[ 50 ] , patronymic[ 50 ] ;
char birth_date[ 11 ] , address[ 100 ] , phone[ 20 ] , faculty[ 50 ] ;
int course;
} Student;
void set( Student * s, char * surname, char * name, char * patronymic,
char * birth_date, char * address, char * phone, char * faculty, int course) {
strcpy ( s
-> patronymic
, patronymic
) ; strcpy ( s
-> birth_date
, birth_date
) ; s-> course = course;
}
void show( const Student * s) {
printf ( "%s %s %s, %s, %s, %s, %s, Курс: %d\n " , s-> surname, s-> name, s-> patronymic, s-> birth_date,
s-> address, s-> phone, s-> faculty, s-> course) ;
}
int birth_year( const Student * s) {
int y;
sscanf ( s
-> birth_date
, "%d" , & y
) ; return y;
}
int main( ) {
Student students[ 3 ] ;
set( & students[ 0 ] , "Иванов" , "Иван" , "Иванович" , "2002-05-14" , "Москва" , "123456" , "Физика" , 2 ) ;
set( & students[ 1 ] , "Петров" , "Петр" , "Петрович" , "2001-03-22" , "СПб" , "654321" , "Информатика" , 3 ) ;
set( & students[ 2 ] , "Сидоров" , "Сидор" , "Сидорович" , "2003-12-01" , "Казань" , "112233" , "Физика" , 1 ) ;
printf ( "\n Студенты факультета Физика:\n " ) ; for ( int i = 0 ; i < 3 ; i++ )
if ( strcmp ( students
[ i
] .
faculty , "Физика" ) == 0 ) show
( & students
[ i
] ) ;
printf ( "\n Студенты по факультетам и курсам:\n " ) ; for ( int i = 0 ; i < 3 ; i++ ) show( & students[ i] ) ;
printf ( "\n Студенты, родившиеся после 2001 года:\n " ) ; for ( int i = 0 ; i < 3 ; i++ )
if ( birth_year( & students[ i] ) > 2001 ) show( & students[ i] ) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCnR5cGVkZWYgc3RydWN0IHsKICAgIGNoYXIgc3VybmFtZVs1MF0sIG5hbWVbNTBdLCBwYXRyb255bWljWzUwXTsKICAgIGNoYXIgYmlydGhfZGF0ZVsxMV0sIGFkZHJlc3NbMTAwXSwgcGhvbmVbMjBdLCBmYWN1bHR5WzUwXTsKICAgIGludCBjb3Vyc2U7Cn0gU3R1ZGVudDsKCnZvaWQgc2V0KFN0dWRlbnQgKnMsIGNoYXIgKnN1cm5hbWUsIGNoYXIgKm5hbWUsIGNoYXIgKnBhdHJvbnltaWMsCiAgICAgICAgIGNoYXIgKmJpcnRoX2RhdGUsIGNoYXIgKmFkZHJlc3MsIGNoYXIgKnBob25lLCBjaGFyICpmYWN1bHR5LCBpbnQgY291cnNlKSB7CiAgICBzdHJjcHkocy0+c3VybmFtZSwgc3VybmFtZSk7CiAgICBzdHJjcHkocy0+bmFtZSwgbmFtZSk7CiAgICBzdHJjcHkocy0+cGF0cm9ueW1pYywgcGF0cm9ueW1pYyk7CiAgICBzdHJjcHkocy0+YmlydGhfZGF0ZSwgYmlydGhfZGF0ZSk7CiAgICBzdHJjcHkocy0+YWRkcmVzcywgYWRkcmVzcyk7CiAgICBzdHJjcHkocy0+cGhvbmUsIHBob25lKTsKICAgIHN0cmNweShzLT5mYWN1bHR5LCBmYWN1bHR5KTsKICAgIHMtPmNvdXJzZSA9IGNvdXJzZTsKfQoKdm9pZCBzaG93KGNvbnN0IFN0dWRlbnQgKnMpIHsKICAgIHByaW50ZigiJXMgJXMgJXMsICVzLCAlcywgJXMsICVzLCDQmtGD0YDRgTogJWRcbiIsCiAgICAgICAgICAgcy0+c3VybmFtZSwgcy0+bmFtZSwgcy0+cGF0cm9ueW1pYywgcy0+YmlydGhfZGF0ZSwKICAgICAgICAgICBzLT5hZGRyZXNzLCBzLT5waG9uZSwgcy0+ZmFjdWx0eSwgcy0+Y291cnNlKTsKfQoKaW50IGJpcnRoX3llYXIoY29uc3QgU3R1ZGVudCAqcykgewogICAgaW50IHk7CiAgICBzc2NhbmYocy0+YmlydGhfZGF0ZSwgIiVkIiwgJnkpOwogICAgcmV0dXJuIHk7Cn0KCmludCBtYWluKCkgewogICAgU3R1ZGVudCBzdHVkZW50c1szXTsKICAgIHNldCgmc3R1ZGVudHNbMF0sICLQmNCy0LDQvdC+0LIiLCAi0JjQstCw0L0iLCAi0JjQstCw0L3QvtCy0LjRhyIsICIyMDAyLTA1LTE0IiwgItCc0L7RgdC60LLQsCIsICIxMjM0NTYiLCAi0KTQuNC30LjQutCwIiwgMik7CiAgICBzZXQoJnN0dWRlbnRzWzFdLCAi0J/QtdGC0YDQvtCyIiwgItCf0LXRgtGAIiwgItCf0LXRgtGA0L7QstC40YciLCAiMjAwMS0wMy0yMiIsICLQodCf0LEiLCAiNjU0MzIxIiwgItCY0L3RhNC+0YDQvNCw0YLQuNC60LAiLCAzKTsKICAgIHNldCgmc3R1ZGVudHNbMl0sICLQodC40LTQvtGA0L7QsiIsICLQodC40LTQvtGAIiwgItCh0LjQtNC+0YDQvtCy0LjRhyIsICIyMDAzLTEyLTAxIiwgItCa0LDQt9Cw0L3RjCIsICIxMTIyMzMiLCAi0KTQuNC30LjQutCwIiwgMSk7CgogICAgcHJpbnRmKCJcbtCh0YLRg9C00LXQvdGC0Ysg0YTQsNC60YPQu9GM0YLQtdGC0LAg0KTQuNC30LjQutCwOlxuIik7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IDM7IGkrKykKICAgICAgICBpZiAoc3RyY21wKHN0dWRlbnRzW2ldLmZhY3VsdHksICLQpNC40LfQuNC60LAiKSA9PSAwKSBzaG93KCZzdHVkZW50c1tpXSk7CgogICAgcHJpbnRmKCJcbtCh0YLRg9C00LXQvdGC0Ysg0L/QviDRhNCw0LrRg9C70YzRgtC10YLQsNC8INC4INC60YPRgNGB0LDQvDpcbiIpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCAzOyBpKyspIHNob3coJnN0dWRlbnRzW2ldKTsKCiAgICBwcmludGYoIlxu0KHRgtGD0LTQtdC90YLRiywg0YDQvtC00LjQstGI0LjQtdGB0Y8g0L/QvtGB0LvQtSAyMDAxINCz0L7QtNCwOlxuIik7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IDM7IGkrKykKICAgICAgICBpZiAoYmlydGhfeWVhcigmc3R1ZGVudHNbaV0pID4gMjAwMSkgc2hvdygmc3R1ZGVudHNbaV0pOwoKICAgIHJldHVybiAwOwp9Cg==
stdout
Студенты факультета Физика:
Иванов Иван Иванович, 2002-05-14, Москва, 123456, Физика, Курс: 2
Сидоров Сидор Сидорович, 2003-12-01, Казань, 112233, Физика, Курс: 1
Студенты по факультетам и курсам:
Иванов Иван Иванович, 2002-05-14, Москва, 123456, Физика, Курс: 2
Петров Петр Петрович, 2001-03-22, СПб, 654321, Информатика, Курс: 3
Сидоров Сидор Сидорович, 2003-12-01, Казань, 112233, Физика, Курс: 1
Студенты, родившиеся после 2001 года:
Иванов Иван Иванович, 2002-05-14, Москва, 123456, Физика, Курс: 2
Сидоров Сидор Сидорович, 2003-12-01, Казань, 112233, Физика, Курс: 1