#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;
}
14.2用文件保存学生名单
最新推荐文章于 2019-11-20 20:55:26 发布