使用C++,设计一个考试成绩类CScore,分别通过3个成员函数实现输入学号姓名成绩;计算最低分最高分和平均分;输出结果
时间: 2024-01-22 21:17:18 浏览: 96
以下是基于你的要求设计的CScore类的代码:
```cpp
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
class CScore {
public:
void Input() {
cout << "请输入学生的学号:";
cin >> m_number;
cout << "请输入学生的姓名:";
cin >> m_name;
cout << "请输入学生的成绩:";
cin >> m_score;
m_scores.push_back(m_score);
}
void Calculate() {
m_minScore = *min_element(m_scores.begin(), m_scores.end());
m_maxScore = *max_element(m_scores.begin(), m_scores.end());
double sum = 0;
for (int i = 0; i < m_scores.size(); i++) {
sum += m_scores[i];
}
m_avgScore = sum / m_scores.size();
}
void Output() {
cout << "学号:" << m_number << endl;
cout << "姓名:" << m_name << endl;
cout << "最低分:" << m_minScore << endl;
cout << "最高分:" << m_maxScore << endl;
cout << "平均分:" << m_avgScore << endl;
}
private:
string m_number;
string m_name;
double m_score;
vector<double> m_scores;
double m_minScore;
double m_maxScore;
double m_avgScore;
};
int main() {
CScore score;
score.Input();
score.Input();
score.Calculate();
score.Output();
return 0;
}
```
在这个CScore类中,我们定义了三个成员函数,分别用于输入学号、姓名和成绩,计算最低分、最高分和平均分以及输出结果。我们使用了一个vector容器来存储学生的成绩,方便后续的计算。
在主函数中,我们创建了一个CScore对象score,并连续调用两次Input函数来输入两个学生的信息。然后,我们调用Calculate函数来计算最低分、最高分和平均分,并调用Output函数来输出结果。
以上代码是基于你的要求而设计的,仅供参考。如果你有其他的要求,可以在评论中提出,我将尽力为你解答。
阅读全文