用c++语言写一个能够读取文件的内容的学生学籍管理系统
时间: 2023-10-09 22:17:27 浏览: 39
以下是一个简单的学生学籍管理系统的代码示例,可以读取文件中的学生信息:
```
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
struct Student {
string name;
int id;
int age;
};
// 读取学生信息文件
vector<Student> read_students_info(const string& filename) {
vector<Student> students;
ifstream fin(filename);
if (!fin) {
cout << "Failed to open file: " << filename << endl;
return students;
}
string line;
while (getline(fin, line)) {
Student stu;
sscanf(line.c_str(), "%s %d %d", &stu.name[0], &stu.id, &stu.age);
students.push_back(stu);
}
fin.close();
return students;
}
// 显示学生信息
void show_students_info(const vector<Student>& students) {
cout << "Name\tID\tAge" << endl;
for (const auto& stu : students) {
cout << stu.name << "\t" << stu.id << "\t" << stu.age << endl;
}
}
int main() {
// 读取学生信息文件
vector<Student> students = read_students_info("students.txt");
// 显示学生信息
show_students_info(students);
return 0;
}
```
在该示例中,我们定义了一个结构体`Student`,表示学生的基本信息,包括姓名、学号和年龄。然后定义了两个函数,`read_students_info()`函数用于读取学生信息文件,`show_students_info()`函数用于显示学生信息。最后在`main()`函数中调用这两个函数即可。
学生信息文件的格式为每行一个学生信息,包括姓名、学号和年龄,各字段之间以空格分隔,如下所示:
```
Tom 1001 20
Jerry 1002 19
Mary 1003 21
```