Advertisement
Guest User

Untitled

a guest
Apr 8th, 2020
173
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.75 KB | None | 0 0
  1. #include <iostream>
  2. #include<string>
  3. #include<Windows.h>
  4. #include <cstdlib>
  5. #include<fstream>
  6. using namespace std;
  7. struct Students
  8. {
  9.     string name, surname, lastname;
  10.     int marks[5] = {};
  11.     double sred[5] = {};
  12. };
  13. void print(Students students)
  14. {
  15.    
  16.     cout << students.surname << " " << students.name << " " << students.lastname << "\t";
  17.     //fileout<< students.surname << " " << students.name << " " << students.lastname << "\t";
  18. }
  19. bool isExcellentStudent(Students student, int size)
  20. {
  21.     for (int i = 0; i < size; i++)
  22.     {
  23.         if (student.marks[i] != 5) return false;
  24.  
  25.     }
  26.     return true;
  27. }
  28. int main()
  29. {
  30.     setlocale(0, "");
  31.     SetConsoleCP(1251);
  32.     SetConsoleOutputCP(1251);
  33.     short i, k;
  34.     double sredgr = 0;
  35.     int count_student = 0, size = 5, count_debtors = 0, excellentStudent = 0;
  36.     ofstream fileout;
  37.     string filename = "Student.txt";
  38.     fileout.open(filename, ofstream::app);
  39.     if (!fileout.is_open())
  40.     {
  41.         cout << "Не удалось открыть файл!\n";
  42.     }
  43.     else
  44.     {
  45.         cout << "Введите кол-во студентов:\n";
  46.         cin >> count_student;
  47.         fileout << "Количество студентов:" << count_student;
  48.         Students* arrayStudents = new Students[count_student];
  49.         for (i = 0; i < count_student; i++)
  50.         {
  51.             cout << "ФИО " << 1 + i << " студента\n";
  52.             cin >> arrayStudents[i].surname >> arrayStudents[i].name >> arrayStudents[i].lastname;
  53.             cout << "Введите 5 оценок\n";
  54.             for (k = 0; k < size; k++)
  55.                 cin >> arrayStudents[i].marks[k];
  56.  
  57.         }
  58.         // средний балл каждого
  59.         for (i = 0; i < count_student; i++)
  60.         {
  61.             double sredball = 0;
  62.             for (k = 0; k < size; k++)
  63.             {
  64.                 sredball += arrayStudents[i].marks[k];
  65.             }
  66.             arrayStudents[i].sred[i] = sredball / size;
  67.         }
  68.         cout << "\tФИО\t\t\t    Оценки\t   Средний балл ученика\n";
  69.         fileout << "\tФИО\t\t\t    Оценки\t   Средний балл ученика\n";
  70.         for (i = 0; i < count_student; i++)
  71.         {
  72.             print(arrayStudents[i]);
  73.             for (k = 0; k < size; k++)
  74.             {
  75.                 cout << arrayStudents[i].marks[k] << " ";
  76.                 fileout << arrayStudents[i].marks[k] << " ";;
  77.             }
  78.             cout << "\t\t\t" << arrayStudents[i].sred[i] << "  ";
  79.             fileout<< "\t\t\t" << arrayStudents[i].sred[i] << "  ";
  80.             cout << endl;
  81.         }
  82.         // средний балл группы
  83.         for (i = 0; i < count_student; i++)
  84.             sredgr += arrayStudents[i].sred[i];
  85.         sredgr /= count_student;
  86.         cout << "Средний балл группы:" << sredgr << endl;
  87.         fileout<< "Средний балл группы:" << sredgr << endl;
  88.         cout << "Студенты со средним баллом, чем средний по группе:" << endl;
  89.         fileout<< "Студенты со средним баллом, чем средний по группе:" << endl;
  90.         cout << "\n\tФИО\t\t\t    Ср. балл\n";
  91.         fileout<< "\n\tФИО\t\t\t    Ср. балл\n";
  92.         for (i = 0; i < count_student; i++)
  93.         {
  94.             if (arrayStudents[i].sred[i] > sredgr)
  95.             {
  96.                 print(arrayStudents[i]);
  97.                
  98.             }
  99.         }
  100.         cout << "Список задолжников:" << endl;
  101.         fileout<< "Список задолжников:" << endl;
  102.         for (i = 0; i < count_student; i++)
  103.         {
  104.             for (k = 0; k < size; k++)
  105.             {
  106.                 if (arrayStudents[i].marks[k] == 2)
  107.                 {
  108.                     count_debtors++;
  109.                     print(arrayStudents[i]);
  110.                     break;
  111.                 }
  112.             }
  113.         }
  114.         if (count_debtors == 0)
  115.         {
  116.             cout << "Задолжности отсутствуют\n";
  117.             fileout<< "Задолжности отсутствуют\n";
  118.         }
  119.         cout << endl;
  120.         cout << "Список отличников:\n";
  121.         fileout << "Список отличников:\n";
  122.         for (i = 0; i < count_student; i++)
  123.         {
  124.             if (isExcellentStudent(arrayStudents[i], size))
  125.             {
  126.                 excellentStudent++;
  127.                 print(arrayStudents[i]);
  128.             }
  129.         }
  130.         if (excellentStudent == 0)
  131.         {
  132.             cout << "Отличников нет.\n";
  133.             fileout<< "Отличников нет.\n";
  134.         }
  135.         delete[]arrayStudents;
  136.     }
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement