使用C++,设计一个考试成绩类CScore,实现一个班级的成绩录入,计算最高分最低分和平均分。要求分别通过3个成员函数输入学号姓名成绩;计算最低分最高分和平均分;输出结果
时间: 2024-01-22 13:17:25 浏览: 96
C语言输入学生成绩,计算并输出这些学生的最低分、最高分、平均分。
下面是一个简单的CScore类的实现,其中包括了三个成员函数用于输入学号、姓名和成绩,以及计算最低分、最高分和平均分,并且还提供了一个成员函数用于输出结果。
```c++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class CScore {
public:
CScore() : max_score(0), min_score(100), total_score(0) {}
void add_score(string name, int num, int score) {
names.push_back(name);
nums.push_back(num);
scores.push_back(score);
total_score += score;
if (score > max_score) {
max_score = score;
}
if (score < min_score) {
min_score = score;
}
}
void print_result() {
double avg_score = total_score / scores.size();
cout << "最高分:" << max_score << endl;
cout << "最低分:" << min_score << endl;
cout << "平均分:" << avg_score << endl;
}
void input() {
string name;
int num, score;
cout << "请输入学生信息(姓名 学号 成绩):" << endl;
cin >> name >> num >> score;
add_score(name, num, score);
}
private:
vector<string> names;
vector<int> nums;
vector<int> scores;
int max_score;
int min_score;
int total_score;
};
int main() {
CScore score;
int num_students;
cout << "请输入学生人数:" << endl;
cin >> num_students;
for (int i = 0; i < num_students; ++i) {
score.input();
}
score.print_result();
return 0;
}
```
在上面的代码中,我们使用了一个vector来存储学生的姓名、学号和成绩,同时也记录了最高分、最低分和总分,最后通过计算平均分来得出结果。在main函数中,我们首先要求用户输入学生人数,然后循环调用input函数进行成绩录入,最后输出结果。
阅读全文