21xrx.com
2025-03-24 22:12:32 Monday
文章检索 我的文章 写文章
C++学生信息管理系统完整代码
2023-07-04 22:28:16 深夜i     --     --
C++ 学生信息 管理系统 完整代码

C++学生信息管理系统是一款用于管理学生信息的应用程序,它具有简单易用、功能齐全等特点,能够有效地帮助管理人员对学生信息进行收集、查询、修改、删除等操作。下面是该系统的完整代码及相关说明。

一、需求分析

为了更好地完成开发任务,我们首先需要对该系统的需求进行分析,包括以下内容:

1. 学生基本信息:包括姓名、学号、性别、年龄和联系电话等。

2. 学生成绩信息:包括数学、语文、英语、物理和化学成绩等。

3. 系统功能:包括添加学生信息、查询学生信息、修改学生信息和删除学生信息等。

二、代码实现

该系统使用C++编写,主要分为头文件、源文件和主函数三个部分。以下是完整代码及相关说明。

头文件部分:student.h

#pragma once
#include <iostream>
#include <string>
using namespace std;
class student {
  public:
    string name, stu_id, gender, phone;
    int age, math_score, chinese_score, english_score, physics_score, chemistry_score;
    student();
    void display();
    void modify();
};

说明:头文件包括类的定义和相关函数声明。该类包括学生基本信息和成绩信息等属性,以及相关的构造函数、显示函数和修改函数等。

源文件部分:student.cpp

#include "student.h"
student::student()
  name = stu_id = gender = phone = "";
  age = math_score = chinese_score = english_score = physics_score = chemistry_score = 0;
void student::display()
  cout << "学号:" << stu_id << endl;
  cout << "姓名:" << name << endl;
  cout << "性别:" << gender << endl;
  cout << "年龄:" << age << endl;
  cout << "电话:" << phone << endl;
  cout << "数学:" << math_score << endl;
  cout << "语文:" << chinese_score << endl;
  cout << "英语:" << english_score << endl;
  cout << "物理:" << physics_score << endl;
  cout << "化学:" << chemistry_score << endl;
void student::modify()
  cout << "请输入修改的信息:" << endl;
  cout << "学号:" << stu_id << endl;
  cin >> stu_id;
  cout << "姓名:" << name << endl;
  cin >> name;
  cout << "性别:" << gender << endl;
  cin >> gender;
  cout << "年龄:" << age << endl;
  cin >> age;
  cout << "电话:" << phone << endl;
  cin >> phone;
  cout << "数学:" << math_score << endl;
  cin >> math_score;
  cout << "语文:" << chinese_score << endl;
  cin >> chinese_score;
  cout << "英语:" << english_score << endl;
  cin >> english_score;
  cout << "物理:" << physics_score << endl;
  cin >> physics_score;
  cout << "化学:" << chemistry_score << endl;
  cin >> chemistry_score;

说明:源文件中包括类中相关函数的实现代码,如构造函数的定义、显示函数的输出和修改函数的输入。

主函数部分:main.cpp

#include "student.h"
#include <vector>
void add(vector<student>& vec) {
  student st;
  cout << "请输入学生信息:" << endl;
  cout << "学号:" << endl;
  cin >> st.stu_id;
  cout << "姓名:" << endl;
  cin >> st.name;
  cout << "性别:" << endl;
  cin >> st.gender;
  cout << "年龄:" << endl;
  cin >> st.age;
  cout << "电话:" << endl;
  cin >> st.phone;
  cout << "数学:" << endl;
  cin >> st.math_score;
  cout << "语文:" << endl;
  cin >> st.chinese_score;
  cout << "英语:" << endl;
  cin >> st.english_score;
  cout << "物理:" << endl;
  cin >> st.physics_score;
  cout << "化学:" << endl;
  cin >> st.chemistry_score;
  vec.push_back(st);
}
void query(const vector<student>& vec) {
  string id;
  cout << "请输入学生学号:" << endl;
  cin >> id;
  bool flag = false;
  for (auto& st : vec) {
    if (st.stu_id == id) {
      st.display();
      flag = true;
      break;
    }
  }
  if (!flag)
    cout << "未找到该学生信息!" << endl;
  
}
void modify(vector<student>& vec) {
  string id;
  cout << "请输入需要修改的学生学号:" << endl;
  cin >> id;
  bool flag = false;
  for (auto& st : vec) {
    if (st.stu_id == id) {
      st.modify();
      flag = true;
      cout << "修改成功!" << endl;
      break;
    }
  }
  if (!flag)
    cout << "未找到该学生信息!" << endl;
  
}
void delete_stu(vector<student>& vec) {
  string id;
  cout << "请输入需要删除的学生学号:" << endl;
  cin >> id;
  bool flag = false;
  for (auto iter = vec.begin(); iter != vec.end(); iter++) {
    if ((*iter).stu_id == id) {
      vec.erase(iter);
      flag = true;
      cout << "删除成功!" << endl;
      break;
    }
  }
  if (!flag)
    cout << "未找到该学生信息!" << endl;
  
}
int main() {
  vector<student> vec;
  while (true) {
    cout << "====================================" << endl;
    cout << "1.添加学生信息" << endl;
    cout << "2.查询学生信息" << endl;
    cout << "3.修改学生信息" << endl;
    cout << "4.删除学生信息" << endl;
    cout << "5.退出系统" << endl;
    cout << "====================================" << endl;
    int choice;
    cin >> choice;
    switch (choice) {
      case 1:
        add(vec);
        break;
      case 2:
        query(vec);
        break;
      case 3:
        modify(vec);
        break;
      case 4:
        delete_stu(vec);
        break;
      case 5:
        cout << "谢谢使用!" << endl;
        exit(0);
        break;
      default:
        cout << "输入无效,请重新输入:" << endl;
        break;
    }
  }
  return 0;
}

说明:主函数根据用户输入的不同选项,调用相关函数实现添加、查询、修改和删除学生信息等功能,同时使用while循环来保持程序的持续运行状态,直至用户选择退出系统。

三、总结

通过以上代码实现,我们成功开发了一款基于C++的学生信息管理系统,能够实现对学生信息的管理和处理等常见需求。在后续开发和维护过程中,我们可以进一步完善相关功能和界面,提高系统的易用性和稳定性,以满足不同用户的需求。

  
  

评论区