用c++定义一个结构体,包含学生学号,姓名,和三门课成绩。定义一个函数,求若干成绩所有科目总的平均成绩。主函数负责结构体数组的定义和输入
时间: 2024-02-11 21:04:36 浏览: 86
好的,以下是代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
// 定义结构体
struct Student {
string id; // 学号
string name; // 姓名
double score1; // 第一门课成绩
double score2; // 第二门课成绩
double score3; // 第三门课成绩
};
// 求平均成绩
double calculateAverageScore(Student stu[], int n) {
double totalScore = 0;
int totalNum = n * 3; // 总成绩数
for (int i = 0; i < n; i++) {
totalScore += stu[i].score1 + stu[i].score2 + stu[i].score3;
}
return totalScore / totalNum;
}
int main() {
const int n = 3; // 学生数
Student stu[n]; // 定义结构体数组
// 输入学生信息
for (int i = 0; i < n; i++) {
cout << "请输入第" << i + 1 << "个学生的学号、姓名和三门课成绩(以空格分隔):" << endl;
cin >> stu[i].id >> stu[i].name >> stu[i].score1 >> stu[i].score2 >> stu[i].score3;
}
// 输出平均成绩
cout << "所有科目的平均成绩为:" << calculateAverageScore(stu, n) << endl;
return 0;
}
```
这个程序定义了一个 `Student` 的结构体,包含了学号、姓名和三门课成绩,还定义了一个 `calculateAverageScore` 函数,用于计算总的平均成绩。在主函数中,通过循环输入每个学生的信息,然后调用 `calculateAverageScore` 函数输出平均成绩。
阅读全文