第13周项目6(1)-体验文件操作
2014-11-22 17:56
239 查看
/* *Copyright (c) 2014, 烟台大学计算机学院 *All rights reserved. *文件名称:week13-project6-1.cpp *作者:高赞 *完成日期:2014年 11 月 22 日 *版本号:v1.0 * *问题描述:从文件english.dat中读入成绩数据,输出平均成绩、 优秀人数和不及格人数、最高成绩以及取得最高成绩学生的学号 */ #include <fstream> //操作文件必写 #include <iostream> #include <iomanip> #include <cstdlib> //调用exit(1)需要包含cstdlib using namespace std; void maxscore(int x, int a); int main( ) { int a,i=0,j=0,n=0,max=0; double sum=0,average; ifstream infile("english.dat",ios::in); //测试是否成功打开,打开失败时(如要读的数据文件不存在)退出 if(!infile) { cerr<<"open error!"<<endl; exit(1); } //下面读取数据并完成处理,若数据需要多次使用,可以读入到数组中 while(infile>>a) //当到达文件尾,则循环处理结束。类似cin>>a,只不过数据来源于打开的文件 { sum+=a; if (a>=90) ++i; if (a<=60) ++j; if (a>max) max=a; ++n; } infile.close(); average=sum/n; cout << "平均成绩: " << setiosflags(ios::fixed) << setprecision(2) << average << endl << "优秀人数有: " << i << "人,比例" << setiosflags(ios::fixed) << setprecision(2) << (i*100.0)/(n*1.0) << "%" << endl << "不及格人数有: " << j << "人,比例" << setiosflags(ios::fixed) << setprecision(2) << (j*100.0)/(n*1.0) << "%" << endl << "最高成绩是" << max << "分," << endl << "取得最高成绩学生的学号: "; maxscore(max,a); cout << endl; return 0; } void maxscore(int x, int a) { ifstream infile("english.dat",ios::in); int i=0; while (infile>>a) { if (x==a) cout << i << " "; ++i; } infile.close(); }
相关文章推荐
- 第13周项目6-体验文件操作(3)(4)考试成绩
- 第13周项目6-体验文件操作(5)工资排序
- 第13周项目6-体验文件操作(4)
- 第13周 项目6-体验文件操作(热身)
- 第13周项目6-体验文件的操作(1-热身)
- 第13周项目6-体验文件操作
- 第13周项目6体验文件操作(1)预备
- 第13周项目6-体验文件操作(4、最高成绩和学号)
- 第13周项目6(2)-体验文件操作
- 第13周上机实践项目6——体验文件操作(2-实战)
- 第13周项目6-体验文件操作(1)
- 第13周项目6-体验文件操作(5工人工资)
- 第13周项目6-体验文件操作(3-文件的输入)
- 第13周上机实践项目6——体验文件操作(1-热身)
- 第13周上机实践项目6——体验文件操作(3-实战)
- 第13周项目6-体验文件操作(5)
- 2014秋C++第13周项目6参考-体验文件操作
- 第13周项目6-体验文件操作(2)(3)
- 第13周项目6-体验文件操作(2-热身)
- 第十三周项目六——体验文件操作(4-实战)