类 "Student" 没有成员 "score" DATA STRUCTURE
时间: 2023-10-14 20:05:56 浏览: 116
这可能是因为在 "Student" 类中没有定义成员变量 "score"。如果要在 "Student" 类中添加 "score" 成员变量,您可以在类定义中添加该成员变量的声明,并在构造函数或其他适当的方法中初始化它。
示例代码如下:
```python
class Student:
def __init__(self, score):
self.score = score
# 创建一个 Student 对象,并设置 score 值为 90
student1 = Student(90)
```
相关问题
5、设计一个CStudent(学生)类,并使CStudent类具有以下特点: 1)该类有学生姓名、学号、C++程序设计、高等数学、数据结构三门课程的成绩; 2)学生全部信息由键盘输入,以提高程序的适应性; 3)通过成员函数统计学生平均成绩,当课程数量增加时,成员函数无须修改仍可以求取平均成绩; 4)输出学生的基本信息、各科成绩与平均成绩; 5)学生对象的定义采用对象数组实现
回答:
为了实现这个CStudent(学生)类,我们需要定义一个具有学生姓名、学号、三门课程的成绩的结构体来存储每个学生的信息,在结构体中,我们还需要定义一个成员函数来计算学生的平均分数。为了增加程序的适应性,我们从键盘读入每位学生的详细信息。最后,我们定义一个类,将结构体和函数封装起来,实现我们所需的目标。以下是实现这个类的一种方法:
```c++
#include<iostream>
#include<string>
using namespace std;
struct student{
string name;
int id;
float c_score;
float math_score;
float ds_score;
float average_score;
};
class CStudent{
public:
void set_data();
void calculate_average_score();
void display_data();
private:
student st;
};
void CStudent::set_data(){
cout<<"Enter student name: ";
getline(cin, st.name);
cout<<"Enter student id: ";
cin>>st.id;
cout<<"Enter C score: ";
cin>>st.c_score;
cout<<"Enter Math score: ";
cin>>st.math_score;
cout<<"Enter Data Structure score: ";
cin>>st.ds_score;
}
void CStudent::calculate_average_score(){
st.average_score = (st.c_score + st.math_score + st.ds_score) / 3;
}
void CStudent::display_data(){
cout<<"Student name: "<<st.name<<endl;
cout<<"Student id: "<<st.id<<endl;
cout<<"C score: "<<st.c_score<<endl;
cout<<"Math score: "<<st.math_score<<endl;
cout<<"Data Structure score: "<<st.ds_score<<endl;
cout<<"Average score: "<<st.average_score<<endl;
}
int main(){
int n;
cout<<"How many students do you want to create? ";
cin>>n;
CStudent *a = new CStudent[n];
for(int i=0;i<n;i++){
cout<<"Enter details of student "<<i+1<<endl;
a[i].set_data();
a[i].calculate_average_score();
}
for(int i=0;i<n;i++){
cout<<"\nDetails of student "<<i+1<<endl;
a[i].display_data();
}
delete[] a;
return 0;
}
```
当您运行程序时,它将提示您输入要创建的学生数,然后依次请求每位学生的详细信息,最后显示每位学生的详细信息和平均分数。
1、设计一个学生类,要求如下: ①学生基本特征包括学号,姓名,Java程序 设计课程成绩、数据结构课程成绩; ②设计一个能初始化学号,姓名等特征的构 造方法;另一个构造方法能初始化所有学生特 征
好的,这是一个很常见的面向对象的编程问题,下面是一个简单的学生类的实现:
```python
class Student:
def __init__(self, id, name, java_score=0, data_structure_score=0):
self.id = id
self.name = name
self.java_score = java_score
self.data_structure_score = data_structure_score
def __str__(self):
return f"学号:{self.id}, 姓名:{self.name}, Java程序设计课程成绩:{self.java_score}, 数据结构课程成绩:{self.data_structure_score}"
```
这个类有一个初始化方法 `__init__`,用于初始化学生的特征,其中 `id` 和 `name` 是必须要传入的参数,`java_score` 和 `data_structure_score` 是可选参数,默认初始化为0。同时,实现了一个 `__str__` 方法,用于打印学生的信息。
如果要初始化所有学生特征,可以这样使用:
```python
s = Student('001', '张三', 90, 85)
print(s)
```
输出结果:
```
学号:001, 姓名:张三, Java程序设计课程成绩:90, 数据结构课程成绩:85
```
如果只初始化学号和姓名,其他特征使用默认值,可以这样:
```python
s = Student('002', '李四')
print(s)
```
输出结果:
```
学号:002, 姓名:李四, Java程序设计课程成绩:0, 数据结构课程成绩:0
```
希望这个回答可以帮助到你。
阅读全文