C++实现一个简单的学籍管理功能。设计一个学生类Student,要求包含学生的学号,姓名,年级,专业。学生对象保存入list容器中。设置一个学生管理类StudentMS,该类用于完成对学生的增删改查操作。
时间: 2025-01-26 09:12:16 浏览: 25
在C++中,我们可以使用`std::vector`或`std::list`作为动态数组来实现学籍管理的功能。首先,我们创建一个名为`Student`的类,它包含学号、姓名、年级和专业的属性,以及必要的构造函数和getter/setter方法。
```cpp
#include <iostream>
#include <string>
#include <list>
class Student {
public:
int studentID;
std::string name;
int grade;
std::string major;
// 构造函数
Student(int id, const std::string& n, int g, const std::string& m) :
studentID(id), name(n), grade(g), major(m) {}
// 获取set方法
std::string getStudentInfo() {
return "学号:" + std::to_string(studentID) + ", 姓名:" + name + ", 年级:" + std::to_string(grade) + ", 专业:" + major;
}
// 设定set方法可以省略,因为默认提供给`std::list`
};
// 学生管理类StudentMS
class StudentManagementSystem {
private:
std::list<Student> students; // 使用list存储学生
public:
// 添加学生
void addStudent(const Student& s) {
students.push_back(s);
}
// 删除学生
void removeStudent(int studentID) {
for (auto it = students.begin(); it != students.end(); ++it) {
if (it->studentID == studentID) {
students.erase(it);
break;
}
}
}
// 修改学生信息
void updateStudent(Student& s) {
// 这里假设找到学生后直接更新,实际应用需要搜索和处理异常
for (auto& stu : students) {
if (stu.studentID == s.studentID) {
stu = s;
break;
}
}
}
// 查询学生信息
void searchStudent(int studentID, std::string& info) {
for (const auto& stu : students) {
if (stu.studentID == studentID) {
info = stu.getStudentInfo();
break;
}
}
}
};
```
在这个例子中,`StudentManagementSystem`类负责管理`Student`列表,并实现了添加、删除、修改和查询学生的基本操作。你可以通过创建`StudentMS`对象并调用其成员函数来进行学籍管理。
阅读全文
相关推荐


















