/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:刘佳琦
* 完成日期:2014年 11 月 24 日
* 版 本 号:v1.0
*
* 问题描述:从文件读入若干名学生的英语成绩,编程求出这次考试的平均成绩,并统计输出总人数,优秀人数和不及格人数。
* 输入描述:每个学生的成绩
* 程序输出:总人数、优秀人数和不及格人数
*/
#include <fstream> //操作文件必写
#include<iostream>
#include<cstdlib>
using namespace std;
int main( )
{
int s; //读入的成绩
int a=0, b=0,count=0;//分别代表优秀、不及格人数、总人数
double sum=0,ave; //sum: 成绩和,ave: 平均分
//以输入的方式(ios::in)打开文件
ifstream infile("english.dat",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
while(infile>>s)
{
count++;
sum+=s;
if(s>=90)
a++;
else if(s<60)
b++;
}
infile.close(); //读入完毕要关闭文件
//下面输出结果
ave=sum/count;
cout<<"总人数为:"<<count<<endl;
cout<<"平均成绩为:"<<ave<<endl;
cout<<"优秀人数:"<<a<<endl;
cout<<"不及格人数:"<<b<<endl;
return 0;
}
运行结果:
学习心得:体验文件中的例子修改而成,比较有意思的一个新知识。