Advertisement
anticlown

Структуры

Oct 31st, 2023
881
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.34 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2.  
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <string.h>
  6. #include <locale.h>
  7.  
  8. struct enrollee
  9. {
  10.     char* surname;
  11.     char* city;
  12.     float GPA;
  13. };
  14.  
  15. int main() {
  16.     setlocale(LC_ALL, "Rus");
  17.     printf("\tДанная программа получает список абитуриентов и выводит в алфавитном порядке список тех, кто проживает в Минске и у кого средний балл 7 и выше. \n");
  18.  
  19.     struct enrollee list[10] = { { "Устинович", "Сенно", 9.0 }, { "Ханенко", "Минск", 7.5 }, { "Карась", "Гродно", 9.0 }, { "Арефин", "Брест", 6.7 } , { "Асепков", "Витебск", 5.2},
  20.                             { "Елькин", "Витебск", 8.3 }, { "Кротюк", "Минск", 7.2 }, { "Кирлица", "Минск", 7.5 }, { "Заяц", "Минск", 7.1 }, { "Крутько", "Минск", 10.0 } };
  21.  
  22.     printf("\t\t\t\t Введенный список: \n");
  23.  
  24.     for (int i = 0; i < 10; i++) {
  25.         printf("Студент номер %d:\n Фамилия: %s;\n Город: %s;\n Средний балл: %.2f;\n\n", i + 1, list[i].surname, list[i].city, list[i].GPA);
  26.     }
  27.  
  28.     for (int i = 0; i < 9; i++) {
  29.         for (int j = 0; j < 10 - i - 1; j++) {
  30.             if (strcmp(list[j].surname, list[j + 1].surname) > 0) {
  31.                 // меняем элементы местами
  32.                 struct enrollee temp;
  33.                 temp = list[j];
  34.                 list[j] = list[j + 1];
  35.                 list[j + 1] = temp;
  36.             }
  37.         }
  38.     }
  39.  
  40.     printf("\t\t\t\t Отсортированный список: \n");
  41.  
  42.     for (int i = 0; i < 10; i++) {
  43.         printf("Студент номер %d:\n Фамилия: %s;\n Город: %s;\n Средний балл: %.2f;\n\n", i + 1, list[i].surname, list[i].city, list[i].GPA);
  44.     }
  45.  
  46.     printf("\t\t\t\t Список по заданным фильтрам: \n");
  47.  
  48.     for (int i = 0; i < 10; i++) {
  49.         if (strcmp(list[i].city, "Минск") == 0 && list[i].GPA >= 7.0)
  50.             printf("Студент номер %d:\n Фамилия: %s;\n Город: %s;\n Средний балл: %.2f;\n\n", i + 1, list[i].surname, list[i].city, list[i].GPA);
  51.     }
  52.  
  53.     return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement