问题及代码:
/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:Project4.cpp
* 作 者:李楠
* 完成日期:2014年11月22日
* 版 本 号:v1.0
*
* 问题描述:将数据“写入/输出”到文件中,实战,文件english中已经有了学生的成绩数据,改编(2)编程求出这次考试的最高成绩,
以及得最高成绩的学生的学号(设学号即是相应数组元素的下标)
* 输入描述:略
* 程序输出:略
*/
#include <fstream> //操作文件必写
#include<iostream>
#include<cstdlib> //调用exit(1)需要包含cstdlib
using namespace std;
int main( )
{
int a[10000],count=0,j;
int maxscore=-1;//巧设
ifstream infile ("english.dat",ios::in);
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
while(infile>>a[count])
{
if(a[count]>=maxscore)
maxscore=a[count];
count++;
}
cout<<"这次考试的最高成绩是:"<<maxscore<<endl;
cout<<"得最高分的同学的学号分别为:"<<endl;
for(j=0;j<count;++j)
{
if(a[j]==maxscore)
cout<<j<<" "<<endl;
}
return 0;
}
运行结果:
知识点总结:
写学号那一部分的时候没有想好出了错,后来参考了才知道要合理运用count才行~~
学习心得:
对于文件操作的使用在这几个小项目的完成中越来越熟练,不过还需要继续努力啊~!!!!