14.2用文件保存学生名单

来源:互联网 发布:高清网络摄像机怎么用 编辑:程序博客网 时间:2024/05/22 13:15
#include <iostream>#include<fstream>#include<cstdlib>#include<cstring>using namespace std;class student{public:    string name;    double cpp;    double math;    double english;    double total;    static int stu_num;    static double total_sum;    void sum();    bool pass(double);};int student::stu_num=0;double student::total_sum=0;void student::sum(){    total=cpp+math+english;}bool student::pass(double avg){    if(total>avg && cpp>60 && math>60 && english>60)       return true;    else        return false;}int main(){    student stud[200],t;    string sname;    double total_avg;    int i=0;    ifstream infile("score.dat",ios::in);    if(!infile)    {        cerr<<"not infile"<<endl;        exit(1);    }    while(!infile.eof())    {        infile>>stud[i].name>>stud[i].cpp>>stud[i].math>>stud[i].english;        stud[i].sum();        ++i;    }    infile.close();    student::stu_num=i;    while(i)    {        i--;        student::total_sum+=stud[i].total;    }    total_avg=(student::total_sum)/(student::stu_num);    ofstream outfile("pass_score.dat",ios::out);     if(!outfile)     {         cerr<<"open error"<<endl;         exit(1);     }     while(student::stu_num>i)     {         if(stud[i].pass(total_avg))         {             outfile<<stud[i].name<<stud[i].cpp<<stud[i].math<<stud[i].english;         }         i++;     }     outfile.close();    return 0;}

0 0
原创粉丝点击