C/C++

Составить программу на С++ Программирование с использованием классов. Создание и работа с классами.

Создать класс Student, имеющий следующие поля: Фамилия, Имя,
Отчество, Дата рождения, телефон, Средний балл, Факультет,
Курс. Необходимо выполнять следующие методы: сменить
фамилию, имя, телефон и курс, вывода значения указанных полей.
Реализовать метод, определяющий, является ли студент
«двоечником», «троечником», «хорошистом», «отличником»
#include <iostream>
#include <string>
using namespace std;
class Student {
public:
Student() : average_score_(0) {}
void average_score(const float& value) { average_score_ = value; }
void average_score(float&& value) { average_score_ = move(value); }
float average_score()const { return average_score_; }
void surname(const string& value) { surname_ = value; }
void surname(string&& value) { surname_ = move(value); }
string surname()const { return surname_; }
void name(const string& value) { name_ = value; }
void name(string&& value) { name_ = move(value); }
string name()const { return name_; }
void patronymic(const string& value) { patronymic_ = value; }
void patronymic(string&& value) { patronymic_ = move(value); }
string patronymic()const { return patronymic_; }
void date_of_birth(const string& value) { date_of_birth_ = value; }
void date_of_birth(string&& value) { date_of_birth_ = move(value); }
string date_of_birth()const { return date_of_birth_; }
void phone(const string& value) { phone_ = value; }
void phone(string&& value) { phone_ = move(value); }
string phone()const { return phone_; }
void faculty(const string& value) { faculty_ = value; }
void faculty(string&& value) { faculty_ = move(value); }
string faculty()const { return faculty_; }
void course(const short& value) { course_ = value; }
void course(short&& value) { course_ = move(value); }
short course()const { return course_; }
string academic_performance()const {
static const string box[]{ "нет данных", "отчислен", "двоечник", "троечник", "хорошист", "отличник" };
return box[static_cast<int>(average_score_) % 10];
}
private:
float average_score_;
string surname_;
string name_;
string patronymic_;
string date_of_birth_;
string phone_;
string faculty_;
short course_;
};
int main() {
system("chcp 1251 > nul");
Student person;
person.surname("Иванов");
person.name("Сергей");
person.patronymic("Захарович");
person.date_of_birth("6 октября 2001");
person.phone("+7 (555) 187-36-08");
person.average_score(4.08F);
person.faculty("Физико-математический");
person.course(4);
string value;
cout << "Смените фамилия: ";
getline(cin, value);
person.surname(value);
cout << "Смените имя: ";
getline(cin, value);
person.name(value);
cin.ignore(cin.rdbuf()->in_avail());
cout << "Смените номер телефона: ";
getline(cin, value);
person.phone(value);
cout << "Смените курс: ";
short course;
cin >> course;
person.course(course);
cin.ignore(cin.rdbuf()->in_avail());
cout
<< "Студент " << person.course() << "-го курса "
<< person.surname() << ' ' << person.name() << ' ' << person.patronymic() << '\n'
<< "\tТелефон: " << person.phone() << '\n'
<< "\t- " << person.academic_performance() << '\n';
system("pause > nul");
}
ИЛ
Игорь Лазарев
63 596
Лучший ответ