awsmpshk

Номер 3 со второго под римской 2

May 8th, 2020
103
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. struct Student // структура отвечающая за информацию о студенте
  7. {
  8.   string F, I, O; // фамилия, имя и отчество
  9.   int group, marks[3]; // номер группы и оценки за экзамены
  10.   void show() // метод печатающий информацию о студенте
  11.   {
  12.     cout << F << " " << I << " " << O << " " << group << " ";
  13.     for (int i = 0; i < 3; ++i)
  14.     {
  15.       cout << marks[i] << " ";
  16.     }
  17.     cout << endl;
  18.   }
  19.   bool isPassed() // проверка на сдачу экзамена
  20.   {
  21.     if (marks[0] > 2 && marks[1] > 2 && marks[2] > 2) return true;
  22.     return false;
  23.   }
  24. };
  25.  
  26. Student* scanBase(int n) // функция чтения базы данных студентов
  27. {
  28.   Student* base = new Student[n]; // объявление массива "студентов"
  29.   for (int i = 0; i < n; ++i)
  30.   {
  31.     cin >> base[i].F >> base[i].I >> base[i].O >> base[i].group;
  32.     for (int j = 0; j < 3; ++j) cin >> base[i].marks[j];
  33.   }
  34.   return base; // возвращаем заполненный массив
  35. }
  36.  
  37. int main()
  38. {
  39.   int n; // количество студентов
  40.   cin >> n; // вводим количество
  41.   Student* base = scanBase(n); // вводим базу данных студентов с помощью функции scanbase(n)
  42.   for (int i = 0; i < n; ++i) // проверяем всех студентов на предмет успешной сдачи экзамена
  43.   {
  44.     if (base[i].isPassed()) base[i].show();
  45.   }
  46.   delete[] base; // освобождаем память от базы данных
  47.   return 0;
  48. }
RAW Paste Data Copied