写一个c++程序,实现从键盘输入学生学号、班级、姓名、成绩等信息存放到二进制文件中,并查看二进制文件的学生信息。
时间: 2023-12-27 08:05:34 浏览: 253
用C++编写的学生信息管理
4星 · 用户满意度95%
好的,以下是实现该功能的C++程序示例:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct Student {
int id;
string className;
string name;
float score;
};
int main() {
Student student;
string fileName = "students.dat";
ofstream outFile(fileName, ios::binary | ios::app);
if (!outFile) {
cerr << "Failed to open file " << fileName << endl;
return 1;
}
// 从键盘读取学生信息
cout << "Enter student ID: ";
cin >> student.id;
cout << "Enter class name: ";
cin >> student.className;
cout << "Enter student name: ";
cin >> student.name;
cout << "Enter score: ";
cin >> student.score;
// 将学生信息写入二进制文件
outFile.write(reinterpret_cast<char*>(&student), sizeof(student));
outFile.close();
// 从二进制文件中读取学生信息并打印
ifstream inFile(fileName, ios::binary);
if (!inFile) {
cerr << "Failed to open file " << fileName << endl;
return 1;
}
while (inFile.read(reinterpret_cast<char*>(&student), sizeof(student))) {
cout << "ID: " << student.id << endl;
cout << "Class: " << student.className << endl;
cout << "Name: " << student.name << endl;
cout << "Score: " << student.score << endl;
cout << endl;
}
inFile.close();
return 0;
}
```
该程序定义了一个 `Student` 结构体,其中包含了学生的学号、班级、姓名和成绩。程序首先从键盘读取学生信息,然后将该信息写入二进制文件中。接着,程序从二进制文件中读取学生信息,并将其打印到屏幕上。注意,我们在打开文件时需要使用 `ios::binary` 模式,以便正确地读取和写入二进制数据。
希望这个程序可以帮助到你!
阅读全文