编写一个能够保存的c++学生信息管理系统
时间: 2024-02-18 19:05:10 浏览: 78
c++写的一个学生信息管理系统
好的,下面是一个简单的C++学生信息管理系统,可以实现添加、删除、修改、查询学生信息,并可以将学生信息保存到文件中:
```c++
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
// 学生结构体
struct Student {
string name;
int age;
string gender;
string id;
};
// 学生信息管理器
class StudentManager {
public:
// 添加学生
void addStudent() {
Student student;
cout << "请输入学生姓名:";
cin >> student.name;
cout << "请输入学生年龄:";
cin >> student.age;
cout << "请输入学生性别:";
cin >> student.gender;
cout << "请输入学生学号:";
cin >> student.id;
students.push_back(student);
cout << "添加学生成功!" << endl;
}
// 删除学生
void deleteStudent() {
string id;
cout << "请输入要删除的学生学号:";
cin >> id;
for (int i = 0; i < students.size(); i++) {
if (students[i].id == id) {
students.erase(students.begin() + i);
cout << "删除学生成功!" << endl;
return;
}
}
cout << "学号为" << id << "的学生不存在!" << endl;
}
// 修改学生
void modifyStudent() {
string id;
cout << "请输入要修改的学生学号:";
cin >> id;
for (int i = 0; i < students.size(); i++) {
if (students[i].id == id) {
cout << "请输入学生姓名:";
cin >> students[i].name;
cout << "请输入学生年龄:";
cin >> students[i].age;
cout << "请输入学生性别:";
cin >> students[i].gender;
cout << "修改学生成功!" << endl;
return;
}
}
cout << "学号为" << id << "的学生不存在!" << endl;
}
// 查询学生
void queryStudent() {
string id;
cout << "请输入要查询的学生学号:";
cin >> id;
for (int i = 0; i < students.size(); i++) {
if (students[i].id == id) {
cout << "姓名:" << students[i].name << endl;
cout << "年龄:" << students[i].age << endl;
cout << "性别:" << students[i].gender << endl;
cout << "学号:" << students[i].id << endl;
return;
}
}
cout << "学号为" << id << "的学生不存在!" << endl;
}
// 保存学生信息到文件
void saveToFile() {
ofstream ofs("students.txt");
if (ofs.is_open()) {
for (int i = 0; i < students.size(); i++) {
ofs << students[i].name << " " << students[i].age << " " << students[i].gender << " " << students[i].id << endl;
}
cout << "学生信息保存成功!" << endl;
}
ofs.close();
}
private:
vector<Student> students;
};
int main() {
StudentManager manager;
int choice;
while (true) {
cout << "请选择操作:1.添加 2.删除 3.修改 4.查询 5.保存到文件 0.退出" << endl;
cin >> choice;
switch (choice) {
case 1:
manager.addStudent();
break;
case 2:
manager.deleteStudent();
break;
case 3:
manager.modifyStudent();
break;
case 4:
manager.queryStudent();
break;
case 5:
manager.saveToFile();
break;
case 0:
return 0;
default:
cout << "输入有误,请重新输入!" << endl;
break;
}
}
}
```
这个程序使用了 `vector` 存储学生信息,可以动态添加和删除学生。同时,也提供了将学生信息保存到文件中的功能,方便下次使用时读取。
阅读全文