第13周项目6-体验文件操作(4、最高成绩和学号)

/
*copyright (c)2014,烟台大学计算机学院
*All rights reserved
*文件名称:789.cpp
*作者:孙春红
*完成日期:2014年11月24日
*版本号:v1.0
*
*问题描述:编写程序,使程序能够读取文件english.dat中的数据,求出最高成绩以及他们的学号。
*输入描述:略。
*程序输出:输出最高成绩以及他们的学号(假设0也是他们的学号)。
*/

#include<fstream>    //处理文件要包括头文件fstream
#include<iostream>
#include<cstdlib>   //调用exit(1)需要包含cstdlib
using namespace std;
int main( )
{
    int max,score[100000],a=0,num,i=0;//给数组赋予足够大的空间
    ifstream infile("english.dat",ios::in);
    if(!infile)    				//测试文件打开操作是否成功
    {
        cerr<<"open error!"<<endl;
        exit(1);				//打开不成功,则提示后退出。
    }
    while(infile>>score[a])
    {
        a++;
    }
    max=score[0];
    num=0;
    for (i=0;i<a;i++)
    {
      if (score[i]>max)
      {
      max=score[i];
      }
    }
    cout <<"这次考试的最高成绩是: "<<max<<" 分"<<endl;
   cout <<"最高成绩的学生的学号是: "<<endl;
   for (i=0;i<a;i++)//0也属于学号
   {
       if (score[i]==max)
        {
            num=i;
            cout <<num<<" ";
        }
   }
   infile.close();//关闭文件english。dat
    return 0;
}


运行结果:

知识点总结:

学会运用数组进行数据的输入并且进行计算。

学习心得:

自上而下,逐步求精。特别是在写程序输出最大值和学号时,要注意很多细节。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值