第十三周项目6-体验文件操作

从键盘读入若干名学生的英语成绩,编程求出这次考试的平均成绩,并统计输出优秀人数和不及格人数。

/*
 *Copyright (c) 2014,烟台大学计算机学院
 *All gight reserved.
 *文件名称:temp.cpp
 *作者:邵帅
 *完成时间:2014年11月25日
 *版本号:v1.0
*/
#include <fstream>   //操作文件
#include<iostream>
#include<cstdlib>
using namespace std;
int main( )
{
    int i,s;
    int a=0, b=0;
    double sum=0,ave;
    for(i=0; i<10; i++)
    {
        cin>>s;
        sum+=s;
        if(s>=90)
            a++;
        else if(s<60)
            b++;
    }
    ave=sum/10;
    cout<<"平均成绩为:"<<ave<<endl;
    cout<<"优秀人数:"<<a<<endl;
    cout<<"不及格人数:"<<b<<endl;
    return 0;

运行结果:



文件english.dat中已经有了学生的成绩数据,请改编上面的程序,编程求出这次考试的平均成绩,并统计输出优秀人数和不及格人数。

/*
 *Copyright (c) 2014,烟台大学计算机学院
 *All gight reserved.
 *文件名称:temp.cpp
 *作者:邵帅
 *完成时间:2014年11月25日
 *版本号:v1.0
*/
#include <fstream>   //操作文件必写
#include<iostream>
#include<cstdlib>
using namespace std;
int main( )
{
    int s; //读入的成绩
    int a=0, b=0,count=0;//分别代表优秀、不及格人数、总人数
    double sum=0,ave; //sum: 成绩和,ave: 平均分
    //以输入的方式(ios::in)打开文件
    ifstream infile("english.dat",ios::in);
    if(!infile)
    {
        cerr<<"open error!"<<endl;
        exit(1);
    }
    while(infile>>s)   //当读取成功……
    {
        count++;
        sum+=s;
        if(s>=90)
            a++;
        else if(s<60)
            b++;
    }
    infile.close(); 		 //读入完毕要关闭文件
    //下面输出结果
    ave=sum/count;
    cout<<"总人数为:"<<count<<endl;
    cout<<"平均成绩为:"<<ave<<endl;
    cout<<"优秀人数:"<<a<<endl;
    cout<<"不及格人数:"<<b<<endl;
    return 0;
}

运行结果:



@ Mayuko

posted @ 2014-11-25 21:24  麻麻麻麻鱼鱼  阅读(120)  评论(0编辑  收藏  举报