定义学生类Student,包含学号、姓名、年龄和若干门课的成绩,要求: 键盘输入信息对一个学生对象初始化: 求学生的平均成绩。 输出所有信息。 c++
时间: 2024-02-06 18:12:56 浏览: 98
好的,下面是定义学生类 Student 的代码。其中,构造函数用于初始化学生信息;成员函数 getAverageScore() 用于计算学生的平均成绩;成员函数 display() 用于输出学生的所有信息。
```c++
#include <iostream>
#include <string>
using namespace std;
class Student {
private:
string id; // 学号
string name; // 姓名
int age; // 年龄
int courseNum; // 课程数目
int *scores; // 成绩数组
public:
// 构造函数,用于初始化学生信息
Student(string id, string name, int age, int courseNum) {
this->id = id;
this->name = name;
this->age = age;
this->courseNum = courseNum;
scores = new int[courseNum];
for (int i = 0; i < courseNum; i++) {
cout << "请输入" << name << "的第" << i+1 << "门课成绩:";
cin >> scores[i];
}
}
// 析构函数,用于释放成绩数组的内存空间
~Student() {
delete[] scores;
}
// 计算学生的平均成绩
double getAverageScore() {
double sum = 0;
for (int i = 0; i < courseNum; i++) {
sum += scores[i];
}
return sum / courseNum;
}
// 输出学生的所有信息
void display() {
cout << "学生信息如下:" << endl;
cout << "学号:" << id << endl;
cout << "姓名:" << name << endl;
cout << "年龄:" << age << endl;
cout << "成绩:";
for (int i = 0; i < courseNum; i++) {
cout << scores[i] << " ";
}
cout << endl;
cout << "平均成绩:" << getAverageScore() << endl;
}
};
int main() {
string id, name;
int age, courseNum;
cout << "请输入学号:";
cin >> id;
cout << "请输入姓名:";
cin >> name;
cout << "请输入年龄:";
cin >> age;
cout << "请输入课程数目:";
cin >> courseNum;
Student stu(id, name, age, courseNum);
stu.display();
return 0;
}
```
阅读全文