您的位置:首页 > 其它

第三章数程序设计初步--控制结构综合项目4-2文件操作初体验练习4将数据写入文件

2013-08-01 14:18 411 查看
上机内容:从english.dat文件中读取学生成绩求出这次考试的平均成绩,统计并输出各分数段的人数

                  (优秀:≥90,良好:≥80,中等:≥70,及格:≥60,不及格:<60)

上机目的:文件操作初体验练习

我的程序:
/*
* 程序的版权和版本声明部分:
* Copyright (c) 2013, 青岛农业大学理信学院
* All rights reserved.
* 文件名称:文件操作初体验练习3.cpp
* 作    者:幻影行者
* 完成日期:2013 年 8 月 1 日
* 版 本 号:v1.0
* 对任务及求解方法的描述部分:
* 输入描述:从english.dat文件中输入
* 问题描述:从english.dat文件中读取学生成绩求出这次考试的平均成绩,统计并输出各分数段的人数
(优秀:≥90,良好:≥80,中等:≥70,及格:≥60,不及格:<60)
* 程序输出:输出平均成绩已经各分数段的人数
* 问题分析:略
* 算法设计:略
*/
#include<fstream>
#include<iostream>
using namespace std;

int main()
{
int  a,i,sum=0;
int score_90=0,score_80=0,score_70=0,score_60=0,score_50=0; //score_90表示90分数段的人数,其他同理,初值都为零
float ave;
ifstream infile("english.dat",ios::in);   //以输入的方式(ios::in)打开文件
if(!infile)                              //测试文件打开是否成功,否则退出
{
cerr<<"open error!"<<endl;
exit(1);
}
for(i=0;i<100;++i)
{
infile>>a;             //从文件中读取学生成绩
sum+=a;
}
ave=(float)sum/100;
//infile.close();
ifstream infile1("english.dat",ios::in);     //再定义一个文件输入流对象,用于统计各分数段的人数
if(!infile)
{
cerr<<"open error!"<<endl;
exit(1);
}
for(i=0;i<100;++i)
{
infile1>>a;
if(a>=90)
++score_90;
else if(a>=80)
++score_80;
else if(a>=70)
++score_70;
else if(a>=60)
++score_60;
else
++score_50;
}
infile.close();     //读入数据完毕,关闭文件
cout<<"平均成绩为:"<<ave<<endl;
cout<<"优秀的人数:"<<score_90<<endl;
cout<<"良好的人数:"<<score_80<<endl;
cout<<"中等的人数:"<<score_70<<endl;
cout<<"及格的人数:"<<score_60<<endl;
cout<<"不及格的人数:"<<score_50<<endl;
return 0;
}


运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐