Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- struct Students {
- string surname;
- string group;
- int progress[5];
- };
- Students set(string surname, string group, int progress[5]) {
- Students student = {};
- student.surname = surname;
- student.group = group;
- for (int i = 0; i < 5; ++i) {
- student.progress[i] = progress[i];
- }
- return student;
- }
- void print(Students* students, int size) {
- for (int i = 0; i < size; ++i) {
- cout << students[i].group << " " << students[i].surname << " ";
- for (int j = 0; j < 5; ++j) {
- cout << students[i].progress[j] << ", ";
- }
- cout << endl;
- }
- cout << endl << endl;
- }
- void printExellStudents(Students* students, int size) {
- cout << "The list of exellent students:" << endl;
- for (int i = 0; i < size; ++i) {
- int countExell = 0;
- for (int j = 0; j < 5; ++j) {
- if (students[i].progress[j] == 5)
- ++countExell;
- }
- double percentExell = countExell / 5.0;
- if (percentExell > 0.75) {
- cout << i << ". " << students[i].group << " " << students[i].surname << endl;
- }
- }
- cout << endl << endl;
- }
- void printQuartStudents(Students* students, int size) {
- cout << "The list of quartet students:" << endl;
- for (int i = 0; i < size; ++i) {
- int countDeuce = 0;
- for (int j = 0; j < 5; ++j) {
- if (students[i].progress[j] == 2 || students[i].progress[j] == 3)
- ++countDeuce;
- }
- double percentDeuce = countDeuce / 5.0;
- if (percentDeuce > 0.5) {
- cout << i << ". " << students[i].group << " " << students[i].surname << endl;
- }
- }
- cout << endl << endl;
- }
- Students* resizeStudents(Students* students, int size, int newSize) {
- Students* newStudents = new Students[newSize]{};
- for (int i = 0; i < size; ++i) {
- newStudents[i] = students[i];
- }
- for (int i = size; i < newSize; ++i) {
- cout << "Enter surname of student: ";
- cin >> newStudents[i].surname;
- cout << "Enter the group of the student: ";
- cin >> newStudents[i].group;
- cout << "Enter assessment of the student: ";
- cin >> newStudents[i].progress[0];
- for (int j = 1; j < 5; ++j) {
- cout << "Enter next assessment of the student: ";
- cin >> newStudents[i].progress[j];
- }
- }
- return newStudents;
- }
- int main()
- {
- const int size = 6;
- Students ivanov = { "Ivanov", "IT-45", {3, 4, 3, 5, 3} };
- Students petrov = { "Petrov", "IT-45", {2, 5, 4, 3, 4} };
- Students popov = { "Popov", "IT-45", {5, 5, 4, 5, 5} };
- Students titov = { "Titov", "IT-45", {2, 2, 3, 4, 3} };
- Students kolotov = { "Kolotov", "IT-45", {5, 4, 4, 4, 5} };
- Students lapin = { "Lapin", "IT-45", {4, 5, 3, 2, 3} };
- Students students[size] = {};
- students[0] = ivanov;
- students[1] = petrov;
- students[2] = popov;
- students[3] = titov;
- students[4] = kolotov;
- students[5] = lapin;
- print(students, size);
- cout << "How much new elements you want add? Enter the number: ";
- int newElement;
- cin >> newElement;
- int newSize = size + newElement;
- Students* newStudents = resizeStudents(students, size, newSize);
- print(newStudents, newSize);
- printExellStudents(newStudents, newSize);
- printQuartStudents(newStudents, newSize);
- delete[] newStudents;
- return 0;
- }
Add Comment
Please, Sign In to add comment