#include using namespace std; #include #include #include #include #include class Student { public: Student(int id, string name, int math, int eng,int cl) { this->id = id; this->name = name; this->math = math; this->eng = eng; this->cl = cl; this->sum = math + eng + cl; } public: int id; string name; int math,eng,cl; int sum; }; bool paixu(Student s1, Student s2) { if (s1.sum != s2.sum) { return s1.sum > s2.sum; } else { if (s1.math != s2.math) { return s1.math > s2.math; } else { if (s1.eng != s2.eng) { return s1.eng > s2.eng; } else { if (s1.cl != s2.cl) { return s1.cl > s2.cl; } else { return s1.id > s2.id; } } } } } class Management { public: void Add() { cout << "请依次输入学生的学号,姓名,高数成绩,英语成绩,C语言成绩" << endl; int id; string name; int math; int eng; int cl; cin >> id; cin >> name; cin >> math; cin >> eng; cin >> cl; Student s(id, name, math, eng, cl); v.push_back(s); cout << "添加成功" << endl; system("pause"); system("cls"); } vectorv; void chaxun() { cout << "请输入学生的学号" << endl; int id; cin >> id; bool flag = false; for (vector::iterator it = v.begin(); it != v.end(); it++) { if ((*it).id == id) { flag = true; cout<<"存在该学生!正在查询该学生资料..."<> id; for (vector::iterator it = v.begin(); it != v.end(); it++) { if ((*it).id != id) cout<<"查无此人!"<> id; cin >> name; cin >> math; cin >> eng; cin >> cl; (*it).id = id; (*it).name = name; (*it).math = math; (*it).eng = eng; (*it).cl = cl; (*it).sum=math+eng+cl; cout << "修改成功!" << endl; } } system("pause"); system("cls"); } void Sort() { sort(v.begin(), v.end(), paixu); cout << "学号" << "\t" << "姓名" << "\t" << "高数" << "\t" << "英语" << "\t" << "C语言\t" << "总分" << endl; for (vector::iterator it = v.begin(); it != v.end(); it++) { cout << (*it).id << "\t" << (*it).name << "\t" << (*it).math << "\t" << (*it).eng << "\t" << (*it).cl << "\t" << (*it).sum << endl; } system("pause"); system("cls"); } void Show() { cout << "学号" << "\t" << "姓名" << "\t" << "高数" << "\t" << "英语" << "\t" << "C语言" << "\t"<<"总分" << endl; for (vector::iterator it = v.begin(); it != v.end(); it++) cout << (*it).id << "\t" << (*it).name << "\t" << (*it).math << "\t" << (*it).eng << "\t" << (*it).cl << "\t" << (*it).sum << endl; } }; void Menu() { int i; cout<<" 桂林理工大学博文管理学院学生成绩管理系统"<> select; switch (select) { case 1: m.Add(); break; case 2: m.chaxun(); break; case 3: m.xiugai(); break; case 4: m.Sort(); break; case 5: m.Show(); break; case 0: exit(0); default: break; } } return 0; }