21xrx.com
2025-03-31 00:22:37 Monday
文章检索 我的文章 写文章
C++定义类和属性求平均绩点
2023-07-05 07:41:03 深夜i     10     0
C++ 定义类 属性 求平均 绩点

在C++中,我们可以使用面向对象编程的方法来定义一个学生类,这个类可以有属性和方法来计算平均绩点。

首先定义一个学生类,包含姓名、学号、各科成绩的数组和平均绩点属性:

class Student {
public:
  string name;
  string id;
  double scores[5];
  double averageGPA;
  void calculateGPA(); // 计算平均绩点方法
};

在这个类中,我们使用了公有的属性和方法。姓名和学号都是字符串类型,成绩数组包含了学生这门科目的五个科目成绩,平均绩点是一个双精度浮点型的属性。

接下来,我们需要编写计算平均绩点的方法,这个方法需要遍历成绩数组,计算出平均分和平均绩点:

void Student::calculateGPA() {
  double sumScore = 0;
  double sumGPA = 0;
  for (int i = 0; i < 5; i++) {
    sumScore += scores[i];
    if (scores[i] >= 90) {
      sumGPA += 4.0;
    } else if (scores[i] >= 80) {
      sumGPA += 3.0;
    } else if (scores[i] >= 70) {
      sumGPA += 2.0;
    } else if (scores[i] >= 60) {
      sumGPA += 1.0;
    } else {
      sumGPA += 0;
    }
  }
  averageGPA = sumGPA / 5;
}

在这个方法中,我们首先定义了两个局部变量,用于分别计算总分和总绩点。然后通过for循环遍历成绩数组,根据不同的成绩范围,分别计算绩点,并累加到总绩点中。最后,我们将总绩点除以5,即可获得平均绩点值。最后,将计算好的平均绩点存储到averageGPA属性中。

现在我们已经定义好了学生类和计算平均绩点方法,在需要使用时,我们可以使用以下代码进行调用:

Student s;
s.name = "张三";
s.id = "1001";
s.scores[0] = 78;
s.scores[1] = 86;
s.scores[2] = 90;
s.scores[3] = 92;
s.scores[4] = 84;
s.calculateGPA();
cout << s.name << "的平均绩点是:" << s.averageGPA << endl;

以上代码中,我们首先定义一个学生对象,然后为这个学生对象设置姓名、学号和五个科目的成绩。接着,调用学生对象的calculateGPA方法,在方法中计算平均绩点。最后,输出这位学生的姓名和平均绩点。

通过这种方式,我们可以方便地使用面向对象编程的方法,在C++中定义一个类和属性,并使用这些属性计算出平均绩点。

  
  

评论区

请求出错了