/*烟台大学计算机学院学生
*All right reserved.
*文件名称:用二进制文件处理学生成绩
*作者:杨飞
*完成日期:2014年6月2日
*版本号:v1.0
*对任务及求解方法的描述部分:用二进制文件处理学生成绩
*我的程序:*/
#include<iostream>
#include <fstream>
#include <cstring>
#include <cstdlib>
#include <cstdio>
using namespace std;
class student
{private:
int num;
string name;
double cpp;
double math;
double english;
public:
double qiuhe()
{
return cpp+math+english;
}
friend istream &operator >>(istream &input,student &t)
{
input>>t.name>>t.cpp>>t.math>>t.english;
return input;
}
friend ostream &operator <<(ostream &output ,student & t)
{
output<<t.name<<" "<<t.cpp<<" "<<t.math<<" "<<t.english<<" "<<t.qiuhe();
return output;
}
};
int main()
{
int i=0;
int n;
student stud[100];
ifstream infile("score.txt",ios::in);
if(!infile)
{
cout<<"open error"<<endl;
exit(0);
}
while(!infile.eof())
{
infile>>stud[i];
i++;
n=i;
}
for(int i=0;i<n;i++)
{
stud[i].qiuhe();
}
ofstream outfile("fla.txt",ios::binary);
if(!outfile)
{
cout<<"open error "<<endl;
exit(0);
}
for(int i=0;i<n;i++)
{
outfile.write((char *)&stud[i],sizeof(stud[i]));
}
for(int i=0;i<n;i++)
{
cout<<stud[i]<<endl;
}
return 0;
}
运行结果:
心得体会:无