问题及代码
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:辛彬
* 完成日期:2014年 11 月 26 日
* 版 本 号:v1.0
*
* 问题描述: 改编(2)中的程序,编程求出这次考试的平均成绩,并统计输出优秀人数和不及格人数。
* 输入描述:若干名学生的英语成绩。
* 程序输出:考试的平均成绩;
*/
#include <fstream> //操作文件必写
#include<iostream>
#include<cstdlib> //调用exit(1)需要包含cstdlib
using namespace std;
int main( )
{
int grade,sum=0,m=0,n=0,i=0;
double evg;
//打开文件,要使用文件必须正确打开,对输出文件,注意写ios::out
// f1.dat是要“写”的文件名,你可以起你喜欢的名字,如myfile.txt
ifstream infile("english.dat",ios::out);
if(!infile) //测试文件打开操作是否成功
{
cerr<<"open error!"<<endl;
exit(1); //打开不成功,则提示后退出。
}
while(infile>>grade)
{
sum+=grade;
i++;
if(grade>=60)
m++;
else
n++;
}
infile.close();
evg=sum/i;
cout<<"平均成绩为:"<<evg<<endl;
cout<<"优秀人数为:"<<m<<" 不及格人数为:"<<n;
return 0;
}
运行结果:
学习感悟:其实只要搞懂一些关键的地方,就会明白加一个文件不过是代替了输入输出功能而已。