写一个C++程序:2.每个学生有学号、姓名、语文、数学、外语和平均成绩。建立一个最多保存五个学生成绩的结构体类型数组。 Input函数输入学生的学号、姓名和三门课的成绩,并计算平均成绩,函数首部为: Input(int n, struct STUDENT s[]) 主程序调用Input函数输入学生成绩,然后输出学生的信息。
时间: 2023-11-28 20:48:28 浏览: 103
以下是实现上述功能的C++程序:
```c++
#include <iostream>
#include <string>
using namespace std;
struct STUDENT {
string id;
string name;
float chinese;
float math;
float english;
float average;
};
void Input(int n, STUDENT s[]) {
for (int i = 0; i < n; i++) {
cout << "Enter student #" << i+1 << " id: ";
cin >> s[i].id;
cout << "Enter student #" << i+1 << " name: ";
cin >> s[i].name;
cout << "Enter student #" << i+1 << " Chinese score: ";
cin >> s[i].chinese;
cout << "Enter student #" << i+1 << " Math score: ";
cin >> s[i].math;
cout << "Enter student #" << i+1 << " English score: ";
cin >> s[i].english;
s[i].average = (s[i].chinese + s[i].math + s[i].english) / 3;
cout << endl;
}
}
int main() {
const int N = 5;
STUDENT students[N];
Input(N, students);
for (int i = 0; i < N; i++) {
cout << "Student #" << i+1 << " info: " << endl;
cout << "ID: " << students[i].id << endl;
cout << "Name: " << students[i].name << endl;
cout << "Chinese score: " << students[i].chinese << endl;
cout << "Math score: " << students[i].math << endl;
cout << "English score: " << students[i].english << endl;
cout << "Average score: " << students[i].average << endl << endl;
}
return 0;
}
```
该程序首先定义了一个结构体 `STUDENT`,其中包含了学生的基本信息和成绩信息。接着定义了一个 `Input` 函数,用于输入学生信息并计算平均成绩。最后在主函数中调用 `Input` 函数输入学生成绩,并输出每个学生的信息。
需要注意的是,该程序中使用了常量 `N` 来表示学生数量,其值为 `5`。如果需要处理不同数量的学生,可以将 `N` 定义为变量,并根据实际情况进行赋值。
阅读全文