用C++编写以下程序:有 5 个学生,每个学生的数据包括学号、姓名、三门课成绩,从键盘输入 5 个学生的数据, 要求计算并输出: (1)每个学生三门课的总成绩。 (2)三门课每门课程的平均成绩。 指导: (1)定义一个学生类 TStudent,包含 4 个私有数据成员(学号、姓名、3 门功课的成绩 和总成绩),3 个公有成员函数(初始化对象的函数 Init、显示学生信息的函数 show_st 和得到 学生 3 门功课成绩的函数 GetScore)。 (2)在 Init 函数中求每个学生三门课的总成绩。 (3)在 main 函数中求三门课每门课程的平均成绩
时间: 2023-12-15 19:10:14 浏览: 562
以下是用C++编写的程序:
```c++
#include <iostream>
#include <string>
using namespace std;
class TStudent {
private:
string id;
string name;
int score[3];
int totalScore;
public:
void Init(string id, string name, int score1, int score2, int score3) {
this->id = id;
this->name = name;
this->score[0] = score1;
this->score[1] = score2;
this->score[2] = score3;
this->totalScore = score1 + score2 + score3;
}
void show_st() {
cout << "学生ID:" << id << endl;
cout << "学生姓名:" << name << endl;
cout << "三门课成绩:" << score[0] << " " << score[1] << " " << score[2] << endl;
cout << "总成绩:" << totalScore << endl;
}
int* GetScore() {
return score;
}
};
int main() {
TStudent students[5];
string id, name;
int score1, score2, score3;
// 输入学生信息
for (int i = 0; i < 5; i++) {
cout << "请输入第" << i + 1 << "个学生的信息:" << endl;
cout << "学生ID:";
cin >> id;
cout << "学生姓名:";
cin >> name;
cout << "三门课成绩:";
cin >> score1 >> score2 >> score3;
students[i].Init(id, name, score1, score2, score3);
}
// 计算平均成绩
int totalScore[3] = {0};
for (int i = 0; i < 5; i++) {
int* score = students[i].GetScore();
totalScore[0] += score[0];
totalScore[1] += score[1];
totalScore[2] += score[2];
}
double avgScore[3] = {0};
for (int i = 0; i < 3; i++) {
avgScore[i] = totalScore[i] / 5.0;
}
// 输出结果
for (int i = 0; i < 5; i++) {
students[i].show_st();
}
cout << "三门课程的平均成绩:" << avgScore[0] << " " << avgScore[1] << " " << avgScore[2] << endl;
return 0;
}
```
程序中定义了一个学生类 `TStudent`,包含学生的学号、姓名、三门课成绩和总成绩。在 `Init` 函数中,计算每个学生的总成绩。在 `main` 函数中,输入学生信息,计算每门课程的平均成绩,然后输出结果。
阅读全文