/*
* 程序的版权和版本声明部分
* 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;
}
用文件保存的学生名单
最新推荐文章于 2022-02-25 22:31:36 发布