c++构建一个二进制数据文件,并将输入几组学生的学号和成绩,停止输入后将全部信息显示出来并保存在文件中
时间: 2024-02-17 11:01:37 浏览: 70
好的,我可以为您提供一个简单的 C++ 代码,实现您的需求。代码如下所示:
```c++
#include <iostream>
#include <fstream>
using namespace std;
struct Student {
int id;
int score;
};
int main() {
ofstream outfile("data.bin", ios::binary); // 创建二进制数据文件
Student student;
while (1) {
cout << "请输入学生的学号和成绩(输入 -1 结束输入):" << endl;
cin >> student.id;
if (student.id == -1) break;
cin >> student.score;
outfile.write((char*)&student, sizeof(student)); // 写入学生信息到二进制文件中
}
outfile.close(); // 关闭文件
ifstream infile("data.bin", ios::binary); // 打开二进制数据文件
while (infile.read((char*)&student, sizeof(student))) { // 读取学生信息并输出
cout << "学号:" << student.id << ",成绩:" << student.score << endl;
}
infile.close(); // 关闭文件
return 0;
}
```
上述代码中,我们使用结构体 `Student` 存储学号和成绩信息,并且将其写入到二进制文件中。在输入学号和成绩时,如果输入 `-1` 则结束输入。最后,我们读取二进制数据文件中的学生信息,并输出到控制台中。
同时,也将学生信息保存在了 `data.bin` 文件中,这样可以保证数据的长期存储和使用。
阅读全文