学生成绩管理系统c++
时间: 2023-07-19 15:34:32 浏览: 38
好的,你想了解学生成绩管理系统的C++代码,我可以为你提供一些思路和代码实现的示例。首先,我们需要确定这个学生成绩管理系统的功能和需求,然后再根据需求编写代码。
以下是一个简单的学生成绩管理系统的C++代码示例,实现了基本的增删改查功能:
```c++
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
// 学生类
class Student {
public:
Student(string n, int a, int s) : name(n), age(a), score(s) {}
string name;
int age;
int score;
};
// 学生管理类
class StudentManager {
public:
// 添加学生
void addStudent(string name, int age, int score) {
Student s(name, age, score);
students.push_back(s);
}
// 删除学生
void deleteStudent(string name) {
for (auto it = students.begin(); it != students.end(); it++) {
if (it->name == name) {
students.erase(it);
break;
}
}
}
// 修改学生信息
void modifyStudent(string name, int age, int score) {
for (auto it = students.begin(); it != students.end(); it++) {
if (it->name == name) {
it->age = age;
it->score = score;
break;
}
}
}
// 查询学生信息
void queryStudent(string name) {
for (auto it = students.begin(); it != students.end(); it++) {
if (it->name == name) {
cout << "姓名:" << it->name << " 年龄:" << it->age << " 成绩:" << it->score << endl;
break;
}
}
}
// 显示所有学生信息
void showAllStudents() {
for (auto it = students.begin(); it != students.end(); it++) {
cout << "姓名:" << it->name << " 年龄:" << it->age << " 成绩:" << it->score << endl;
}
}
// 排序学生信息
void sortStudentsByScore() {
sort(students.begin(), students.end(), [](const Student& a, const Student& b) { return a.score > b.score; });
}
private:
vector<Student> students;
};
int main() {
StudentManager sm;
// 添加学生
sm.addStudent("小明", 18, 90);
sm.addStudent("小红", 19, 95);
sm.addStudent("小刚", 20, 85);
// 显示所有学生信息
sm.showAllStudents();
// 修改学生信息
sm.modifyStudent("小明", 19, 92);
// 显示所有学生信息
sm.showAllStudents();
// 排序学生信息
sm.sortStudentsByScore();
// 显示所有学生信息
sm.showAllStudents();
// 删除学生
sm.deleteStudent("小红");
// 显示所有学生信息
sm.showAllStudents();
// 查询学生信息
sm.queryStudent("小刚");
return 0;
}
```
上面的代码中,我们定义了一个学生类和一个学生管理类。学生类包含学生的姓名、年龄和成绩信息,学生管理类包含添加学生、删除学生、修改学生信息、查询学生信息、显示所有学生信息、排序学生信息等功能。我们通过vector容器来存储所有学生信息,通过lambda表达式来实现按照成绩排序的功能。
当然,这只是一个简单的示例,实际的学生成绩管理系统还需要考虑更多的功能和需求,比如文件读写、数据校验、界面设计等。希望这个示例能对你有所帮助。