设计一个CStudent(学生)类,并使CStudent类具有以下特点: 1)该类有学生姓名、学号、C++程序设计、高等数学、数据结构三门课程的成绩; 2)学生全部信息由键盘输入,以提高程序的适应性; 3)通过成员函数统计学生平均成绩,当课程数量增加时,成员函数无须修改仍可以求取平均成绩; 4)输出学生的基本信息、各科成绩与平均成绩; 5)学生对象的定义采用对象数组实现;
时间: 2023-05-19 15:06:46 浏览: 134
好的,我可以回答这个问题。以下是一个简单的CStudent类的实现,满足上述要求:
```c++
#include <iostream>
#include <string>
using namespace std;
class CStudent {
public:
string name; // 学生姓名
string id; // 学号
double c_score; // C程序设计成绩
double math_score; // 高等数学成绩
double ds_score; // 数据结构成绩
void input() { // 输入学生信息
cout << "请输入学生姓名:";
cin >> name;
cout << "请输入学号:";
cin >> id;
cout << "请输入C程序设计成绩:";
cin >> c_score;
cout << "请输入高等数学成绩:";
cin >> math_score;
cout << "请输入数据结构成绩:";
cin >> ds_score;
}
double average() { // 计算平均成绩
return (c_score + math_score + ds_score) / 3;
}
void output() { // 输出学生信息
cout << "学生姓名:" << name << endl;
cout << "学号:" << id << endl;
cout << "C程序设计成绩:" << c_score << endl;
cout << "高等数学成绩:" << math_score << endl;
cout << "数据结构成绩:" << ds_score << endl;
cout << "平均成绩:" << average() << endl;
}
};
int main() {
const int N = 3; // 学生数量
CStudent students[N]; // 学生对象数组
// 输入学生信息
for (int i = 0; i < N; i++) {
cout << "请输入第" << i + 1 << "个学生的信息:" << endl;
students[i].input();
}
// 输出学生信息
for (int i = 0; i < N; i++) {
cout << "第" << i + 1 << "个学生的信息:" << endl;
students[i].output();
}
return 0;
}
```
这个CStudent类具有以下特点:
1. 该类有学生姓名、学号、C程序设计、高等数学、数据结构三门课程的成绩;
2. 学生全部信息由键盘输入,以提高程序的适应性;
3. 通过成员函数统计学生平均成绩,当课程数量增加时,成员函数无须修改仍可以求取平均成绩;
4. 输出学生的基本信息、各科成绩与平均成绩;
5. 学生对象的定义采用对象数组实现。
阅读全文