用c++编写一个能通过学号和密码登录和退出和可通过文本文件储存的学生管理系统
时间: 2024-02-15 11:02:47 浏览: 20
好的,以下是一个能通过学号和密码登录和退出和可通过文本文件储存的学生管理系统的C++代码示例:
```cpp
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct Student {
string name;
string id;
string password;
string cls;
float score;
};
void addStudent(Student stu[], int &num) {
cout << "请输入学生姓名:" << endl;
cin >> stu[num].name;
cout << "请输入学号:" << endl;
cin >> stu[num].id;
cout << "请输入班级:" << endl;
cin >> stu[num].cls;
cout << "请输入成绩:" << endl;
cin >> stu[num].score;
cout << "请输入密码:" << endl;
cin >> stu[num].password;
num++;
cout << "添加成功!" << endl;
}
void findStudent(Student stu[], int num) {
string id, password;
cout << "请输入学号:" << endl;
cin >> id;
cout << "请输入密码:" << endl;
cin >> password;
for (int i = 0; i < num; i++) {
if (stu[i].id == id && stu[i].password == password) {
cout << "姓名:" << stu[i].name << endl;
cout << "学号:" << stu[i].id << endl;
cout << "班级:" << stu[i].cls << endl;
cout << "成绩:" << stu[i].score << endl;
return;
}
}
cout << "登录失败!" << endl;
}
void saveToFile(Student stu[], int num, string filename) {
ofstream fout(filename);
for (int i = 0; i < num; i++) {
fout << stu[i].name << " " << stu[i].id << " " << stu[i].cls << " " << stu[i].score << " " << stu[i].password << endl;
}
fout.close();
cout << "保存成功!" << endl;
}
void readFromFile(Student stu[], int &num, string filename) {
ifstream fin(filename);
while (fin >> stu[num].name >> stu[num].id >> stu[num].cls >> stu[num].score >> stu[num].password) {
num++;
}
fin.close();
}
int main() {
Student stu[100];
int num = 0;
int choice;
string filename = "students.txt";
readFromFile(stu, num, filename);
while (1) {
cout << "请选择操作:" << endl;
cout << "1. 添加学生信息" << endl;
cout << "2. 登录并查找学生信息" << endl;
cout << "3. 保存到文件" << endl;
cout << "4. 退出" << endl;
cin >> choice;
switch (choice) {
case 1:
addStudent(stu, num);
break;
case 2:
findStudent(stu, num);
break;
case 3:
saveToFile(stu, num, filename);
break;
case 4:
saveToFile(stu, num, filename);
return 0;
default:
cout << "无效操作!" << endl;
}
}
return 0;
}
```
这个程序使用结构体来定义学生信息,并通过数组来保存多个学生的信息,同时使用文件流来实现学生信息的读写操作。在添加学生信息时,会让用户输入学生密码,以便在登录时进行验证。在程序退出时会自动保存学生信息到文本文件中。