/*
*Copyright(c)2014,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:李晓凯
*完成日期:2014年 12月 2日
*版本号:v1.0
*
*问题描述:处理学生成绩输出最高成绩及对应学号
*程序输入:从文件中读取
*Copyright(c)2014,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:李晓凯
*完成日期:2014年 12月 2日
*版本号:v1.0
*
*问题描述:处理学生成绩输出最高成绩及对应学号
*程序输入:从文件中读取
*程序输出:最高成绩及对应的学号
*/
#include<fstream> //处理文件要包括头文件fstream
#include<iostream>
#include<cstdlib> //调用exit(1)需要包含cstdlib
using namespace std;
int main( )
{
int a[10000],i=0,max=-1;
//打开文件,要使用文件必须正确打开,对输出文件,注意写ios::out
// f1.dat是要“写”的文件名,你可以起你喜欢的名字,如myfile.txt
ifstream infile("english.dat",ios::in);
if(!infile) //测试文件打开操作是否成功
{
cerr<<"open error!"<<endl;
exit(1); //打开不成功,则提示后退出。
}
//用ios::out方式成功打开文件后,可以如下所示将数据保存到文件中
//操作中,要用打开的文件对象名(outfile),而不是用文件名(此例f1.dat)
//本例将键盘输入的10个整数“写”到文件中。
while(infile>>a[i])
{
if(a[i]>max)
max=a[i];
i++;
}
infile.close();
cout<<"最高成绩为:"<<max<<endl;
cout<<"获最高成绩的同学的学号为:";
for(int j=0; j<i; j++)
if(a[j]==max)
cout<<j<<" ";
return 0;
}
学习总结:这个类似于前面的一个程序,只不过是改为了 从文件中读取,所以,只要会了从文件中读取这一步就很简单了,不过一定要记住加上“infile.close();”否则,文件的数据就会丢失,这样以后就不能运行了。