用c++写一个基于面向对象程序设计的学生管理信息系统
时间: 2023-11-26 11:06:40 浏览: 57
好的,以下是一个简单的学生管理信息系统的类设计和实现:
```c++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Student {
public:
Student(string name, int id, float score) : name_(name), id_(id), score_(score) {}
string getName() const { return name_; }
int getID() const { return id_; }
float getScore() const { return score_; }
void setName(string name) { name_ = name; }
void setID(int id) { id_ = id; }
void setScore(float score) { score_ = score; }
void printInfo() const {
cout << "Name: " << name_ << endl;
cout << "ID: " << id_ << endl;
cout << "Score: " << score_ << endl;
}
private:
string name_;
int id_;
float score_;
};
class StudentManager {
public:
void addStudent(const Student& student) {
students_.push_back(student);
}
void removeStudent(int id) {
for (auto iter = students_.begin(); iter != students_.end(); iter++) {
if (iter->getID() == id) {
students_.erase(iter);
break;
}
}
}
void printAllStudents() const {
for (auto student : students_) {
student.printInfo();
cout << endl;
}
}
private:
vector<Student> students_;
};
int main() {
StudentManager manager;
// add some students
manager.addStudent(Student("Alice", 1001, 90.5));
manager.addStudent(Student("Bob", 1002, 85.0));
manager.addStudent(Student("Charlie", 1003, 92.0));
// print all students
manager.printAllStudents();
// remove one student
manager.removeStudent(1002);
// print all students again
manager.printAllStudents();
return 0;
}
```
在这个程序中,`Student` 类表示一个学生,包含姓名、学号和成绩三个属性,以及相应的访问和修改方法。`StudentManager` 类表示学生管理器,包含添加、删除和打印所有学生的方法。程序的 `main` 函数演示了如何使用这些类来管理学生信息。
需要注意的是,这只是一个简单的示例,实际的学生管理系统可能需要更多的功能和复杂的设计。