58 lines
1.3 KiB
C++
58 lines
1.3 KiB
C++
|
#include <iostream>
|
|||
|
#include <vector>
|
|||
|
#include <algorithm>
|
|||
|
#include "Student_info.h"
|
|||
|
#include "grade.h"
|
|||
|
|
|||
|
using std::cin;
|
|||
|
using std::cout;
|
|||
|
using std::endl;
|
|||
|
using std::string;
|
|||
|
using std::vector;
|
|||
|
|
|||
|
// <20><><EFBFBD>峣<EFBFBD><E5B3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
const double PASS_GRADE = 60.0;
|
|||
|
|
|||
|
int main() {
|
|||
|
vector<Student_info> students;
|
|||
|
Student_info record;
|
|||
|
|
|||
|
// <20><>ȡѧ<C8A1><D1A7><EFBFBD><EFBFBD>Ϣ
|
|||
|
cout << "<EFBFBD><EFBFBD><EFBFBD>гɼ<EFBFBD>ռ<EFBFBD><EFBFBD>20%<25><><EFBFBD><EFBFBD>ĩ<EFBFBD>ɼ<EFBFBD>ռ<EFBFBD><D5BC>40%<25><>ƽʱ<C6BD>ɼ<EFBFBD>ռ<EFBFBD><D5BC>40%<25><>:" << endl;
|
|||
|
cout << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>гɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĩ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>ƽʱ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD>:" << endl;
|
|||
|
cout << "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ctrl+z<><7A><EFBFBD>س<EFBFBD><D8B3>˳<EFBFBD><CBB3><EFBFBD>" << endl;
|
|||
|
|
|||
|
while (read(cin, record)) {
|
|||
|
students.push_back(record);
|
|||
|
}
|
|||
|
|
|||
|
// <20><>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
vector<Student_info> pass, fail;
|
|||
|
for (const auto& student : students) {
|
|||
|
if (grade(student) >= PASS_GRADE) {
|
|||
|
pass.push_back(student);
|
|||
|
}
|
|||
|
else {
|
|||
|
fail.push_back(student);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
std::sort(pass.begin(), pass.end(), compare);
|
|||
|
std::sort(fail.begin(), fail.end(), compare);
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ
|
|||
|
cout << "<EFBFBD>ϸ<EFBFBD>ѧ<EFBFBD><EFBFBD>:" << endl;
|
|||
|
for (const auto& student : pass) {
|
|||
|
cout << student.name << ": <20>ܳɼ<DCB3> = " << grade(student) << endl;
|
|||
|
}
|
|||
|
|
|||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѧ<EFBFBD><D1A7><EFBFBD><EFBFBD>Ϣ
|
|||
|
cout << "<EFBFBD><EFBFBD><EFBFBD>ϸ<EFBFBD>ѧ<EFBFBD><EFBFBD>:" << endl;
|
|||
|
for (const auto& student : fail) {
|
|||
|
cout << student.name << ": <20>ܳɼ<DCB3> = " << grade(student) << endl;
|
|||
|
}
|
|||
|
|
|||
|
return 0;
|
|||
|
}
|