fork download
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. struct Employee {
  5. char surname[30];
  6. char department[30];
  7. int birth_year;
  8. int experience;
  9. char position[30];
  10. float salary;
  11. };
  12.  
  13. int main() {
  14. int n, count = 0;
  15. char findDepartment[30];
  16. float total_salary = 0, average_salary = 0;
  17.  
  18. printf("Кількість співробітників: ");
  19. scanf("%d", &n);
  20.  
  21. struct Employee employees[n];
  22.  
  23. for(int i = 0; i < n; i++) {
  24. printf("\nСпівробітник %d:\n", i+1);
  25. printf("Прізвище: ");
  26. scanf("%s", employees[i].surname);
  27. printf("Відділ: ");
  28. scanf("%s", employees[i].department);
  29. printf("Рік народження: ");
  30. scanf("%d", &employees[i].birth_year);
  31. printf("Стаж роботи: ");
  32. scanf("%d", &employees[i].experience);
  33. printf("Посада: ");
  34. scanf("%s", employees[i].position);
  35. printf("Оклад: ");
  36. scanf("%f", &employees[i].salary);
  37. }
  38.  
  39. printf("\nВведіть назву відділу для пошуку: ");
  40. scanf("%s", findDepartment);
  41.  
  42. for(int i = 0; i < n; i++) {
  43. if(strcmp(employees[i].department, findDepartment) == 0) {
  44. total_salary += employees[i].salary;
  45. count++;
  46. }
  47. }
  48.  
  49. printf("\nРезультати для відділу '%s':\n", findDepartment);
  50.  
  51. if(count > 0) {
  52. average_salary = total_salary / count;
  53. printf("Кількість співробітників: %d\n", count);
  54. printf("Загальний фонд зарплат: %.2f грн\n", total_salary);
  55. printf("Середній заробіток: %.2f грн\n", average_salary);
  56.  
  57. printf("\nСпівробітники відділу:\n");
  58. for(int i = 0; i < n; i++) {
  59. if(strcmp(employees[i].department, findDepartment) == 0) {
  60. printf("- %s (%s) - %.2f грн\n",
  61. employees[i].surname, employees[i].position, employees[i].salary);
  62. }
  63. }
  64. } else {
  65. printf("Співробітників у відділі '%s' не знайдено.\n", findDepartment);
  66. }
  67.  
  68. return 0;
  69. }
Success #stdin #stdout 0.01s 5288KB
stdin
3
Іванов 
IT 
1985 
10 
Програміст 
25000
Петренко 
Бухгалтерія 
1978 
15 
Бухгалтер 
20000
Сидоренко 
IT 
1990 
5 
Тестувальник 
18000
IT
stdout
Кількість співробітників: 
Співробітник 1:
Прізвище: Відділ: Рік народження: Стаж роботи: Посада: Оклад: 
Співробітник 2:
Прізвище: Відділ: Рік народження: Стаж роботи: Посада: Оклад: 
Співробітник 3:
Прізвище: Відділ: Рік народження: Стаж роботи: Посада: Оклад: 
Введіть назву відділу для пошуку: 
Результати для відділу 'IT':
Кількість співробітників: 2
Загальний фонд зарплат: 43000.00 грн
Середній заробіток: 21500.00 грн

Співробітники відділу:
- Іванов (Програміст) - 25000.00 грн
- Сидоренко (Тестувальник) - 18000.00 грн