fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. typedef struct {
  5. char surname[50], name[50], patronymic[50];
  6. char birth_date[11], address[100], phone[20], faculty[50];
  7. int course;
  8. } Student;
  9.  
  10. void set(Student *s, char *surname, char *name, char *patronymic,
  11. char *birth_date, char *address, char *phone, char *faculty, int course) {
  12. strcpy(s->surname, surname);
  13. strcpy(s->name, name);
  14. strcpy(s->patronymic, patronymic);
  15. strcpy(s->birth_date, birth_date);
  16. strcpy(s->address, address);
  17. strcpy(s->phone, phone);
  18. strcpy(s->faculty, faculty);
  19. s->course = course;
  20. }
  21.  
  22. void show(const Student *s) {
  23. printf("%s %s %s, %s, %s, %s, %s, Курс: %d\n",
  24. s->surname, s->name, s->patronymic, s->birth_date,
  25. s->address, s->phone, s->faculty, s->course);
  26. }
  27.  
  28. int birth_year(const Student *s) {
  29. int y;
  30. sscanf(s->birth_date, "%d", &y);
  31. return y;
  32. }
  33.  
  34. int main() {
  35. Student students[3];
  36. set(&students[0], "Иванов", "Иван", "Иванович", "2002-05-14", "Москва", "123456", "Физика", 2);
  37. set(&students[1], "Петров", "Петр", "Петрович", "2001-03-22", "СПб", "654321", "Информатика", 3);
  38. set(&students[2], "Сидоров", "Сидор", "Сидорович", "2003-12-01", "Казань", "112233", "Физика", 1);
  39.  
  40. printf("\nСтуденты факультета Физика:\n");
  41. for (int i = 0; i < 3; i++)
  42. if (strcmp(students[i].faculty, "Физика") == 0) show(&students[i]);
  43.  
  44. printf("\nСтуденты по факультетам и курсам:\n");
  45. for (int i = 0; i < 3; i++) show(&students[i]);
  46.  
  47. printf("\nСтуденты, родившиеся после 2001 года:\n");
  48. for (int i = 0; i < 3; i++)
  49. if (birth_year(&students[i]) > 2001) show(&students[i]);
  50.  
  51. return 0;
  52. }
  53.  
Success #stdin #stdout 0s 5296KB
stdin
Standard input is empty
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