- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
成绩柱状图071
宁波工程学院
《面向对象程序设计》
实验报告
课 题 成绩柱状图
班 组 信息与计算科学07-1
学 号 21 , 32 , 17
姓 名 孙侃, 徐竞 , 钱宇洁
指导老师 陈志荣
日期 2009年01月09日
实验报告
实验名称:: 班级: 学号:21 32 17 课程: 指导老师:陈志荣 完成日期:2009-1-9 一、实验内容
开发一个对话框程序,从文本文件中读入二十个数(数字范围为60~100),根据四个区间进行统计:60-70,71-80,81-90,91-100。在对话框界面上画出统计后的柱状图。
二、实验目的
1.练习编写简单的C++程序,进一步掌握更多的C++知识。
2.掌握C++中类和对象的使用。
3. 掌握一些MFC的知识,并且能够运用MFC编写出一个界面
三、实验主要仪器设备和材料
实验所需设备:计算机
实验所需软件环境:Visual C++6.0
四、实验步骤
1.题目分析
题目要求对输入的数据进行分类处理,可用for的循环对20 个数据进行归类,想好了分类的方式需要把分类的函数写MFC的程序里面,使之能够在界面上实现。当界面都编写完成之后,在使用该计算器时可能会输入错误的东西,因此还要写一些错误的提示语,比如输入了错误的数据范围内的数据即会弹出提示“请输入一个0—100间的数”。还有,在没有输入数据的情况下,点击“图像生成”按钮,即会弹出“没有输入数据”的提示。
2.关键类及函数设计
由于该程序比较简单,类中只包括输入的成绩数据的处理。我们用到的函数比较简单,只要定义一个数组,用简单的函数表达式对数据进行处理并分类,再由画图函数输出柱状图。
3.编译、调试并运行
在计算机上实现。
五、实验数据及处理结果
1.程序功能介绍
我们编的这个成绩柱状图虽然比较简单,但是还是有一点的实用性。实现了在界面上直接输入成绩并对输入的成绩进行分类统计并以柱形图的形式加以具体的表现。对老师来说,可以明确了解学生的成绩情况;对学生来说,可以了解到自己在班级中的学习水平。
2.关键代码
int a[20],j[5]={0,0,0,0,0};
FILE *fp1;
if( ( fp1 = fopen (C:\\1.txt,r)) == NULL )
{
MessageBox(没有输入数据,系统警告,MB_OK);
return;
} // 读文件
for(int i=0;i20;i++)
{
fscanf(fp1, %d\n, a[i]);
a[i]=a[i]/60+a[i]/71+a[i]/81+a[i]/91;
if(a[i]==0)
j[0]=j[0]+1;
if(a[i]==1)
j[1]=j[1]+1;
if(a[i]==2)
j[2]=j[2]+1;
if(a[i]==3)
j[3]=j[3]+1;
if(a[i]==4)
j[4]=j[4]+1;
} //分类函数
fclose(fp1);
FILE *fp2;
fp2 = fopen (C:\\2.txt,wr);
fprintf(fp1,%d\n,j[0]);
fprintf(fp1,%d\n,j[1]);
fprintf(fp1,%d\n,j[2]);
fprintf(fp1,%d\n,j[3]);
fprintf(fp1,%d\n,j[4]);
fclose(fp2);
OnPaint();
fp2 = fopen (C:\\1.txt,wr);
fprintf(fp1,%d\n,a);
fclose(fp2); //清空函数
UpdateData(true);
FILE *fp;
fp=fopen(C:\\1.txt,r);
FILE *p;
p=fopen(C:\\1.txt,a);
fprintf(p,%d\n,m_a);
fclose(p);
UpdateData(false);
文档评论(0)