Pesterevaev

Pestereva_Week20_Task1_1

Apr 13th, 2020
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.54 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. struct Students {
  7.     string surname;
  8.     string group;
  9.     int progress[5];
  10. };
  11.  
  12. Students set(string surname, string group, int progress[5]) {
  13.     Students student = {};
  14.     student.surname = surname;
  15.     student.group = group;
  16.     for (int i = 0; i < 5; ++i) {
  17.         student.progress[i] = progress[i];
  18.     }
  19.     return student;
  20. }
  21.  
  22. void print(Students* students, int size) {    
  23.     for (int i = 0; i < size; ++i) {
  24.         cout << students[i].group << " " << students[i].surname << " ";
  25.         for (int j = 0; j < 5; ++j) {
  26.             cout << students[i].progress[j] << ", ";
  27.         }
  28.         cout << endl;
  29.     }
  30.     cout << endl << endl;
  31. }
  32.  
  33. void printExellStudents(Students* students, int size) {
  34.     cout << "The list of exellent students:" << endl;
  35.     for (int i = 0; i < size; ++i) {
  36.         int countExell = 0;
  37.         for (int j = 0; j < 5; ++j) {
  38.             if (students[i].progress[j] == 5)
  39.                 ++countExell;            
  40.         }
  41.         double percentExell = countExell / 5.0;
  42.         if (percentExell > 0.75) {
  43.             cout << i << ". " << students[i].group << " " << students[i].surname << endl;
  44.         }                
  45.     }
  46.     cout << endl << endl;
  47. }
  48.  
  49. void printQuartStudents(Students* students, int size) {
  50.     cout << "The list of quartet students:" << endl;
  51.     for (int i = 0; i < size; ++i) {
  52.         int countDeuce = 0;
  53.         for (int j = 0; j < 5; ++j) {
  54.             if (students[i].progress[j] == 2 || students[i].progress[j] == 3)
  55.                 ++countDeuce;
  56.         }
  57.         double percentDeuce = countDeuce / 5.0;
  58.         if (percentDeuce > 0.5) {
  59.             cout << i << ". " << students[i].group << " " << students[i].surname << endl;
  60.         }
  61.     }
  62.     cout << endl << endl;
  63. }
  64.  
  65. Students* resizeStudents(Students* students, int size, int newSize) {
  66.     Students* newStudents = new Students[newSize]{};
  67.     for (int i = 0; i < size; ++i) {
  68.         newStudents[i] = students[i];
  69.     }
  70.     for (int i = size; i < newSize; ++i) {
  71.         cout << "Enter surname of student: ";
  72.         cin >> newStudents[i].surname;
  73.         cout << "Enter the group of the student: ";
  74.         cin >> newStudents[i].group;
  75.         cout << "Enter assessment of the student: ";
  76.         cin >> newStudents[i].progress[0];
  77.         for (int j = 1; j < 5; ++j) {
  78.             cout << "Enter next assessment of the student: ";
  79.             cin >> newStudents[i].progress[j];
  80.         }
  81.     }
  82.     return newStudents;
  83. }
  84.  
  85. int main()
  86. {
  87.     const int size = 6;
  88.     Students ivanov = { "Ivanov", "IT-45", {3, 4, 3, 5, 3} };
  89.     Students petrov = { "Petrov", "IT-45", {2, 5, 4, 3, 4} };
  90.     Students popov = { "Popov", "IT-45", {5, 5, 4, 5, 5} };
  91.     Students titov = { "Titov", "IT-45", {2, 2, 3, 4, 3} };
  92.     Students kolotov = { "Kolotov", "IT-45", {5, 4, 4, 4, 5} };
  93.     Students lapin = { "Lapin", "IT-45", {4, 5, 3, 2, 3} };
  94.     Students students[size] = {};
  95.     students[0] = ivanov;
  96.     students[1] = petrov;
  97.     students[2] = popov;
  98.     students[3] = titov;
  99.     students[4] = kolotov;
  100.     students[5] = lapin;
  101.     print(students, size);
  102.     cout << "How much new elements you want add? Enter the number: ";
  103.     int newElement;
  104.     cin >> newElement;
  105.     int newSize = size + newElement;
  106.     Students* newStudents = resizeStudents(students, size, newSize);
  107.     print(newStudents, newSize);
  108.     printExellStudents(newStudents, newSize);
  109.     printQuartStudents(newStudents, newSize);
  110.     delete[] newStudents;
  111.     return 0;
  112. }
Add Comment
Please, Sign In to add comment