Advertisement
EvgeniiKraaaaaaaav

work

Dec 15th, 2019
197
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.25 KB | None | 0 0
  1. #pragma clang diagnostic push
  2. #pragma ide diagnostic ignored "cert-err34-c"
  3. #include <stdio.h>
  4. #include <string.h>
  5. #include <locale.h>
  6. #include <windows.h>
  7.  
  8. #pragma clang diagnostic push
  9. #pragma clang diagnostic ignored "-Wunknown-pragmas"
  10. #pragma clang diagnostic ignored "-Wformat"
  11.  
  12. typedef struct Student {
  13.    char name [256];
  14.    char group[50];
  15.    int ses [5];
  16. }TStudent;
  17.  
  18. void inputStudentInfo(TStudent* student, int studentNumber);
  19. void sortList(TStudent* student, int listSize);
  20. void showStudentInfo(TStudent* student, int studentNumber);
  21.  
  22. int main() {
  23.     setlocale(LC_ALL, "Rus");
  24.     SetConsoleCP(1251);  
  25.     SetConsoleOutputCP(1251);
  26.     TStudent student [10];
  27.     for (int i = 0; i < 10; ++i) {
  28.         inputStudentInfo(&student[i], i);
  29.     }
  30.  
  31.     sortList(student, 10);
  32.  
  33.     for (int j = 0; j < 10; ++j) {
  34.         showStudentInfo(&student[j], j);
  35.     }
  36.  
  37. }
  38.  
  39. void inputStudentInfo(TStudent* student, int studentNumber) {
  40.     printf(" Введите ФИО %d студента: ", studentNumber + 1);
  41.     scanf("%s", &student->name);
  42.     printf(" Введите номер группы для %d студента: ", studentNumber + 1);
  43.     scanf("%s", &student->group);
  44.     printf("Введите оценки студента %s : ", student->name);
  45.     for (int j = 0; j < 5; ++j) {
  46.         scanf("%d", &student->ses[j]);
  47.     }
  48. }
  49.  
  50. void sortList(TStudent* student, int listSize) {
  51.     for (int j = 0; j < listSize; ++j) {
  52.         for (int i = 0; i < listSize - 1; ++i) {
  53.             if(strcmp(student[i].name,student[i+1].name)>0){
  54.                 TStudent temp;
  55.                 temp = student[i];
  56.                 student[i] = student[i + 1];
  57.                 student[i + 1] = temp;
  58.             }
  59.  
  60.         }
  61.     }
  62. }
  63.  
  64.  
  65. void showStudentInfo(TStudent* student, int studentNumber) {
  66.     int status = 0;
  67.     for (int i = 0; i < 5; ++i) {
  68.         if (student->ses[i] == 2) {
  69.             printf("\n%d. %s в группе %s имеет двойку.\n", studentNumber + 1, student->name, student->group);
  70.             status = 1;
  71.             break;
  72.         }
  73.     }
  74.     if (status == 0) {
  75.         printf("У студентов нет двоек.");
  76.     }
  77.     printf("\n");
  78. }
  79.  
  80. #pragma clang diagnostic pop
  81. #pragma clang diagnostic pop
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement