ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:102.54KB ,
资源ID:11041142      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11041142.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据统计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据统计.docx

1、数据统计沈 阳 航 空 工 业 学 院 课程设计学 号 _班 级 _ 姓 名 _指导教师 _年 月 日沈阳航空工业学院课程设计任务书学院:机电 专业:机械 班级:94060108学号:2009040601292 题目:数据统计一、课程设计时间2011年3月1418日(第2周),共计1周,20学时。二、课程设计内容一个文本文件(file11_数据统计.txt)存储了若干位同学的数学成绩,文件中每行的内容按照顺序为:学号,班级,数学成绩,姓名。请完成一下问题:将文件中的内容全部显示在窗体上,并统计总人数。统计数学成绩的平均分。统计各个班级的平均分。三、课程设计要求程序质量: 贯彻事件驱动的程序设计

2、思想。 用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。 用户界面中的菜单至少应包括“打印全部,并统计人数”、“计算总平均分”、“计算各个班的平均分”、“退出”4项。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书: 课程结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、成绩六、教师评语目 录需求分析 4设计分析 4关键技术 6总结 8完整的源程序 8参考文献 11需求分析一个文本文件(file11_数据统计.txt)存储了若干位同学的数学成绩,文件中每行的内容按照顺序为:学号,班级,数学

3、成绩,姓名。要求:能够将文件中的内容全部显示在窗体上,并统计总人数。能够统计数学成绩的平均分。能够统计各个班级的平均分。设计分析(1) 基本原理:用Open语句打开文本文件,用EOF函数读取文件中的内容导入的自定义类型数组中,将文件中的内容全部显示在窗体上并进行数据统计。(2) 总体设计:(3)详细设计:关键技术1文本文件的读取与导入的代码如下Private Sub Command1_Click()Dim Count As IntegerOpen H:教师课件刘成课设VB数据file11_数据统计.txtFor Input As #1 打开文件;用于读取数据,文件号为1Do While Not

4、 EOF(1) 判断一号文件是否结束,若不结束则继 Line Input#1,LineData 从1号文件中读出一行 Print LineDataLoop Close #1 关闭文件 Print 总人数为:; CountEnd Sub 2自定义类型动态数组自定义类型的定义程序如下:Type studType studType为自定义类型名 ano As String * 12 aclass As String * 7 ascore As Integer aname As StringEnd Type Type studtype1 bclass As String * 7 bscore As I

5、nteger End Type自定义类型动态数组程序如下:Open H:教师课件刘成课设VB数据file11_数据统计.txt For Input As #1 Dim No As String, Class As String, Score As Integer, Name As String Dim Count As Integer, Sum As Integer, Average As Single Dim stud() As studType 声明动态数组 Do While Not EOF(1) 统计班级数,定义动态数组Input #1, No, Class, Score, NameCo

6、unt = Count + 1 Loop n = Count ReDim stud(n - 1) Close #1 Open H:教师课件刘成课设VB数据file11_数据统计.txt For Input As #1Do While Not EOF(1) 将每名学生的班级和分数导入数组 Input #1, No, Class, Score, Name With stud(i) .aclass = Class .ascore = Score End With i = i + 1 Loop Close #13算法计算各个班级的平均分时如何从全部班级中把不同的班级挑选出来。例如如何从(2、5、5、8

7、)四个数中把不同的数挑选出来,可以用后一个与前一个比较,若相同则舍去,若不同则挑选出来。稍微变一下数的排列顺序,挑选算法也要加以变化。例如变为(5、2、5、8),只用后一个与前一个相比较就挑选不出来了,可以先把(5、2、5、8)用冒泡法排序为(2、5、5、8)后再进行挑选。挑选班级也可以如此,把班级看作一个七位数,就可以用以上方法进行挑选。程序段如下:n = UBound(stud) For i = 0 To n 比较班级号的大小,使数组按班级号由小到大排列 imin = i For j = i + 1 To n - 1 If stud(imin).aclass stud(j).aclass

8、Then imin = j Next j m = stud(i).aclass: stud(i).aclass = stud(imin).aclass: stud(imin).aclass = m Next i Dim stud1(999) As studtype1 With stud1(0) .bclass = stud(0).aclass End With s = 0 For i = 1 To n 依次比较班级号,确定班级的个数 If stud1(s).bclass stud(i).aclass Then s = s + 1 stud1(s).bclass = stud(i).aclass

9、 End IfNext i总结这次课设我的题目是数据统计,通过这次课设让我对顺序文件的打开读取等语句和函数以及自定类型动态数组的应用更加熟练,我对算法有了更深的认识与理解。 在课设过程中,我遇到了重重困难,例如:如何把不同的班级从全部班级中挑选出来的算法。通过老师的指点和与同学的讨论,我克服了困难,顺利的完成了任务。 同时我也了解了VB的出现是一场技术革命,它在生活中各个方面都能发挥巨大的作用,所以,学好VB是社会发展的需要。完整的源程序Form1Private Sub Command1_Click()Dim Count As Integer Open H:教师课件刘成课设VB数据file11

10、_数据统计.txt For Input As #1 Do While Not EOF(1) Line Input #1, LineData Print LineData Count = Count + 1 Loop Close #1 Print 总人数为:; Count End SubPrivate Sub Command2_Click() Open H:教师课件刘成课设VB数据file11_数据统计.txt For Input As #1 Dim No As String, Class As String, Score As Integer, Name As String Dim Count

11、 As Integer, Sum As Integer, Average As Single Do While Not EOF(1) Input #1, No, Class, Score, Name Count = Count + 1 Sum = Sum + Score Loop Average = Sum / Count Print 总平均分为:; Average Close #1End SubPrivate Sub Command3_Click() Open H:教师课件刘成课设VB数据file11_数据统计.txt For Input As #1 Dim No As String, Cl

12、ass As String, Score As Integer, Name As String Dim Count As Integer, Sum As Integer, Average As Single Dim stud() As studType Do While Not EOF(1) Input #1, No, Class, Score, Name Count = Count + 1 Loop n = Count ReDim stud(n - 1) Close #1 Open H:教师课件刘成课设VB数据file11_数据统计.txt For Input As #1 Do While

13、Not EOF(1) Input #1, No, Class, Score, Name With stud(i) .aclass = Class .ascore = Score End With i = i + 1 Loop Close #1 n = UBound(stud) For i = 0 To n imin = i For j = i + 1 To n - 1 If stud(imin).aclass stud(j).aclass Then imin = j Next j m = stud(i).aclass: stud(i).aclass = stud(imin).aclass: s

14、tud(imin).aclass = m Next i Dim stud1(999) As studtype1 With stud1(0) .bclass = stud(0).aclass End With s = 0 For i = 1 To n If stud1(s).bclass stud(i).aclass Then s = s + 1 stud1(s).bclass = stud(i).aclass End If Next i Count = 0 Score = 0 For i = 0 To s For j = 0 To n If stud(j).aclass = stud1(i).

15、bclass Then Count = Count + 1 Score = Score + stud(j).ascore End If Next j Average = Score / Count Print stud1(i).bclass; 班的平均分为:; Average Count = 0 Score = 0 Next i End SubPrivate Sub Command4_Click() EndEnd SubPrivate Sub Command5_Click() ClsEnd SubModule1Type studType ano As String * 12 aclass As String * 7 ascore As Integer aname As StringEnd TypeType studtype1 bclass As String * 7 bscore As Integer End Type参考文献1 龚沛曾 杨志强 陆慰民Visual Basic程序设计教程北京:高等教育出版社,2007年3月第3版

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1