VB程序设计实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
长江大学
计算机上机实习报告
姓名:梁智荣
序号:11
学号:200903812
班级:油工 10905班
指导老师: 任老师张老师
日期:2010-12-16
目录
一:系统名称:学生成绩管理系统的设计与实现
二:设计目的
三:程序摘要
四:系统设计流程
五:相关数据列表
六:小结
七:程序代码
(1)模块代码
(2)窗体代码
一.系统名称:学生成绩管理系统的设计与实现
二.设计目的
1. 熟悉VB 6.0的开发环境,掌握基本的编程方法,熟悉用VB语言完成一个应用程
序的设计过程,掌握有关编辑和调试程序的方法和技巧;
2. 主要掌握VB语言中的结构体﹑指针及文件操作等内容
3. 了解开发简单应用程序的全过程,包括:分析﹑设计﹑编程﹑调试和编写报告.
三.程序摘要
先在记事本中创建2个文本文档,分别输入本班24名学生在本学期的5门考试课的成绩和课程名及其学分.在主函数中读入两个原始数据文件的内容,保存在对应的结构体数组中,计算出每个学生5门课的加权平均分,并按平均分排列名次.然后显示菜单,调用各个函数,完成以下功能:
1.用VB语言创建一个数据文件,文件名为:“VB课程设计”,用来存放班级的成绩表.
2.分别统计全班每门课的平均分和标准差,并计算各分数段(90分以上;80~90;70~79;60~69;60分以下)的学生数
3.用VB语言创建一个数据文件,文件名为:“VB课程设计”,用来存放编号,课程名称,课程平均分,标准差,优秀,良好,中等,及格,不及格.
4.打印每名学生成绩条,结果存放到用VB语言创建的一个数据文件中,成绩条格式为名次,学号,姓名,英语,数学,VB语言,物理,化学
5.屏幕显示所有存在不及格课程的学生的名单(含学号,不及格课程名称,课程的学分及成绩)
6.屏幕显示优等生名单(含学号,N门课成绩,平均分,名次),优等生条件:
a) 平均分>=90分
b) 名次在本班位于前三名
c) 平均分>=85分,并且至少有一门课的成绩>=95
四、系统设计流程
五.相关数据列表
1、原始成绩表
2、课程及学分
3、计算加权平均分
4、按平均分排名次
5、打印每位同学的成绩条
6、打印不及格的人
7、打印优等生情况
8、每门课的平均分
9、各分数段人数
六.小结
在这次上机实习过程中,我了解了程序在Visual VB 6.0中调试并运的方法,并上机实践解决了一些平时没有机会解决和一些曾经被自己忽视的问题,如程序的排序对结果显示影响,标点符号对程序结果的影响,并养成了仔细检查程序的好习惯,加强了自己动手的能力。但通过这次上机让我看到了自己在VB学习中的漏洞,不过看到自己亲自编出的程序,心里非常高兴,这要特别感谢我的辅导老师们的耐心讲解,细心的帮助我调试程序。感谢学校老师给我们这样的机会,它有利于培养我们独立思考,求异思维的能力。我深信这次课程设计,对我的VB学习以及今后的计算机等级考试的学习和考试会起到很大的促进作用,我从中看到了自己还有很多的不足,在这里真心的感谢两位老师的耐心的指点,今后我会更加努力学好计算机方面的知识!总之,这次实习让我受益良多,我更深的体会了细节决定成败,无论在以后上机还是学习做事中,我一定注意细节。希望学校多给我们这样动手实践的机会,让我们在实践中发现问题,解决问题。我会珍惜加倍这样难得的机会
七、程序代码
1、模块代码
Type xscjb
xh As String
xm As String
cj(1 To 5) As Integer
aver As Single
mc As Integer
End Type
Type kechen
编号As Integer
课程名称As String
课程学分As Single
aver As Single
End Type
Public stu() As xscjb
Public ke() As kechen
Public N%, M%, Zxf% '总人数,课程数,总学分Public str As String
2、窗体代码
Private Sub Form_Load()
Dim st1$(), str1$
Open App.Path + "\chengji.txt" For Input As #1 Open App.Path + "\kecheng.txt" For Input As #2
N = 0: M = 0: Zxf = 0 '总人数,课程数,总学分Line Input #2, str1
Do While Not EOF(2)
M = M + 1
ReDim Preserve ke(M)
Line Input #2, str1
'Text1 = Text1 & vbCrLf & str1
str1 = Trim(str1)
str1 = space1(str1)
st1 = Split(str1, " ")
'Print st1(0), st1(1)
ke(M).编号= st1(0)
ke(M).课程名称= st1(1)
ke(M).课程学分= st1(2)
Zxf = Zxf + ke(M).课程学分
Loop
Line Input #1, str1
'Text1 = str1
Do While Not EOF(1)
N = N + 1
ReDim Preserve stu(N)
Line Input #1, str1
'Text1 = Text1 & vbCrLf & str1
str1 = Trim(str1)
str1 = space1(str1)
st1 = Split(str1, " ")
stu(N).xh = st1(0)
stu(N).xm = st1(1)
stu(N).cj(1) = st1(2)
stu(N).cj(2) = st1(3)
stu(N).cj(3) = st1(4)
stu(N).cj(4) = st1(5)