1.设计一个CStudent (学生)类,并使CStudent类具有以下特点: a. 该类具有学生姓名、学号、程序设计、信号处理、数据结构三门课程的 成绩; b.学生全部信息由键盘输入,以提高程序的适应性; c.通过成员函数统计学生平均成绩,当课程数量增加时,成员函数无须修 改仍可以求取平均成绩; d.输出学生的基本信息、各科成绩与平均成绩: e.学生对象的定义采用对象数组实现: f.统计不及格学生人数 数:1863√拼写检查 岳库 文档校对
时间: 2023-06-10 12:05:32 浏览: 146
CStudent类的设计如下:
```
#include <iostream>
using namespace std;
class CStudent {
private:
string name; // 学生姓名
string id; // 学号
double programScore; // 程序设计成绩
double signalScore; // 信号处理成绩
double dataStructureScore; // 数据结构成绩
public:
// 输入学生信息
void input() {
cout << "请输入学生姓名:" << endl;
cin >> name;
cout << "请输入学号:" << endl;
cin >> id;
cout << "请输入程序设计成绩:" << endl;
cin >> programScore;
cout << "请输入信号处理成绩:" << endl;
cin >> signalScore;
cout << "请输入数据结构成绩:" << endl;
cin >> dataStructureScore;
}
// 计算平均成绩
double averageScore() {
return (programScore + signalScore + dataStructureScore) / 3.0;
}
// 输出学生信息
void output() {
cout << "姓名:" << name << endl;
cout << "学号:" << id << endl;
cout << "程序设计成绩:" << programScore << endl;
cout << "信号处理成绩:" << signalScore << endl;
cout << "数据结构成绩:" << dataStructureScore << endl;
cout << "平均成绩:" << averageScore() << endl;
}
// 判断是否不及格
bool isFail() {
return programScore < 60 || signalScore < 60 || dataStructureScore < 60;
}
};
int main() {
const int MAX_NUM = 10; // 最多输入10个学生的信息
CStudent students[MAX_NUM];
int failCount = 0; // 不及格学生人数
int n; // 学生数量
do {
cout << "请输入学生数量(不超过" << MAX_NUM << "个):" << endl;
cin >> n;
} while (n <= 0 || n > MAX_NUM);
for (int i = 0; i < n; i++) {
students[i].input();
if (students[i].isFail()) {
failCount++;
}
}
cout << "学生信息如下:" << endl;
for (int i = 0; i < n; i++) {
students[i].output();
}
cout << "不及格学生人数:" << failCount << endl;
return 0;
}
```
注意事项:
1. CStudent类中的成员变量和成员函数都需要声明为public,以便在main函数中使用。
2. isFail函数用于判断学生是否不及格,根据题目要求,只有任意一门成绩低于60分才算不及格。
3. 对象数组的定义采用const int MAX_NUM = 10; CStudent students[MAX_NUM];,可以根据需要修改MAX_NUM的值。
阅读全文