编写一个C++面向对象程序并加以注释:实现一个学生期末成绩管理系统,科目包含:语文,数学,英语。并求平均分,根据班级人数求平均成绩
时间: 2023-05-12 16:03:38 浏览: 124
好的,以下是一个简单的C++面向对象程序,实现了一个学生期末成绩管理系统:
```cpp
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Student {
public:
Student(string name, int chinese, int math, int english) {
this->name = name;
this->chinese = chinese;
this->math = math;
this->english = english;
}
string getName() {
return name;
}
int getChinese() {
return chinese;
}
int getMath() {
return math;
}
int getEnglish() {
return english;
}
double getAverage() {
return (chinese + math + english) / 3.0;
}
private:
string name;
int chinese;
int math;
int english;
};
class GradeManager {
public:
GradeManager() {
numStudents = 0;
totalChinese = 0;
totalMath = 0;
totalEnglish = 0;
}
void addStudent(Student student) {
students.push_back(student);
numStudents++;
totalChinese += student.getChinese();
totalMath += student.getMath();
totalEnglish += student.getEnglish();
}
double getAverageChinese() {
return totalChinese / (double)numStudents;
}
double getAverageMath() {
return totalMath / (double)numStudents;
}
double getAverageEnglish() {
return totalEnglish / (double)numStudents;
}
double getAverageOverall() {
double total = 0;
for (int i = 0; i < numStudents; i++) {
total += students[i].getAverage();
}
return total / (double)numStudents;
}
private:
vector<Student> students;
int numStudents;
int totalChinese;
int totalMath;
int totalEnglish;
};
int main() {
GradeManager manager;
// 添加学生
manager.addStudent(Student("张三", 80, 90, 85));
manager.addStudent(Student("李四", 75, 85, 90));
manager.addStudent(Student("王五", 90, 80, 95));
// 输出各科平均分和总平均分
cout << "语文平均分:" << manager.getAverageChinese() << endl;
cout << "数学平均分:" << manager.getAverageMath() << endl;
cout << "英语平均分:" << manager.getAverageEnglish() << endl;
cout << "总平均分:" << manager.getAverageOverall() << endl;
return 0;
}
```
这个程序定义了两个类,`Student` 和 `GradeManager`。`Student` 类表示一个学生,包含姓名和三门科目的成绩,以及计算平均分的方法。`GradeManager` 类表示一个班级的成绩管理器,包含一个学生列表和一些计算平均分的方法。
在 `main` 函数中,我们创建了一个 `GradeManager` 对象,并添加了三个学生。然后,我们调用 `GradeManager` 的各种方法,输出各科平均分和总平均分。
注释已经加上了,希望能够帮助你理解这个程序的实现。
阅读全文