使用指针,计算3个学生某门功课的最终成绩。(提示:定义类Score,数据成员包括学生学号、姓名、平时成绩、期末考试成绩,成员函数包括计算最终成绩、显示成绩)。用cpp编写
时间: 2024-10-09 20:15:56 浏览: 41
设计一个学生类Student(学生学号、姓名、数学、英语、计算机成绩;)
5星 · 资源好评率100%
在C++中,你可以创建一个名为`Student`的类来表示学生,包含姓名、学号、平时成绩和期末考试成绩的数据成员。然后,你可以定义一个指向`Student`对象的指针数组来存储三个学生的数据。下面是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
// 定义 Student 类
class Student {
public:
int id;
string name;
double regular_score;
double final_exam_score;
// 构造函数
Student(int _id, string _name, double _regular_score, double _final_exam_score)
: id(_id), name(_name), regular_score(_regular_score), final_exam_score(_final_exam_score) {}
// 计算最终成绩
double calculate_final_score() {
return regular_score * 0.6 + final_exam_score * 0.4; // 假设常规成绩占总成绩的60%,期末占40%
}
// 显示成绩
void display_score() {
cout << "学生ID: " << id << ", 姓名: " << name << ", 最终成绩: " << calculate_final_score() << endl;
}
};
int main() {
// 创建并初始化3个学生对象的指针
Student* students[3] = {new Student(1, "小明", 85.0, 90.0),
new Student(2, "小红", 90.0, 88.0),
new Student(3, "小李", 88.0, 92.0)};
// 计算每个学生的最终成绩并显示
for (int i = 0; i < 3; i++) {
students[i]->display_score();
}
// 释放内存
for (int i = 0; i < 3; i++) {
delete students[i];
}
return 0;
}
```
在这个例子中,我们首先定义了`Student`类,包含了必要的属性和方法。接着,在`main()`函数里,我们创建了一个大小为3的`Student`指针数组,并为每个元素分配了新的`Student`对象实例。计算并显示每个学生的最终成绩后,别忘了在循环结束后删除动态分配的内存,避免内存泄漏。
阅读全文