C++学生管理系统vector代码
时间: 2023-10-01 12:03:44 浏览: 43
以下是一个简单的基于 vector 的 C++ 学生管理系统代码示例:
```cpp
#include <iostream>
#include <vector>
#include <string>
using namespace std;
// 学生类
class Student {
public:
Student(string name, int age) : name(name), age(age) {}
string getName() const { return name; }
int getAge() const { return age; }
private:
string name;
int age;
};
// 学生管理系统类
class StudentManager {
public:
// 添加学生
void addStudent(const Student& student) {
students.push_back(student);
}
// 根据姓名查找学生
Student* findStudentByName(string name) {
for (unsigned int i = 0; i < students.size(); i++) {
if (students[i].getName() == name) {
return &students[i];
}
}
return nullptr;
}
// 根据年龄查找学生
vector<Student> findStudentsByAge(int age) {
vector<Student> result;
for (unsigned int i = 0; i < students.size(); i++) {
if (students[i].getAge() == age) {
result.push_back(students[i]);
}
}
return result;
}
private:
vector<Student> students;
};
int main() {
StudentManager manager;
// 添加学生
manager.addStudent(Student("Alice", 18));
manager.addStudent(Student("Bob", 19));
manager.addStudent(Student("Charlie", 18));
// 根据姓名查找学生
Student* alice = manager.findStudentByName("Alice");
if (alice != nullptr) {
cout << "Alice's age is " << alice->getAge() << endl;
}
// 根据年龄查找学生
vector<Student> age18Students = manager.findStudentsByAge(18);
cout << "Age 18 students:" << endl;
for (unsigned int i = 0; i < age18Students.size(); i++) {
cout << age18Students[i].getName() << endl;
}
return 0;
}
```
该示例中,使用 vector 存储学生对象,并实现了添加学生、根据姓名查找学生、根据年龄查找学生等功能。注释已经在代码中添加,希望能够帮助你理解。