学生(数据:姓名、学号、班级;操作:自定); 一个班级有n个学生,(1)用二进制文件方式将n个学生的数据写入文件"student.dat";(2)从二进制文件"student.dat"中,将学生信息一个一个地读出,并在显示器上显示。
时间: 2024-02-15 20:06:01 浏览: 68
好的,以下是 C++ 的实现代码:
```c++
#include <iostream>
#include <fstream>
using namespace std;
struct Student {
char name[20];
int id;
char cls[20];
};
void write_students(int n) {
// 将n个学生的数据写入二进制文件"student.dat"
ofstream outfile("student.dat", ios::binary);
for (int i = 0; i < n; i++) {
Student s;
cout << "请输入第" << i+1 << "个学生的信息:" << endl;
cout << "姓名:";
cin >> s.name;
cout << "学号:";
cin >> s.id;
cout << "班级:";
cin >> s.cls;
outfile.write((char*)&s, sizeof(s));
}
outfile.close();
}
void read_students() {
// 从二进制文件"student.dat"中读取学生信息并显示在屏幕上
ifstream infile("student.dat", ios::binary);
Student s;
while (infile.read((char*)&s, sizeof(s))) {
cout << "姓名:" << s.name << endl;
cout << "学号:" << s.id << endl;
cout << "班级:" << s.cls << endl;
cout << endl;
}
infile.close();
}
int main() {
int n;
cout << "请输入学生人数:";
cin >> n;
write_students(n);
cout << "学生信息已写入文件" << endl;
cout << endl;
cout << "从文件中读取的学生信息如下:" << endl;
read_students();
return 0;
}
```
这个程序会先要求你输入学生人数 n,然后让你输入每个学生的信息,并将这些信息以二进制的方式写入文件 "student.dat" 中。接着,它会从文件 "student.dat" 中读取学生信息并在屏幕上显示出来。你可以直接运行这个程序来查看结果。
阅读全文