21xrx.com
2024-11-22 09:37:06 Friday
登录
文章检索 我的文章 写文章
C++实现学生成绩输入及排名功能
2023-06-22 14:44:49 深夜i     --     --
C++ 学生成绩 输入 排名功能

C++是一门非常流行的编程语言,适用于各种不同的应用程序,其中就包括学生成绩管理。在本文中,我们将介绍如何使用C++实现学生成绩输入及排名功能。

首先,我们需要定义一个结构体来存储学生的信息。结构体将包括学生姓名、学号以及各科成绩。我们可以使用如下代码来定义这个结构体。


struct student

  string name;

  int id;

  float score1;

  float score2;

  float score3;

  float total;

;

接下来,我们需要编写代码来实现从用户输入学生信息的功能。我们将使用一个数组来存储学生信息,因此我们需要定义一个数组。代码如下:


const int MAX_STUDENTS = 50;

int numOfStudents = 0;

student students[MAX_STUDENTS];

在这个例子中,我们定义了一个包含50个学生的数组,并将其初始化为0。我们还定义了一个名为“numOfStudents”的整数,该整数用于跟踪已输入学生的数量。

我们可以使用如下代码从用户输入学生信息。


void inputStudent() {

  cout << "Please input student's name: ";

  cin >> students[numOfStudents].name;

  cout << "Please input student's id: ";

  cin >> students[numOfStudents].id;

  cout << "Please input score1: ";

  cin >> students[numOfStudents].score1;

  cout << "Please input score2: ";

  cin >> students[numOfStudents].score2;

  cout << "Please input score3: ";

  cin >> students[numOfStudents].score3;

  students[numOfStudents].total = students[numOfStudents].score1 + students[numOfStudents].score2 + students[numOfStudents].score3;

  numOfStudents++;

}

这个函数将提示用户输入学生信息,并将其存储在数组中。我们还根据输入的成绩计算出了每个学生的总分。

现在我们已经实现了输入学生信息的功能,接下来我们需要编写代码来根据每个学生的总分对其进行排名。我们可以使用如下代码来完成这个任务:


void rankStudents() {

  student temp;

  for (int i = 0; i < numOfStudents - 1; i++) {

    for (int j = i + 1; j < numOfStudents; j++) {

      if (students[j].total > students[i].total) {

        temp = students[i];

        students[i] = students[j];

        students[j] = temp;

      }

    }

  }

}

这个函数将使用冒泡排序算法来对学生进行排名。我们将逐一比较每个学生的总分,并将它们按照分值从高到低排序。排名结束后,我们可以使用如下代码来将排名结果输出至控制台:


void printRanking() {

  cout << "Ranking:\n";

  for (int i = 0; i < numOfStudents; i++) {

    cout << "#" << i + 1 << ". " << students[i].name << " (ID: " << students[i].id << ")\n";

  }

}

在本文中,我们已经介绍了如何使用C++实现学生成绩输入及排名功能。使用上述函数,您可以轻松地管理一群学生的成绩。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复