用文件保存的学生名单

来源:互联网 发布:人物杂志 知乎 编辑:程序博客网 时间:2024/05/01 23:39
/* * 程序的版权和版本声明部分 * Copyright (c)2014, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: fibnacci.cpp * 作    者:高古尊 * 完成日期:2014年8月3日 * 版本号: v1.0 * * 输入描述: * 问题描述: * 程序输出: * 问题分析: */  #include <iostream>#include <cstring>#include <fstream>using namespace std;//定义学生类class Student{public:    //声明必要的成员函数    Student():name(""),cpp(0),math(0),english(0),total(0) {};    void get(string n,double c,double m,double e)    {        name=n,cpp=c,math=m,english=e;        total=c+m+e;        ++stu_num;        total_sum+=total;    };    bool pass()    {        bool f=true;        if(cpp<60||math<60||english<60||total<total_sum/total_sum)        {            f=false;        }        return f;    }    void dispaly()    {        ofstream outfile("score1.dat",ios::app);        if(!outfile)        {            cout<<"创建失败。";        }        outfile<<name<<' '<<cpp<<' '<<math<<' '<<english<<' '<<total<<endl;        outfile.close();    }private:    string name;    double cpp;    double math;    double english;    double total;    static int stu_num;  //学生人数,处理为类的静态成员合适    static double total_sum; //学生总分和};int Student::stu_num=0;double Student::total_sum=0;int main( ){    ifstream infile("score.dat");    if(!infile)    {        cout<<"打开失败。";    }    string name;    double cpp;    double math;    double english;    Student stud[200]; //stud[200]为保存数据的对象数组    int i=0;    //从文件score.dat中读入数据,保存到对象数组中    while(infile>>name>>cpp>>math>>english)    {        stud[i].get(name,cpp,math,english);        i++;    }    i=0;    while(stud[i].pass())    {        stud[i].dispaly();        i++;    }    //总分高于平均总分且没挂科的同学的信息保存到文件pass_score.dat中    infile.close();    return 0;}

0 0
原创粉丝点击