15周【项目2-用文件保存的学生名单】

来源:互联网 发布:php日志文件在哪 编辑:程序博客网 时间:2024/05/22 04:32
/**Corpyright (c)2013,烟台大学计算机学院*All right reseved.*作者:张梦佳*完成日期:2014年5月26日*版本号:v1.0*输入描述:*问题描述:*程序输出:*问题分析:*算法设计:*/#include<stdlib.h>#include <iostream>#include<cstdio>    //支持freopen的头文件#include <fstream>using namespace std;//定义学生类class Student{public:    //声明必要的成员函数    friend istream& operator>>(istream& in,Student &h)    {        in>>h.name>>h.cpp>>h.math>>h.english;        h.total=h.cpp+h.math+h.english;        return in;    }    friend ostream& operator<<(ostream& in,Student &h)    {        in<<h.name<<" "<<h.cpp<<" "<<h.math<<" "<<h.english<<" "<<h.total;        return in;    }    double gettotal()    {        return total;    }    void gettotal_(double a)    {        total_sum=a;    }    bool paiduan()    {        if(cpp>=60&&math>=60&&english>=60&&total-total_sum>=0)            return true;        else            return false;    }private:    string name;    double cpp;    double math;    double english;    double total;    static int stu_num;  //学生人数,处理为类的静态成员合适    double total_sum; //学生总分和};int main( ){    Student stud[200],t; //stud[200]为保存数据的对象数组    string sname;    double total_av=0;    int i=0;    //从文件score.dat中读入数据,保存到对象数组中    ifstream infile("score.dat",ios::in);    ofstream outfile("pass_score.dat",ios::out);    if(!infile)    {        cout<<"error!"<<endl;        exit(1);    }    while(infile>>stud[i])    {        i++;    }    for(int j=0;j<=i;j++)    {        total_av=stud[j].gettotal()+total_av;    }   //double Student::total_sum=total_av;    for(int j=0;j<=i;j++)    {        stud[j].gettotal_(total_av/i);    }    for(int j=0;j<=i;j++)    {        if(stud[j].paiduan()==true)        {            outfile<<stud[j]<<endl;        }        else        {        }    }    infile.close();    outfile.close();    //总分高于平均总分且没挂科的同学的信息保存到文件pass_score.dat中    return 0;}


感悟

静态函数成员无法赋值

invalid use of qualified-name 'Student::total_sum

所以不得已吧他去了。。。。。

0 0
原创粉丝点击