Правильно решена задача на C++(структуры)
Всем, добрый день! Проверьте пожалуйста решение задачи! Список содержит следующую информацию об учащихся : ФИО, дата рождения. Вывести список в порядке возрастания дат рождения(без учета года) //Список содержит следующую информацию об учащихся : ФИО, дата рождения. //Вывести список в порядке возрастания дат рождения(без учета года)
#include <iostream>
#include <string>
#include <Windows.h>
using namespace std;
struct Studets {
string F; //Фамилия студента
string C; //имя студента
int day; // день в который родился студент
int motlth; //месяц в который родился студент
} temp;
int main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
setlocale(LC_ALL, "rus");
int const m = 3;
Studets st[m]; //размерность массива структур
string n1;
string n2;
string n3;
int d;
int q;
cout << "\t\tВводите данные студента" << endl;
for (int i = 0; i < m; i++) {
cout << "\tВведите фамилию студента:" << "\t";
cin >> n1;
cout << "\tВведите имя студента:" << "\t";
cin >> n2;
cout << "\tВведите день рождения студента" << "\t";
cin >> d;
cout << "\tВведите месяц рождения студента" << "\t";
cin >> q;
if (d <= 31 || q <= 12) { //Проверка на правильность введеной даты
st[i].F = n1;
st[i].C = n2; //Заполнение полей структур
st[i].day = d;
st[i].motlth = q;
}
else {
cout << "Вы ввели несуществующую дату рождения" << endl;
break;
system("pause");
}
}
cout << "Даты рождения по возростанию" << endl;
// сортировка массива структур
for (int i = 0 ; i < m - 1; i++) {
for (int j = 0; j < m - 1; j++) {
if (st[i].day + st[i].motlth > st[i+1].day + st[i+1].motlth) {
temp = st[i];
st[i] = st[i + 1];
st[i + 1] = temp;
}
}
}
for (int i = 0; i < m; i++) {
cout << "Номер студента:\t " << i << endl;
cout << "Фамилия:\t" << st[i].F << endl;
cout << "Имя:\t" << st[i].C << endl;
cout << "День рождения:\t" << st[i].day << endl;
cout << "Месяц рождения:\t" << st[i].motlth << endl;
}
}