第十三周项目六 体验文件操作(读入文件,求出考试最高成绩及取得者学号)
2014-11-24 12:13
211 查看
问题及代码:
english.dat截图:
运行结果:
#include <fstream> //操作文件必写 #include<iostream> #include<cstdlib> //调用exit(1)需要包含cstdlib using namespace std; int main( ) { int a[10000],b[10000],c,max=-9999; //要求最大值,先默认max为一个很小的数;a[10000]存储读入的文件中的数值,b[10000]存储取得最大值的编号 int m=0,n=0,i=0; //以输入的方式(ios::in)打开文件,注意english.dat必须在文件夹中存在 ifstream infile("english.dat",ios::in); //测试是否成功打开,打开失败时(如要读的数据文件不存在)退出 if(!infile) { cerr<<"open error!"<<endl; exit(1); } //下面读取数据并完成处理,若数据需要多次使用,可以读入到数组中 while(infile>>c) //当到达文件尾,则循环处理结束。类似cin>>c,只不过数据来源于打开的文件 { a[m]=c; if(c>max) max=c; //在读入过程中,max将保存最大值 m++; } while (n<=m) { if (a ==max) { b[i]=n; i++; } n++; } infile.close(); //读入完毕要关闭文件 //下面对数据的操作和文件就没有关系了,本例输出求得的最大值 cout<<"本次考试中最高分是:"<<max<<"。取得最高成绩的学生学号为(学号为1~10000):"; for (int j=0; j<i; j++) { cout<<b[j]+1<<" "; } return 0; }
english.dat截图:
运行结果:
相关文章推荐
- 第13周项目6-体验文件操作(4、最高成绩和学号)
- 第十三周项目6-体验文件操作(热身-读入成绩,输出平均成绩、优秀人数、不及格人数)
- 第十三周项目6-体验文件操作(实战2-输出最高分和学号)
- 第十三周项目六 体验文件操作(将文件中成绩读入,求出平均分、优秀\及格人数)
- 第13周项目6-从文件(记事本)读入成绩数据并求最高分及其学号
- 第十三周项目六 体验文件操作(将英语成绩、平均分、优秀\及格人数写入到文件中)
- 第13周项目6-体验文件操作(3)(4)考试成绩
- 第十三周项目6-体验文件操作(实战3-读入文件、并输出文件salary)
- 第十三周项目六 体验文件操作(读入文件,将工资全部增加20%,输出到另一个文件)
- 第十三周项目六——体验文件操作(5-实战)
- 第十三周项目6-体验文件操作(实战-改编english.dat)
- 第十三周项目六:体验文件操作(实战1)
- 第十三周 项目六:体验文件操作(3实战)
- 第十三周项目 6 体验文件操作(3—实战)——文件输入
- 第十三周项目六——体验文件操作(3-实战)
- 第十三周项目六:体验文件操作(热身)
- 第十三周 项目六--体验文件操作(4-实战)
- 第十三周项目六体验文件操作(2-热身)
- 第十三周项目六——体验文件操作(4-实战)
- 第十三周 项目六--体验文件操作(3-实战)