Отсортировать студентов по их среднему баллу и добавить студента в группу с++
Помогите, пожалуйста, нужно отсортировать студентов по их среднему баллу и добавить студента в группу вот исходник:
#include <fstream>
#include <string>
#include <vector>
using namespace std;
class Student {
private:
int age;
string name;
vector<int> grades;
public:
Student() :Student(0, "sdfs", { 0 })
{
}
Student(int age, string name, vector<int> grades) {
this->name = name;
this->age = age;
this->grades = grades;
}
int GetAge() {
return this->age;
}
string GetName() {
return this->name;
}
// Сетеры
void SetAge(int age) {
this->age = age;
}
void SetName(string name) {
this->name = name;
}
void SetGrades(vector<int> grades) {
/*grades.resize(7);
grades = {1,5,8,9,7,12,10};
for (auto const& element : grades)
cout << element << ' ';*/
this->grades = grades;
}
void AVG() {
float count = 0;
for (int i = 0; i < grades.size(); i++) {
count += grades[i];
}
cout<< count / grades.size();
}
void addmark() {
int chislo;
cin >> chislo;
grades.push_back(chislo);
}
void printmark() {
for (int i = 0; i < grades.size(); i++) {
cout << grades[i]<<" ";
}
}
void Print() {
cout << "Ваш возраст: " << age << " , " << " Вас зовут: " << name;
}
};
class Group {
private:
string title;
vector<Student> students;
public:
Group() : Group("плоывитпл")
{
students = {};
}
Group(string title) : title(title) {
//grades = vector<int>();
students = {};
}
Group(string title, vector<Student> students) {
this->title = title;
this->students = students;
}
string GetTitle() {
return this->title;
}
void SetTitle(string title) {
this->title = title;
}
void AddStudent(Student s) {
students.push_back(s);
students.emplace_back();
}
//////void SetStudents() {
////// students = { "sdfsdf","fdsfds","dsffsdf","sdgfgdfg" };
////// for (auto const& element : students)
////// cout << element << ' ';
void SetGrades(vector<Student> students) {
/*grades.resize(7);
grades = {1,5,8,9,7,12,10};
for (auto const& element : grades)
cout << element << ' ';*/
this->students = students;
//////}
}
void cliar(int n) {
for (long i =n ; i < n; ++i)
{
students[i] = students[i + 1];
}
}
void Print() {
cout << "Название " << title;
}
};
void main() {
setlocale(LC_ALL, "rus");
Group g;
g.SetTitle("Vbu021");
g.Print();
Student s2(18, "gsdgsd", { 58,4564,64,46,4,5,3 });
cout << endl;
s2.Print();
cout << " Средний балл: ";
s2.AVG();
cout << endl;
s2.printmark();
cout << endl;
s2.addmark();
cout << endl;
s2.printmark();
Student s1(15, "gsdfyuigsd", { 18,44,64,46,4,5,3 });
cout << endl;
s1.Print();
cout << " Средний балл: ";
s1.AVG();
cout << endl;
s1.printmark();
cout << endl;
s1.addmark();
cout << endl;
s1.printmark();
Student s3(26, "Vlad", { 50,44,14,8,7,5,3 });
cout << endl;
s3.Print();
cout << " Средний балл: ";
s3.AVG();
cout << endl;
s2.printmark();
cout << endl;
s3.addmark();
cout << endl;
s3.printmark();
cout << endl;
cout << "GROUUUP";
cout << endl;
g.cliar(0);
}```