用C++编写一个学生信息管理系统
时间: 2023-07-18 15:08:23 浏览: 45
好的,以下是一个简单的学生信息管理系统的代码,可以作为参考:
```c++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 定义学生类
class Student {
public:
string name; // 姓名
int age; // 年龄
string gender; // 性别
string id; // 学号
// 构造函数
Student(string name, int age, string gender, string id) {
this->name = name;
this->age = age;
this->gender = gender;
this->id = id;
}
// 输出学生信息
void display() {
cout << "姓名:" << name << endl;
cout << "年龄:" << age << endl;
cout << "性别:" << gender << endl;
cout << "学号:" << id << endl;
}
};
// 定义学生信息管理类
class StudentManager {
private:
vector<Student> students; // 存储学生信息的容器
public:
// 添加学生信息
void addStudent(string name, int age, string gender, string id) {
Student student(name, age, gender, id);
students.push_back(student);
}
// 显示所有学生信息
void displayAllStudents() {
for (int i = 0; i < students.size(); i++) {
cout << "学生" << i + 1 << "的信息:" << endl;
students[i].display();
cout << endl;
}
}
// 按照学号查找学生信息
void findStudentById(string id) {
for (int i = 0; i < students.size(); i++) {
if (students[i].id == id) {
cout << "找到该学生,信息如下:" << endl;
students[i].display();
return;
}
}
cout << "没有找到该学生!" << endl;
}
// 按照学号删除学生信息
void deleteStudentById(string id) {
for (int i = 0; i < students.size(); i++) {
if (students[i].id == id) {
students.erase(students.begin() + i);
cout << "删除成功!" << endl;
return;
}
}
cout << "没有找到该学生,无法删除!" << endl;
}
};
int main() {
StudentManager manager;
int choice = 0;
string name, gender, id;
int age;
while (true) {
cout << "1. 添加学生信息" << endl;
cout << "2. 显示所有学生信息" << endl;
cout << "3. 按照学号查找学生信息" << endl;
cout << "4. 按照学号删除学生信息" << endl;
cout << "5. 退出程序" << endl;
cout << "请输入您的选择:" << endl;
cin >> choice;
switch (choice) {
case 1:
cout << "请输入学生姓名:";
cin >> name;
cout << "请输入学生年龄:";
cin >> age;
cout << "请输入学生性别:";
cin >> gender;
cout << "请输入学生学号:";
cin >> id;
manager.addStudent(name, age, gender, id);
cout << "添加成功!" << endl;
break;
case 2:
manager.displayAllStudents();
break;
case 3:
cout << "请输入要查找的学生学号:";
cin >> id;
manager.findStudentById(id);
break;
case 4:
cout << "请输入要删除的学生学号:";
cin >> id;
manager.deleteStudentById(id);
break;
case 5:
cout << "程序已退出,谢谢使用!" << endl;
return 0;
default:
cout << "输入错误,请重新输入!" << endl;
}
}
return 0;
}
```
该程序使用了面向对象的编程方法,定义了一个学生类和一个学生信息管理类。程序提供了添加学生信息、显示所有学生信息、按照学号查找学生信息和按照学号删除学生信息这几个功能。用户可以通过在控制台中输入数字来选择相应的功能。