//成绩类,学生类,学生管理系统类,控制台界面 #include "iostream" #include "vector" using namespace std; class Score{ string courseName; int score; public: Score(string a,int b){ this->courseName=std::move(a); this->score=b; } string getCourseName(){ return courseName; } int getScore(){ return score; } void setCourseName(string t){ this->courseName=std::move(t); } void setScore(int t){ this->score=t; } }; class Student{ string name; string gender; string sno; string Class; string Grade; vector<Score> scores; public: Student(string name,string gender,string sno,string Class,string Grade){ this->gender=std::move(gender); this->name=std::move(name); this->sno=std::move(sno); this->Class=std::move(Class); this->Grade=std::move(Grade); } string getName(){ return name; } string getGender(){ return gender; } string getSno(){ return sno; } string getClass(){ return Class; } string getGrade(){ return Grade; } void setName(string t){ this->name=std::move(t); } void setGender(string t){ this->gender=std::move(t); } void setSno(string t){ this->sno=std::move(t); } void setClass(string t){ this->Class=std::move(t); } void setGrade(string t){ this->Grade=std::move(t); } void setAll(string name,string gender,string sno,string Class,string Grade){ this->gender=std::move(gender); this->name=std::move(name); this->sno=std::move(sno); this->Class=std::move(Class); this->Grade=std::move(Grade); } void add(string n,int t){ Score s(n,t); scores.push_back(s); } void del(string n){ for(int i=0;i<scores.size();i++){ if(scores[i].getCourseName()==n){ scores.erase(scores.begin()+i); return; } } } void sd(string n,int t){ for(int i=0;i<scores.size();i++){ if(scores[i].getCourseName()==n){ scores[i].setScore(t); return; } } } int find(string n){ for(int i=0;i<scores.size();i++){ if(scores[i].getCourseName()==n){ return scores[i].getScore(); } } return -1; } void printScore(){ cout<<"学生"<<getName()<<"的成绩如下"<<endl; for(int i=0;i<scores.size();i++){ cout<<scores[i].getCourseName()<<" :"<<scores[i].getScore()<<endl; } } void printInformation(){ cout<<"学生的姓名是:"<<getName()<<","<<"学生的性别是:"<<getGender()<<","<<"学生的学号是:"<<getSno()<<endl; cout<<"学生的班级是:"<<getClass()<<","<<"学生的年级是:"<<getGrade()<<endl; } }; class StudentsControl{ vector<Student> stu; public: void add(string name,string gender,string sno,string Class,string Grade){ Student s(name,gender,sno,Class,Grade); stu.push_back(s); } void del(string n){ for(int i=0;i<stu.size();i++){ if(stu[i].getName()==n){ stu.erase(stu.begin()+i); return; } } } void sd(string name,string gender,string sno,string Class,string Grade){ for(int i=0;i<stu.size();i++){ if(stu[i].getName()==name){ stu[i].setAll(name,gender,sno,Class,Grade); return; } } } void find(string n){ for(int i=0;i<stu.size();i++){ if(stu[i].getName()==n){ stu[i].printInformation(); return; } } cout<<"未找到学生信息!"<<endl; } void addStuScore(string n,string s,int t){ for(int i=0;i<stu.size();i++){ if(stu[i].getName()==n){ stu[i].add(s,t); return; } } } void delStuScore(string n,string s){ for(int i=0;i<stu.size();i++){ if(stu[i].getName()==n){ stu[i].del(s); return; } } } void sdStuScore(string n,string s,int t){ for(int i=0;i<stu.size();i++){ if(stu[i].getName()==n){ stu[i].sd(s,t); return; } } } void findStu(string n,string s){ for(int i=0;i<stu.size();i++){ if(stu[i].getName()==n){ cout<<stu[i].getName()<<"的"<<s<<"成绩是"; cout<<stu[i].find(s)<<endl; return; } } } void printstu(string n){ for(int i=0;i<stu.size();i++){ if(stu[i].getName()==n){ stu[i].printInformation(); stu[i].printScore(); return; } } } void printAll(){ for(int i=0;i<stu.size();i++){ stu[i].printInformation(); stu[i].printScore(); } } }; int main() { StudentsControl control; while (true) { cout << "欢迎使用学生管理系统!" << endl; cout << "1. 添加学生信息" << endl; cout << "2. 删除学生信息" << endl; cout << "3. 更新学生信息" << endl; cout << "4. 查找学生信息" << endl; cout << "5. 添加学生成绩" << endl; cout << "6. 删除学生成绩" << endl; cout << "7. 更新学生成绩" << endl; cout << "8. 查找学生成绩" << endl; cout << "9. 打印学生信息及成绩" << endl; cout << "10. 打印所有学生信息及成绩" << endl; cout << "0. 退出" << endl; cout << "请输入您的选择: "; int choice; cin >> choice; switch (choice) { case 1: { string name, gender, sno, Class, Grade; cout << "请输入学生姓名: "; cin >> name; cout << "请输入学生性别: "; cin >> gender; cout << "请输入学生学号: "; cin >> sno; cout << "请输入学生班级: "; cin >> Class; cout << "请输入学生年级: "; cin >> Grade; control.add(name, gender, sno, Class, Grade); break; } case 2: { string name; cout << "请输入要删除的学生姓名: "; cin >> name; control.del(name); break; } case 3: { string name, gender, sno, Class, Grade; cout << "请输入要更新的学生姓名: "; cin >> name; cout << "请输入学生性别: "; cin >> gender; cout << "请输入学生学号: "; cin >> sno; cout << "请输入学生班级: "; cin >> Class; cout << "请输入学生年级: "; cin >> Grade; control.sd(name, gender, sno, Class, Grade); break; } case 4: { string name; cout << "请输入要查找的学生姓名: "; cin >> name; control.find(name); break; } case 5: { string name, course; int score; cout << "请输入要添加成绩的学生姓名: "; cin >> name; cout << "请输入课程名称: "; cin >> course; cout << "请输入成绩: "; cin >> score; control.addStuScore(name, course, score); break; } case 6: { string name, course; cout << "请输入要删除成绩的学生姓名: "; cin >> name; cout << "请输入课程名称: "; cin >> course; control.delStuScore(name, course); break; } case 7: { string name, course; int score; cout << "请输入要更新成绩的学生姓名: "; cin >> name; cout << "请输入课程名称: "; cin >> course; cout << "请输入新成绩: "; cin >> score; control.sdStuScore(name, course, score); break; } case 8: { string name, course; cout << "请输入要查找成绩的学生姓名: "; cin >> name; cout << "请输入课程名称: "; cin >> course; control.findStu(name, course); break; } case 9: { string name; cout << "请输入要打印信息及成绩的学生姓名: "; cin >> name; control.printstu(name); break; } case 10: { control.printAll(); break; } case 0: { cout << "退出程序。再见!" << endl; return 0; } default: cout << "无效的选择。请重试。" << endl; } } return 0; }
C++--学生信息管理系统
最新推荐文章于 2024-08-12 00:13:37 发布