在Dev c++中帮我编写一个学生信息管理系统,要求有注册,登录,添加学生信息,查找学生信息,删除学生信息,显示学生信息列表的功能
时间: 2023-08-22 15:07:55 浏览: 85
好的,以下是一个简单的学生信息管理系统的代码,实现了您所提出的所有功能。请注意,这只是一个示例代码,可能还有许多需要改进的地方。
```c++
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <cstdlib>
using namespace std;
// 学生信息结构体
struct Student {
string name;
int age;
string gender;
string phone;
string email;
};
// 全局变量,存储所有学生信息
vector<Student> allStudents;
// 函数声明
void registerUser();
void loginUser();
void addStudent();
void searchStudent();
void deleteStudent();
void showStudentList();
void saveToFile();
void loadFromFile();
int main() {
// 从文件中读取之前保存的学生信息
loadFromFile();
// 主循环
while (true) {
cout << "请选择操作:" << endl;
cout << "1. 注册" << endl;
cout << "2. 登录" << endl;
cout << "3. 添加学生信息" << endl;
cout << "4. 查找学生信息" << endl;
cout << "5. 删除学生信息" << endl;
cout << "6. 显示学生信息列表" << endl;
cout << "0. 退出" << endl;
int choice;
cin >> choice;
switch (choice) {
case 1:
registerUser();
break;
case 2:
loginUser();
break;
case 3:
addStudent();
break;
case 4:
searchStudent();
break;
case 5:
deleteStudent();
break;
case 6:
showStudentList();
break;
case 0:
saveToFile(); // 保存学生信息到文件中
return 0;
default:
cout << "无效的操作,请重新选择" << endl;
break;
}
}
}
// 注册新用户
void registerUser() {
// TODO: 这里需要实现用户注册的功能
cout << "注册功能暂未实现" << endl;
}
// 用户登录
void loginUser() {
// TODO: 这里需要实现用户登录的功能
cout << "登录功能暂未实现" << endl;
}
// 添加学生信息
void addStudent() {
Student newStudent;
cout << "请输入学生姓名:";
cin >> newStudent.name;
cout << "请输入学生年龄:";
cin >> newStudent.age;
cout << "请输入学生性别:";
cin >> newStudent.gender;
cout << "请输入学生电话号码:";
cin >> newStudent.phone;
cout << "请输入学生电子邮件地址:";
cin >> newStudent.email;
allStudents.push_back(newStudent);
cout << "学生信息添加成功" << endl;
}
// 查找学生信息
void searchStudent() {
// 按姓名查找
cout << "请输入要查找的学生姓名:";
string name;
cin >> name;
bool found = false;
for (int i = 0; i < allStudents.size(); i++) {
if (allStudents[i].name == name) {
cout << "学生姓名:" << allStudents[i].name << endl;
cout << "学生年龄:" << allStudents[i].age << endl;
cout << "学生性别:" << allStudents[i].gender << endl;
cout << "学生电话号码:" << allStudents[i].phone << endl;
cout << "学生电子邮件地址:" << allStudents[i].email << endl;
found = true;
break;
}
}
if (!found) {
cout << "未找到该学生信息" << endl;
}
}
// 删除学生信息
void deleteStudent() {
// 按姓名删除
cout << "请输入要删除的学生姓名:";
string name;
cin >> name;
bool found = false;
for (int i = 0; i < allStudents.size(); i++) {
if (allStudents[i].name == name) {
allStudents.erase(allStudents.begin() + i);
cout << "学生信息删除成功" << endl;
found = true;
break;
}
}
if (!found) {
cout << "未找到该学生信息" << endl;
}
}
// 显示所有学生信息
void showStudentList() {
if (allStudents.size() > 0) {
for (int i = 0; i < allStudents.size(); i++) {
cout << "学生姓名:" << allStudents[i].name << endl;
cout << "学生年龄:" << allStudents[i].age << endl;
cout << "学生性别:" << allStudents[i].gender << endl;
cout << "学生电话号码:" << allStudents[i].phone << endl;
cout << "学生电子邮件地址:" << allStudents[i].email << endl;
cout << endl;
}
} else {
cout << "暂无学生信息" << endl;
}
}
// 保存学生信息到文件中
void saveToFile() {
ofstream fout("students.txt");
for (int i = 0; i < allStudents.size(); i++) {
fout << allStudents[i].name << " "
<< allStudents[i].age << " "
<< allStudents[i].gender << " "
<< allStudents[i].phone << " "
<< allStudents[i].email << endl;
}
fout.close();
}
// 从文件中读取之前保存的学生信息
void loadFromFile() {
ifstream fin("students.txt");
while (!fin.eof()) {
Student s;
fin >> s.name >> s.age >> s.gender >> s.phone >> s.email;
if (!fin.fail()) {
allStudents.push_back(s);
}
}
fin.close();
}
```
这段代码使用了一个全局变量 `allStudents` 来存储所有学生的信息,使用了一个结构体 `Student` 来表示单个学生的信息。在 `main` 函数中,使用了一个无限循环来接受用户输入的操作,并调用相应的函数来实现功能。其中,`saveToFile` 和 `loadFromFile` 函数用于将学生信息保存到文件中和从文件中读取学生信息。
阅读全文