第17周实验报告

实验目的:保存二进制文件

* 程序头部注释开始
* 程序的版权和版本声明部分
* 烟台大学计算机学院学生
* 文件名称:         学生成绩

* 作    者:          胡斌                
* 完成日期:  2012 年6月11日
* 版本号:     v1.0    

#include <iostream>   
#include <string>   
#include <fstream>   
#include<iomanip>   
using namespace std;  
class Student  
{  
private:  
    string name;  
    float Cscore;  
    float Mathscore;  
    float Englishscore;  
    float score;  
    float Aeveralscore;  
public:  
    Student();  
    Student(string na, float c,float m, float e, float s, float a);  
    friend void readfile(Student s[]);  
    friend void writefile(Student s[]);  
    friend void showfile(Student s[]);  
};  
  
Student::Student()  
{  
    name = " ";  
    Cscore = 0;  
    Mathscore = 0;  
    Englishscore = 0;  
    score = 0;  
    Aeveralscore = 0;  
}  
Student::Student(string na, float c,float m, float e, float s, float a) 

 
{  
    name = na;  
    Cscore = c;  
    Mathscore = m;  
    Englishscore = e;  
    score = s;  
    Aeveralscore = a;  
}  
void readfile(Student s[])  
{  
    ifstream file("score.dat", ios::in);  
    if(! file)  
    {  
        cerr << "open error!" << endl;  
        exit(1);  
    }  
    for(int i = 0; i < 100; i++)  
    {  
        file >> s[i].name >> s[i].Cscore >> s[i].Mathscore >> s

[i].Englishscore;  
        s[i].score = s[i].Cscore + s[i].Mathscore + s[i].Englishscore;  
        s[i].Aeveralscore = s[i].score / 3;  
    }  
    file.close();  
}  
  
void writefile(Student s[])  
{  
    ofstream file("binary_score.dat", ios::out|ios::binary);  
    if(! file)  
    {  
        cerr << "open error!" << endl;  
        exit(1);  
    }  
    file << "姓名" << setw(12)<< "C++" << setw(12)<< "高数"<< setw(12)

<< "英语" << setw(12)<< "总成绩" << setw(12)<< "平均成绩" << endl;  
    for(int i = 0; i < 100; i++)  
    {  
        file << s[i].name << setw(12)<< s[i].Cscore << setw(12)<< s

[i].Mathscore << setw(12)<< s[i].Englishscore << setw(12)<< s[i].score 

<< setw(12)<< s[i].Aeveralscore << endl;  
    }  
    file << "辛召璇" <<'\t' << setw(12)<< "100" << setw(12)<< "100" << 

setw(12)<< "100" << setw(12)<< "300" << setw(12)<< "100" << endl;  
    file.close();  
}  
  
void showfile(Student s[])  
{  
    cout << "姓名" <<'\t' << setw(12)<< "C++" << setw(12)<< "高数" << 

setw(12)<< "英语" << setw(12)<< "总成绩" << setw(12)<< "平均成绩" << 

endl;  
    for(int i = 0; i < 100; i++)  
    {  
        cout << s[i].name <<'\t' << setw(12)<< s[i].Cscore << setw(12)

<< s[i].Mathscore << setw(12)<< s[i].Englishscore << setw(12)<< s

[i].score << setw(12)<< s[i].Aeveralscore << endl;  
    }  
    cout << "辛召璇" <<'\t' << setw(12)<< "100" << setw(12)<< "100" << 

setw(12)<< "100" << setw(12)<< "300" << setw(12)<< "100" << endl;  
      
}  
  
int main()  
{  
    Student st[100];  
    readfile(st);  
    writefile(st);  
    showfile(st);  
    system("PAUSE");  
    return 0;  
}  

 

截图:



 

作业交的有点晚,忘交了!望老师谅解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值