设计一个CStudent(学生)类,并使CStudent类具有以下特点:1)该类有学生姓名、学号、程序设计、信号处理、数据结构三门课程的成绩;2)学生全部信息由键盘输入,以提高程序的适应性;3)通过成员函数统计学生平均成绩,当课程数量增加时,成员函数无须修改仍可以求取平均成绩;4)输出学生的基本信息、各科成绩与平均成绩;5)学生对象的定义采用对象数组实现;6)统计不及格学生人数。
时间: 2023-05-11 07:02:08 浏览: 80
以下是CStudent类的设计代码:
```
#include <iostream>
using namespace std;
class CStudent {
private:
string name; // 学生姓名
string id; // 学号
int score[3]; // 三门课程的成绩
public:
// 构造函数
CStudent() {
cout << "请输入学生姓名:" << endl;
cin >> name;
cout << "请输入学生学号:" << endl;
cin >> id;
cout << "请输入程序设计、信号处理、数据结构三门课程的成绩:" << endl;
for (int i = 0; i < 3; i++) {
cin >> score[i];
}
}
// 成员函数:计算平均成绩
double getAverageScore() {
double sum = 0;
for (int i = 0; i < 3; i++) {
sum += score[i];
}
return sum / 3;
}
// 成员函数:输出学生信息
void printInfo() {
cout << "学生姓名:" << name << endl;
cout << "学生学号:" << id << endl;
cout << "程序设计成绩:" << score[0] << endl;
cout << "信号处理成绩:" << score[1] << endl;
cout << "数据结构成绩:" << score[2] << endl;
cout << "平均成绩:" << getAverageScore() << endl;
}
// 成员函数:判断是否不及格
bool isFailed() {
for (int i = 0; i < 3; i++) {
if (score[i] < 60) {
return true;
}
}
return false;
}
};
int main() {
const int N = 3; // 学生数量
CStudent students[N]; // 学生对象数组
int failedCount = 0; // 不及格学生人数
for (int i = 0; i < N; i++) {
students[i].printInfo();
if (students[i].isFailed()) {
failedCount++;
}
}
cout << "不及格学生人数:" << failedCount << endl;
return 0;
}
```
这个程序实现了CStudent类的设计要求,包括键盘输入学生信息、计算平均成绩、输出学生信息、判断是否不及格等功能。同时,使用了对象数组来定义多个学生对象,方便统计不及格学生人数。