编写一个学生类。类中包含如下数据成员:姓名、性别、学号以及4门课的成绩;编写构造函数来为数据成员赋值;编写一个成员函数,能够计算这4门课的平均成绩;再编写一个成员函数,能够显示所有的数据成员;然后定义
时间: 2023-05-31 07:17:49 浏览: 239
### 回答1:
一个学生类,包含姓名、性别、学号和4门课的成绩。构造函数用于初始化数据成员,成员函数用于计算平均成绩和显示所有数据成员。以下是示例代码:
```python
class Student:
def __init__(self, name, gender, student_id, score1, score2, score3, score4):
self.name = name
self.gender = gender
self.student_id = student_id
self.score1 = score1
self.score2 = score2
self.score3 = score3
self.score4 = score4
def average_score(self):
return (self.score1 + self.score2 + self.score3 + self.score4) / 4
def display_info(self):
print("姓名:", self.name)
print("性别:", self.gender)
print("学号:", self.student_id)
print("成绩1:", self.score1)
print("成绩2:", self.score2)
print("成绩3:", self.score3)
print("成绩4:", self.score4)
# 示例代码
s = Student("张三", "男", "001", 80, 90, 85, 95)
s.display_info()
print("平均成绩:", s.average_score())
```
输出结果:
```
姓名: 张三
性别: 男
学号: 001
成绩1: 80
成绩2: 90
成绩3: 85
成绩4: 95
平均成绩: 87.5
```
### 回答2:
C++代码如下:
```c++
#include <iostream>
#include <string>
class Student {
private:
std::string name;
std::string gender;
std::string id;
double chinese_score;
double math_score;
double english_score;
double computer_score;
public:
Student(std::string name, std::string gender, std::string id,
double chinese_score, double math_score, double english_score, double computer_score) {
this->name = name;
this->gender = gender;
this->id = id;
this->chinese_score = chinese_score;
this->math_score = math_score;
this->english_score = english_score;
this->computer_score = computer_score;
}
double average_score() {
return (chinese_score + math_score + english_score + computer_score) / 4;
}
void display() {
std::cout << "Name: " << name << std::endl;
std::cout << "Gender: " << gender << std::endl;
std::cout << "ID: " << id << std::endl;
std::cout << "Chinese score: " << chinese_score << std::endl;
std::cout << "Math score: " << math_score << std::endl;
std::cout << "English score: " << english_score << std::endl;
std::cout << "Computer score: " << computer_score << std::endl;
std::cout << "Average score: " << average_score() << std::endl;
}
};
int main() {
Student s("Alice", "female", "20210001", 90, 85, 92, 88);
s.display();
return 0;
}
```
上面的代码中,我们定义了一个 `Student` 类,并包含了所需的数据成员和方法:
- `name`、`gender` 和 `id` 存储学生的姓名、性别和学号;
- `chinese_score`、`math_score`、`english_score` 和 `computer_score` 存储四门课程的成绩;
- 构造函数 `Student` 用于初始化数据成员;
- `average_score` 函数用于计算四门课程的平均成绩;
- `display` 函数用于显示所有数据成员和平均成绩。
在 `main` 函数中,我们创建了一个 `Student` 对象 `s`,并调用了 `display` 函数来显示学生信息。当然,我们可以根据需要创建多个 `Student` 对象,来表示多位学生,并分别调用 `display` 函数。
### 回答3:
首先,我们需要编写一个学生类,包含姓名、性别、学号和4门课的成绩。我们可以在这个类中定义如下的数据成员:
```
class Student {
private:
string name; // 姓名
string gender; // 性别
string id; // 学号
float scores[4]; // 4门课的成绩
```
接下来,我们需要编写一个构造函数来为这些数据成员赋值:
```
public:
Student(string n, string g, string i, float s[]) {
name = n;
gender = g;
id = i;
for (int j = 0; j < 4; j++) {
scores[j] = s[j];
}
}
```
然后,我们需要编写一个成员函数,用来计算这4门课的平均成绩:
```
float average() {
float sum = 0;
for (int i = 0; i < 4; i++) {
sum += scores[i];
}
return sum / 4;
}
```
最后,我们可以编写一个成员函数来显示所有的数据成员:
```
void display() {
cout << "姓名:" << name << endl;
cout << "性别:" << gender << endl;
cout << "学号:" << id << endl;
cout << "四门课的成绩:" << endl;
for (int i = 0; i < 4; i++) {
cout << scores[i] << " ";
}
cout << endl;
}
```
这样,我们就定义好了一个学生类,具有姓名、性别、学号以及4门课的成绩的数据成员,以及构造函数、计算平均成绩和显示所有数据成员的成员函数。可以用以下代码来测试:
```
int main() {
string name = "张三";
string gender = "男";
string id = "20180001";
float scores[4] = { 90, 80, 95, 85 };
Student stu(name, gender, id, scores);
float avgScore = stu.average();
stu.display();
cout << "平均成绩:" << avgScore << endl;
return 0;
}
```
阅读全文