21xrx.com
2025-03-31 03:37:16 Monday
文章检索 我的文章 写文章
C++综合实验代码
2023-06-22 08:13:58 深夜i     13     0
C++ 综合实验 代码 编程 测试

本文介绍了一份C++综合实验代码。该代码是一个简单的学生信息管理系统,可以实现添加学生信息、查询学生信息、修改学生信息和删除学生信息等功能。

首先,需要定义一个学生类,包含学生ID、姓名、年龄和成绩等成员变量,以及相应的get和set方法。代码如下:

class Student
{
private:
  int id;     // 学生ID
  string name;  // 学生姓名
  int age;    // 学生年龄
  int score;   // 学生成绩
public:
  // 构造函数
  Student(int id = 0, string name = "", int age = 0, int score = 0)
  
    this->id = id;
    this->name = name;
    this->age = age;
    this->score = score;
  
  // 学生ID的get、set方法
  int getId() return id;
  void setId(int id) this->id = id;
  // 学生姓名的get、set方法
  string getName() return name;
  void setName(string name) this->name = name;
  // 学生年龄的get、set方法
  int getAge() return age;
  void setAge(int age) this->age = age;
  // 学生成绩的get、set方法
  int getScore() return score;
  void setScore(int score) this->score = score;
};

接下来,需要定义一个学生信息管理类,包含添加学生、查询学生、修改学生和删除学生等方法。代码如下:

class StudentManager
{
private:
  vector<Student> students;  // 所有学生信息
public:
  // 添加学生
  void add(Student& student)
  {
    students.push_back(student);
  }
  // 查询学生(根据ID)
  Student* find(int id)
  {
    for (int i = 0; i < students.size(); i++)
    {
      if (students[i].getId() == id)
        return &students[i];
    }
    return nullptr;
  }
  // 修改学生信息
  bool update(Student& student)
  {
    Student* s = find(student.getId());
    if (s != nullptr)
    {
      *s = student;
      return true;
    }
    return false;
  }
  // 删除学生
  bool remove(int id)
  {
    for (vector<Student>::iterator it = students.begin(); it != students.end(); it++)
    {
      if (it->getId() == id)
      {
        students.erase(it);
        return true;
      }
    }
    return false;
  }
  // 获取所有学生信息
  vector<Student>& getAll()
  
    return students;
  
};

最后,需要在主函数中实现用户界面。用户可以选择添加、查询、修改和删除学生信息等操作。代码如下:

int main()
{
  StudentManager manager;
  int option = 0;
  do
  {
    // 显示主菜单
    cout << "----------------------" << endl;
    cout << "1. 添加学生" << endl;
    cout << "2. 查询学生" << endl;
    cout << "3. 修改学生" << endl;
    cout << "4. 删除学生" << endl;
    cout << "5. 退出程序" << endl;
    cout << "----------------------" << endl;
    cout << "请选择操作(1-5):";
    cin >> option;
    switch (option)
    {
    case 1:
    {
      // 添加学生
      string name;
      int age;
      int score;
      cout << "请输入学生姓名:";
      cin >> name;
      cout << "请输入学生年龄:";
      cin >> age;
      cout << "请输入学生成绩:";
      cin >> score;
      Student student(manager.getAll().size() + 1, name, age, score);
      manager.add(student);
      cout << "添加成功!" << endl;
      break;
    }
    case 2:
    {
      // 查询学生
      int id;
      cout << "请输入学生ID:";
      cin >> id;
      Student* s = manager.find(id);
      if (s != nullptr)
      {
        cout << "学生ID:" << s->getId() << endl;
        cout << "学生姓名:" << s->getName() << endl;
        cout << "学生年龄:" << s->getAge() << endl;
        cout << "学生成绩:" << s->getScore() << endl;
      }
      else
      
        cout << "没有找到学生!" << endl;
      
      break;
    }
    case 3:
    {
      // 修改学生信息
      int id;
      string name;
      int age;
      int score;
      cout << "请输入学生ID:";
      cin >> id;
      Student* s = manager.find(id);
      if (s != nullptr)
      {
        cout << "请输入修改后的学生姓名:";
        cin >> name;
        cout << "请输入修改后的学生年龄:";
        cin >> age;
        cout << "请输入修改后的学生成绩:";
        cin >> score;
        Student student(id, name, age, score);
        if (manager.update(student))
        
          cout << "修改成功!" << endl;
        
        else
        
          cout << "修改失败!" << endl;
        
      }
      else
      
        cout << "没有找到学生!" << endl;
      
      break;
    }
    case 4:
    {
      // 删除学生
      int id;
      cout << "请输入学生ID:";
      cin >> id;
      if (manager.remove(id))
      
        cout << "删除成功!" << endl;
      
      else
      
        cout << "删除失败!" << endl;
      
      break;
    }
    case 5:
      // 退出程序
      cout << "欢迎下次使用!" << endl;
      break;
    default:
      cout << "错误的输入,请重新选择(1-5)!" << endl;
      break;
    }
  } while (option != 5);
  return 0;
}

以上就是一份C++综合实验代码,实现了简单的学生信息管理系统。希望能对初学者有所帮助。

  
  

评论区