用c++写面向对象程序设计的学生成绩管理系统
时间: 2024-05-10 14:18:00 浏览: 97
好的,以下是一个简单的面向对象程序设计的学生成绩管理系统的C++代码:
```cpp
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Student {
private:
string name;
int id;
vector<int> scores;
public:
Student(string n, int i) : name(n), id(i) {}
void addScore(int score) {
scores.push_back(score);
}
double getAverageScore() {
int sum = 0;
for (int score : scores) {
sum += score;
}
return (double)sum / scores.size();
}
void printInfo() {
cout << "Name: " << name << endl;
cout << "ID: " << id << endl;
cout << "Scores: ";
for (int score : scores) {
cout << score << " ";
}
cout << endl;
cout << "Average score: " << getAverageScore() << endl;
}
};
class ScoreManager {
private:
vector<Student> students;
public:
void addStudent(Student student) {
students.push_back(student);
}
void addScore(int studentIndex, int score) {
students[studentIndex].addScore(score);
}
void printInfo() {
for (Student student : students) {
student.printInfo();
}
}
};
int main() {
ScoreManager scoreManager;
Student student1("Tom", 1001);
student1.addScore(80);
student1.addScore(90);
student1.addScore(85);
scoreManager.addStudent(student1);
Student student2("Jerry", 1002);
student2.addScore(75);
student2.addScore(85);
student2.addScore(90);
scoreManager.addStudent(student2);
scoreManager.printInfo();
return 0;
}
```
这个程序中,我们定义了两个类:`Student` 和 `ScoreManager`。其中,`Student` 类表示一个学生,包含学生的姓名、学号和成绩;`ScoreManager` 类表示一个成绩管理系统,包含多个学生。
在 `Student` 类中,我们提供了添加成绩、计算平均成绩和打印学生信息的方法。在 `ScoreManager` 类中,我们提供了添加学生、添加成绩和打印所有学生信息的方法。
在 `main` 函数中,我们创建了两个学生对象,并将它们添加到成绩管理系统中。然后,我们打印所有学生的信息。