c++设计一个学生管理系统
时间: 2023-09-23 07:03:55 浏览: 43
学生管理系统是一种常见的管理软件,用于管理学校或机构中的学生信息。以下是一个简单的C++学生管理系统的设计。
1. 设计学生类
首先,我们需要设计一个学生类,用于存储学生的信息。这个类可以包含以下属性:
- 学生姓名
- 学生学号
- 学生性别
- 学生年龄
- 学生成绩
```c++
class Student {
public:
string name;
int id;
string gender;
int age;
double score;
};
```
2. 实现学生管理系统
接下来,我们可以开始实现学生管理系统。这个系统可以包含以下功能:
- 添加学生
- 删除学生
- 修改学生信息
- 查询学生信息
- 显示所有学生信息
```c++
#include <iostream>
#include <vector>
using namespace std;
class Student {
public:
string name;
int id;
string gender;
int age;
double score;
};
void addStudent(vector<Student> &students) {
Student student;
cout << "请输入学生姓名: ";
cin >> student.name;
cout << "请输入学生学号: ";
cin >> student.id;
cout << "请输入学生性别: ";
cin >> student.gender;
cout << "请输入学生年龄: ";
cin >> student.age;
cout << "请输入学生成绩: ";
cin >> student.score;
students.push_back(student);
cout << "学生信息已添加" << endl;
}
void removeStudent(vector<Student> &students, int id) {
for (vector<Student>::iterator iter = students.begin(); iter != students.end(); iter++) {
if (iter->id == id) {
students.erase(iter);
cout << "学生信息已删除" << endl;
return;
}
}
cout << "学生信息不存在" << endl;
}
void modifyStudent(vector<Student> &students, int id) {
for (vector<Student>::iterator iter = students.begin(); iter != students.end(); iter++) {
if (iter->id == id) {
cout << "请输入学生姓名: ";
cin >> iter->name;
cout << "请输入学生性别: ";
cin >> iter->gender;
cout << "请输入学生年龄: ";
cin >> iter->age;
cout << "请输入学生成绩: ";
cin >> iter->score;
cout << "学生信息已修改" << endl;
return;
}
}
cout << "学生信息不存在" << endl;
}
void queryStudent(vector<Student> &students, int id) {
for (vector<Student>::iterator iter = students.begin(); iter != students.end(); iter++) {
if (iter->id == id) {
cout << "学生姓名: " << iter->name << endl;
cout << "学生学号: " << iter->id << endl;
cout << "学生性别: " << iter->gender << endl;
cout << "学生年龄: " << iter->age << endl;
cout << "学生成绩: " << iter->score << endl;
return;
}
}
cout << "学生信息不存在" << endl;
}
void displayAllStudents(vector<Student> &students) {
for (vector<Student>::iterator iter = students.begin(); iter != students.end(); iter++) {
cout << "学生姓名: " << iter->name << endl;
cout << "学生学号: " << iter->id << endl;
cout << "学生性别: " << iter->gender << endl;
cout << "学生年龄: " << iter->age << endl;
cout << "学生成绩: " << iter->score << endl;
}
}
int main() {
vector<Student> students;
while (true) {
cout << endl;
cout << "请选择功能: " << endl;
cout << "[1] 添加学生" << endl;
cout << "[2] 删除学生" << endl;
cout << "[3] 修改学生信息" << endl;
cout << "[4] 查询学生信息" << endl;
cout << "[5] 显示所有学生信息" << endl;
cout << "[6] 退出系统" << endl;
int choice;
cin >> choice;
switch (choice) {
case 1:
addStudent(students);
break;
case 2:
int removeId;
cout << "请输入要删除的学生学号: ";
cin >> removeId;
removeStudent(students, removeId);
break;
case 3:
int modifyId;
cout << "请输入要修改的学生学号: ";
cin >> modifyId;
modifyStudent(students, modifyId);
break;
case 4:
int queryId;
cout << "请输入要查询的学生学号: ";
cin >> queryId;
queryStudent(students, queryId);
break;
case 5:
displayAllStudents(students);
break;
case 6:
return 0;
default:
cout << "无效的选择" << endl;
}
}
return 0;
}
```
这个系统使用了vector来存储学生信息,通过调用不同的函数实现不同的功能。用户可以通过菜单选择需要的功能,然后进行相应的操作。
以上是一个简单的C++学生管理系统的设计,可以根据需要进行修改和扩展。