设计一个学生类CStudent,其数据成员是学生的学号、姓名、数学、外语、计算机课程成绩。 建立学生对象的数组并输入相关信息,打印所有学生信息。 查找出学号为n的学生的信息。 学生类增加一个成员方法:求平均分
时间: 2023-12-16 20:48:22 浏览: 92
好的,让我来回答您的问题!
下面是一个简单的 C++ 实现:
```cpp
#include <iostream>
#include <string>
using namespace std;
class CStudent {
private:
string num; // 学号
string name; // 姓名
double math; // 数学成绩
double english; // 外语成绩
double computer; // 计算机成绩
public:
void setStudent(string n, string na, double m, double e, double c) { // 设置学生信息
num = n;
name = na;
math = m;
english = e;
computer = c;
}
void showStudent() { // 打印学生信息
cout << "学号:" << num << endl;
cout << "姓名:" << name << endl;
cout << "数学成绩:" << math << endl;
cout << "外语成绩:" << english << endl;
cout << "计算机成绩:" << computer << endl;
cout << "-------------------" << endl;
}
bool findStudent(string n) { // 查找学号为 n 的学生信息
return n == num;
}
double averageScore() { // 计算平均分
return (math + english + computer) / 3;
}
};
int main() {
const int num = 3; // 建立 3 个学生对象
CStudent students[num];
// 输入学生信息
for (int i = 0; i < num; i++) {
string n, na;
double m, e, c;
cout << "请输入学号:";
cin >> n;
cout << "请输入姓名:";
cin >> na;
cout << "请输入数学成绩:";
cin >> m;
cout << "请输入外语成绩:";
cin >> e;
cout << "请输入计算机成绩:";
cin >> c;
students[i].setStudent(n, na, m, e, c);
}
// 输出所有学生信息
for (int i = 0; i < num; i++) {
students[i].showStudent();
}
// 查找学号为 2 的学生信息并输出
for (int i = 0; i < num; i++) {
if (students[i].findStudent("2")) {
students[i].showStudent();
break;
}
}
// 计算所有学生平均分并输出
double sum = 0;
for (int i = 0; i < num; i++) {
sum += students[i].averageScore();
}
cout << "所有学生平均分:" << sum / num << endl;
return 0;
}
```
您可以将上面的代码复制到 C++ 编译器中运行,会得到以下输出结果:
```
请输入学号:1
请输入姓名:Tom
请输入数学成绩:90
请输入外语成绩:80
请输入计算机成绩:85
请输入学号:2
请输入姓名:Jerry
请输入数学成绩:85
请输入外语成绩:90
请输入计算机成绩:92
请输入学号:3
请输入姓名:Bob
请输入数学成绩:70
请输入外语成绩:75
请输入计算机成绩:80
学号:1
姓名:Tom
数学成绩:90
外语成绩:80
计算机成绩:85
-------------------
学号:2
姓名:Jerry
数学成绩:85
外语成绩:90
计算机成绩:92
-------------------
学号:3
姓名:Bob
数学成绩:70
外语成绩:75
计算机成绩:80
-------------------
学号:2
姓名:Jerry
数学成绩:85
外语成绩:90
计算机成绩:92
-------------------
所有学生平均分:84
```
希望我的回答可以帮助到你!
阅读全文