利用C++编写并测试程序,首先将3名学生的学号、姓名和成绩写入二进制文件studentinfo.dat中,然后将该文件中的数据读到结构体数组中,并将其输出到屏幕上。
时间: 2024-03-18 10:43:06 浏览: 117
好的,您可以参考下面的代码实现:
```c++
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
struct Student
{
int id;
char name[20];
double score;
};
int main()
{
// 将3名学生的信息写入二进制文件
Student students[3] = {
{1001, "Tom", 89.5},
{1002, "Jerry", 78.5},
{1003, "Alice", 92.0}
};
ofstream out("studentinfo.dat", ios::binary);
out.write((char*)students, sizeof(students));
out.close();
// 从二进制文件中读取数据到结构体数组中
Student read_students[3];
ifstream in("studentinfo.dat", ios::binary);
in.read((char*)read_students, sizeof(read_students));
in.close();
// 输出到屏幕上
cout << "学号\t姓名\t成绩" << endl;
for (int i = 0; i < 3; i++)
{
cout << read_students[i].id << "\t" << read_students[i].name << "\t" << read_students[i].score << endl;
}
return 0;
}
```
程序执行结果如下:
```
学号 姓名 成绩
1001 Tom 89.5
1002 Jerry 78.5
1003 Alice 92
```
这个程序的实现过程很简单,首先定义了一个结构体 `Student`,包含学号、姓名和成绩三个字段,然后将3名学生的信息写入二进制文件 `studentinfo.dat` 中,接着从二进制文件中读取数据到结构体数组 `read_students` 中,最后将数据输出到屏幕上。
阅读全文