VB课设-学生成绩统计程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生成绩统计程序设计
VB课程设计
班级信管 C081 班
成员( 087267 )齐琪
( 087264 )龙泉江
指导教师李艳
2010/12/12
目录
1、设计题目 (3)
2、设计思路 (3)
①划分功能模块 (3)
②确定各模块的算法 (3)
3、过程图示 (5)
4、程序清单 (5)
5、更完善的方案 (7)
6、收获与心得体会 (7)
1、设计题目:学生成绩统计程序
①在程序界面中单击“读入数据”按钮,从数据文件中将学生姓名信息及三门课程的成绩读入,此时可以在屏幕上显示读入了多少学生的信息(例如:读入了40名学生信息)。
②在程序界面中单击“统计”按钮,计算所有学生数学、英语、计算机的平均分数,统计每个学生三门课的平均分。
2、设计思路
①划分功能模块
分为四个模块:标准模块、全局变量模块、输入数据模块、统计模块。
②确定各模块的算法
标准模块:定义结构体变量stu。
全局变量模块:定义全局变量,以便各程序使用、存储、共享各变量数据。
输入数据模块:运用for循环,“依次输入各学生的姓名和数学、英语、计算机的分数”,存入结构体数组;嵌入if条件语句,以输入姓名是空时为标志,结束输入,并把此时的i 的值减1后,赋值给t,t便是读入的学生人数。
统计模块:使用for循环,将结构体数组里各组的数学、英语、计算机三科分数平均,定义一个新的数组,存储求得的平均分,再依次输出各学生的各科成绩和平均分。
3、过程图示
4、程序清单
Dim a(100) As stu '存储学生信息
Dim ave(100) As Double '存储学生平均成绩
Dim t As Integer '记录读入学生人数
Dim i As Integer '循环控制变量
Private Sub Command1_Click()
Print "依次输入各学生的姓名和数学、英语、计算机的分数:"
For i = 1 To 100 '输入学生各项信息a(i).name = InputBox("姓名:")
If a(i).name = "" Then '当输入姓名为空时,结束输入t = i - 1
Print ""
Print "读入了" & t; "名学生信息" '显示读入多少名学生信息Exit For
End If
a(i).x = InputBox("数学:")
a(i).y = InputBox("英语:")
a(i).z = InputBox("计算机:")
Next i
End Sub
Private Sub Command2_Click()
Print ""
Print "姓名数学英语计算机平均分数"
Print "——————————————————————"
For i = 1 To t
ave(i) = (a(i).x + a(i).y + a(i).z) / '计算各学生平均成绩Print a(i).name; " "; a(i).x; " "; a(i).y; " "; _
a(i).z; " "; ave(i) '输出统计的所有学生的各科成绩和平均成绩Print "——————————————————————"
Next i
End Sub
自定义类型标准模块程序:
Type stu '设自定义类型为stu
name As String '姓名
x As Double '数学
y As Double '英语
z As Double '计算机
End Type
5、更完善的方案
统计功能,不应该只是统计单个学生的平均分,而是需能统计所有学生的列平均分(单科成绩平均分),甚至统计出总分、最高分和最低分。
6、收获与心得体会
通过这次编程,熟悉了VB的编程功能,初步了解到VB与C++的区别,各有千秋,也更一步巩固了所学的VB编程知识。
编程领域很广阔,我们所学的C++、VB、数据库都是冰山一角,欲窥其全貌、运筹帷幄,还须更深的学习与探究!