21xrx.com
2024-11-05 12:15:19 Tuesday
登录
文章检索 我的文章 写文章
《成绩记录簿C++实验报告》
2023-07-07 04:17:45 深夜i     --     --
成绩记录簿 C++ 实验报告 数据结构 算法设计

本实验主要针对C++的编程能力进行测试,通过设计一个成绩记录簿程序,考察学生对于C++语言的掌握程度以及数据结构的基本运用。

实验设计

本次实验的主要任务是设计一个成绩记录簿程序,能够实现学生信息的输入、成绩的录入和查询功能。具体实现步骤如下:

Step1:定义学生类

定义一个名为Student的类,包含以下数据成员:

• 学号;

• 姓名;

• 学科1成绩;

• 学科2成绩;

• 学科3成绩;

• 平均成绩;

定义成员函数:

• 构造函数,用于初始化数据成员;

• 输入函数,输入学生信息;

• 输出函数,输出学生信息;

• 计算平均成绩函数,用于计算学生的平均成绩。

Step2:定义成绩簿类

定义一个名为ScoreBook的类,包含以下数据成员:

• 学生数组;

• 学生个数;

定义成员函数:

• 构造函数,用于初始化数据成员;

• 输入函数,用于输入所有学生信息;

• 输出函数,用于输出所有学生信息;

• 搜索函数,用于搜索指定学生的信息;

• 排序函数,用于对所有学生的成绩进行排序;

Step3:实现主程序

定义一个名为main的函数,通过菜单选择的方式实现输入、输出、搜索和排序等功能。

实验步骤

根据上述设计方案,我们首先需要创建一个空白的C++项目,并在其中添加main.cpp和scorebook.h文件。在scorebook.h文件中按照上述步骤定义Student和ScoreBook类,具体代码如下:

/*------------------------Student类定义------------------------*/

class Student

{

private:

  string stuId;

  string stuName;

  int score1;

  int score2;

  int score3;

  double avgScore;

public:

  Student()

    stuId = "";

    stuName = "";

    score1 = 0;

    score2 = 0;

    score3 = 0;

    avgScore = 0.0;

  void inputInfo(); //输入学生信息

  void outputInfo(); //输出学生信息

  void calcAvg(); //计算平均成绩

};

/*----------------------ScoreBook类定义------------------------*/

class ScoreBook

{

private:

  Student stuList[MAX]; //最多存储MAX个学生的信息

  int numOfStu; //当前总学生数

public:

  ScoreBook()

    numOfStu = 0;

  void inputAll(); //输入所有学生信息

  void outputAll(); //输出所有学生信息

  void searchByStuId(); //按照学号查找学生信息

  void sortByAvgScore(); //按照平均成绩排序

};

在main.cpp文件中实现上述函数中的具体逻辑,具体代码如下:

#include

#include "scorebook.h"

using namespace std;

int main()

{

  ScoreBook scoreBook;

  int choice = -1;

  while (choice != 0)

  {

    cout << "Menu" << endl;

    cout << "1. Input all the student information" << endl;

    cout << "2. Output all the student information" << endl;

    cout << "3. Search student information by student ID" << endl;

    cout << "4. Sort all the student by average score" << endl;

    cout << "0. Quit" << endl;

    cout << "Please input your choice: ";

    cin >> choice;

    switch (choice)

    {

    case 1: scoreBook.inputAll(); break;

    case 2: scoreBook.outputAll(); break;

    case 3: scoreBook.searchByStuId(); break;

    case 4: scoreBook.sortByAvgScore(); break;

    case 0: cout << "Byebye!" << endl; break;

    default: cout << "Invalid input, please retry." << endl; break; 

    }

  }

  return 0;

}

在程序编写完成之后,我们运行程序进行测试,相信会有不错的用户体验。

实验结论

通过本次实验,我们了解了如何运用C++语言设计一个完整的程序,同时也熟悉了如何使用数据结构进行类的编写。在实验过程中,我们也亲身体验了C++的强大能力,并对自己的编程能力进行了一次深入地检测。

通过对数多个学生信息的输入、输出和查询,我们掌握了面向对象程序设计的思路和方法,也为我们日后开发更复杂的程序提供了坚实的基础和实践经验。

  
  

评论区

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