用二进制文件处理学生成绩

/*烟台大学计算机学院学生
*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;
}

运行结果:


心得体会:无

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值