fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <time.h>
  4.  
  5. struct Friend {
  6. char name[30];
  7. char month[20];
  8. int day;
  9. int year;
  10. };
  11.  
  12. int main() {
  13. int n, current_year, count = 0;
  14. char findMonth[20];
  15. struct Friend friends[100];
  16.  
  17. time_t t = time(NULL);
  18. struct tm tm = *localtime(&t);
  19. current_year = tm.tm_year + 1900;
  20.  
  21. printf("Кількість друзів: ");
  22. scanf("%d", &n);
  23.  
  24. for(int i = 0; i < n; i++) {
  25. printf("\nДруг %d:\n", i+1);
  26. printf("Прізвище та ім'я: ");
  27. scanf("%s", friends[i].name);
  28. printf("Місяць народження: ");
  29. scanf("%s", friends[i].month);
  30. printf("Число: ");
  31. scanf("%d", &friends[i].day);
  32. printf("Рік: ");
  33. scanf("%d", &friends[i].year);
  34. }
  35.  
  36. printf("\nМісяць для пошуку: ");
  37. scanf("%s", findMonth);
  38.  
  39. printf("\nДрузі, які народилися у %s:\n", findMonth);
  40.  
  41. for(int i = 0; i < n; i++) {
  42. if(strcmp(friends[i].month, findMonth) == 0) {
  43. int age = current_year - friends[i].year;
  44. printf("%s - %d %s %d р. (%d років)\n",
  45. friends[i].name, friends[i].day, friends[i].month,
  46. friends[i].year, age);
  47. count++;
  48. }
  49. }
  50.  
  51. if(count == 0) {
  52. printf("Друзів, які народилися у %s, не знайдено.\n", findMonth);
  53. }
  54.  
  55. return 0;
  56. }
Success #stdin #stdout 0.01s 5308KB
stdin
3
Іванов_Петро
Травень
15
1995
Сидоренко_Марія
Липень
22
1998
Коваленко_Олег
Травень
3
2000
Травень
stdout
Кількість друзів: 
Друг 1:
Прізвище та ім'я: Місяць народження: Число: Рік: 
Друг 2:
Прізвище та ім'я: Місяць народження: Число: Рік: 
Друг 3:
Прізвище та ім'я: Місяць народження: Число: Рік: 
Місяць для пошуку: 
Друзі, які народилися у Травень:
Іванов_Петро - 15 Травень 1995 р. (30 років)
Коваленко_Олег - 3 Травень 2000 р. (25 років)