Мне нужно создать программу, которая может сортировать учеников по классам и по алфавиту. Может кто-нибудь сказать мне, что является лучшим и easyiest способ решить эту проблемуСортировка студентов по классам и алфавиту C++
#include <iostream>
using namespace std;
class Student {
private:
string name;
int grades;
int score;
public:
string Name() { return name; }
int Score() { return score; }
char Grades() { return grades; }
void setName(string n) {
name = n;
}
void setScore(int score) {
score = s;
}
void setGrades(char g) {
grades = g;
}
};Student
void sortByScor(int n, Student data[]);
void sortByAlphabet (int n, Student data[]);
void main() {
Student s[20];
int max = 0;
int size = 0;
char cek = 'y';
while (cek == 'y') {
system("cls");
cout << "Enter number of student: ";
cin >> size;
for (int i = 0; i < size; i++)
{
cout << "student" << i+1 << "name: ";
cin >> s[i].Name;
cout << "Grades of student" << i + 1 << "score:";
cin >> s[i].Grades;
if (s[i].Score >= 90) s[i].Grades = 'A';
else
if (s[i].Score >= 80) s[i].Grades = 'B';
else
if (s[i].Score >= 70) s[i].Grades = 'C';
else
if (s[i].Score >= 60) s[i].Grades = 'D';
else
s[i].Grades = 'F';
if (max < s[i].Score) max = s[i].Score;
}
cout << endl;
for (int i = 0;i < size;i++) {
cout << i + 1 << "student" << endl;
cout << "name of student:" << s[i].Name << endl;
cout << "score of student" << s[i].Score << endl;
cout << "grade of student" << s[i].Grades << endl;
}
cout << endl << "highest grade: " << endl;
for (int i = 0;i < size;i++) {
if (s[i].Grades == max)
cout << s[i].Name << endl;
}
sortByAlphabet(size, s);
sortByScor(size, s);
cout << endl;
for (int i = 0;i < size; i++) {
cout << s[i].Name << endl;
}
}
}
void sortByAlphabet(int n, Student data[]) {
}
void sortByScore(int n, Student data[]) {
int i, j, min;
Student tmp;
for (int i = 0; i <= n; j++) {
if (data[j].Name < data[min].Name)
min = j;
}
tmp = data[i];
data[i] = data[min];
data[min] = tmp;
system("Pause");
}
Есть ли причина, по которой вы не можете использовать зЬй :: СНП пользовательский компаратор? http://en.cppreference.com/w/cpp/algorithm/sort – skypjack
Вы ищете алгоритм сортировки для решения этой проблемы. Одной из простейших функций сортировки, которая будет работать для этого, будет сортировка пузырьков. –
Похоже, вы немного продвинулись вперед. Практикуйте сначала сортировку всего массива целых чисел. – molbdnilo