VB程序设计实验报告.docx
《VB程序设计实验报告.docx》由会员分享,可在线阅读,更多相关《VB程序设计实验报告.docx(9页珍藏版)》请在冰点文库上搜索。
VB程序设计实验报告
齐齐哈尔大学计算中心
实验报告
课程名称:
VisualBasic程序设计
实验项目:
VisualBasic程序设计综合实验
实验室:
15教406(九室)
实验台号:
45
班级:
姓名:
实验日期:
2007年7月1日
实验目的:
利用VB控件、流程控制、数组、文件等知识解决一个具体问题,从而初步达到综合应用VB语言的能力。
实验仪器及器材:
硬件:
CPU:
P42.80GHz硬盘80GBRAM256KB
软件:
WindowsXPVisualBasic6.0中文版
实验内容(程序清单、算法或框图)
一、程序功能简介
该程序是一个计算机考试成绩与成绩计算的程序,包括封面的一个用户菜单界面,一个登陆系统,一个计算机考试成绩的文件,以及一个考试成绩计算系统。
用户菜单带有下拉列表,能够更方便,直观的访问其他系统。
登陆界面能检验用户登陆是否正确,并可以删除错误信息,提示用户操作,并且能够进入下一个系统。
计算机考试成绩的数据项包括学号,姓名,计算机基础,VB成绩,能够储存数据,并能按学号或姓名检索成绩。
成绩计算系统包括数据的输入,运算和输出,可以在界面上显示出运算结果。
二、程序清单
登陆系统:
窗体设置如下图
程序代码如下:
PrivateSubCommand1_Click()
DimiAsInteger
IfText2.Text="062"Then
i=MsgBox("欢迎您登陆,请点击登陆按钮")
Else
i=MsgBox("密码错误",5+vbExclamation,"输入密码")
EndIf
Ifi=2Then
End
Else
Text2.Text=""
Text2.SetFocus
EndIf
EndSub
PrivateSubCommand2_Click()
Form1.Hide
Form2.Show
EndSub
计算机成绩系统:
窗体设置如下图
模块代码如下:
Typeperson
noAsString*6
nameAsString*10
score1AsSingle
score2AsSingle
EndType
PublicstudentAsperson
OptionExplicit
DimlengthAsLong,numAsLong
DimfilenumAsInteger
程序代码如下:
PrivateSubcommand1_Click()
DimiAsInteger
num=LOF(filenum)/length+1
IfText1.Text=""AndText2.Text=""AndText3.Text=""AndText4.Text=""ThenMsgBox"无输入数据",,"输入数据"
Else
Put#filenum,num,student
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
EndIf
EndSub
PrivateSubcommand2_click()
DimreadnumAsLong
readnum=0
Close
IfText1.Text=""Then
MsgBox"请输入学号",,"输入学号"
Text1.SetFocus
Else
Open"c:
\temp\学生成绩"ForRandomAsfilenumLen=lenth
Seek#filenum,1
DoWhileNotEOF(filenum)Andreadnumreadnum=readnum+1
Get#filenum,readnum,student
IfRTrim(student.no)=RTrim(Text1.Text)Then
Text2.Text=student.name
Text3.Text=student.score1
Text4.Text=student.score2
EndIf
Loop
EndIf
Close#filenum
EndSub
PrivateSubcommand3_click()
DimreadnumAsLong
Close
IfText2.Text=""Then
MsgBox"请输入姓名",,"输入姓名"
Text1.SetFocus
Else
Open"c:
\temp\学生成绩"ForRandomAsfilenumLen=length
Seek#filenum,1
DoWhileNotEOF(filenum)Andreadnumreadnum=readnum+1
Get#filenum,readnum,student
IfRTrim(student.namme)=RTrim(Text2.Text)Then
Text1.Text=student.no
Text3.Text=student.score1
Text4.Text=student.score2
EndIf
Loop
EndIf
Close#filenum
EndSub
PrivateSubcommand4_click()
Close#filenum
End
EndSub
PrivateSubform_load()
filenum=FreeFile
length=Len(student)
Open"c:
\temp\学生成绩"ForRandomAsfilenumLen=length
EndSub
PrivateSubtext1_change()
student.no=Text1.Text
EndSub
PrivateSubtext2_change()
student.name=Text2.Text
EndSub
PrivateSubtext3_change()
student.score1=Val(Text3.Text)
EndSub
PrivateSubtext4_change()
student.score2=Val(Text4.Text)
EndSub
成绩计算系统
窗体设置如下图:
程序代码如下:
PrivateSubCommand1_Click()
Dimno%,c1%,c2%,c3%,iAsInteger
Open"c:
\2.text"ForOutputAs#1
Fori=1To5
no=InputBox("请输入学号")
c1=InputBox("请输入数学成绩")
c2=InputBox("请输入语文成绩")
c3=InputBox("请输入外语成绩")
Write#1,no,c1,c2,c3
Nexti
Close#1
Open"c:
\2text"ForInputAs#1
Fori=1To5
Print#1,no,c1,c2,c3,c1+c2+c3,(c1+c2+c3)/3
Nexti
Close#1
EndSub
PrivateSubCommand2_Click()
End
EndSub
用户菜单的MDI窗体
窗体设置如下图:
程序代码如下:
OptionExplicit
PrivateSube_Click()
Form2.Show
EndSub
PrivateSubr_Click()
Form3.Show
EndSub
PrivateSubt_Click()
End
EndSub
PrivateSubw_Click()
Form1.Show
EndSub
实验数据记录:
程序运行时的记录大致入下几个图片:
用户界面:
登陆界面:
当出现密码错误情况,
计算机成绩系统:
成绩计算系统:
结果讨论:
此程序是一个多程窗体程序,窗体运行采用的是Show方法,它有加载和显示窗体两种功能。
也就是说,在执行Show时,如果窗体不在内存中,则Show自动把窗体装入内存,然后再显示出来。
其形式如下:
<窗体名称>.Show<模式>
在设置登陆界面的时候,Text的MaxLength属性要从默认的0改成6或略微打点的数。
Text2的PasswordChar的属性改为“*”,则输入字符时就会显示成“*”,如果改成“9”,假如你输入密码“062”,就会显示成“999”。
进入下一个系统时Form1用了Hide方法,该方法用来将窗体暂时隐藏起来,但并没有从内存中删除。
其形式如下:
<窗体名称.>Hide
在登陆系统,运行时,如果密码输入错误,会提示,如果此时点“重试”按钮,文本框里的文字会被删除,采用的代码是“Text2.Text=""”""l里面没有数字,则文本框被清空。
VB处理文件有很多种方法,即可以直接读写文件,同时又提供了大量与文件管理有关的语句和函数。
在数据处理时,经常是数组和循环语句结合使用。
数组必须先声明后使用,声明数组名,类型,维数和组数大小。
在指定条件下多次重复执行一组语句,可以通过循环结构实现。
指导教师评语:
总分:
签字:
年月日