当前位置:文档之家› (完整版)VB程序设计实验报告

(完整版)VB程序设计实验报告

湖北文理学院VB程序设计课程实验报告学院物电学院专业自动化班级 1211学号姓名王亮任课教师王福林实验一、VB控制结构一、实验目的1.掌握选择语句的使用2.掌握循环语句的使用二、实验内容1、选择语句程序1:创建应用程序。

要求:单击窗体可弹出输入框,任意输入三个数,然后按从小到大的顺序输出到窗体上。

程序2:创建应用程序。

要求:单击窗体可弹出一输入框,任意输入一个正整数,在窗体上显示该整数是否为素数的字样。

2、循环语句程序3:创建应用程序。

要求:单击窗体可显示一个由“*”组成的平行四边形图案。

程序4:创建应用程序,其功能是显示所有的水仙花数。

三、实验记录程序1如下:Private Sub Command1_Click()Dim a As Integer, b As Integer, c As Integer, t As Integer '定义a,b,c,t为整形变量Cls '清屏a = Val(InputBox("请输入第1个数:")) '给a赋值b = Val(InputBox("请输入第2个数:")) '给b赋值c = Val(InputBox("请输入第3个数:")) '给c赋值If a > b Then t = a: a = b: b = t '如果a>b,把a的值赋给t,b的值赋给a,t的值赋给bIf b > c Then '嵌套,如果b>ct = b: b = c: c = t '把b的值赋给t,b 的值赋给c,t的值赋给cIf a > b Then '再次嵌套,如果a>b t = a '把a的值赋给ta =b 'b的值赋给ab = t 't的值赋给bEnd IfEnd IfPrint a; "、"; b; "、"; c '输出 a "、"b;"、"; cEnd SubPrivate Sub Command2_Click()End '退出程序End Sub程序2如下:Private Sub Command1_Click()Dim i As Integer, k As Integer, n As Integer '定义整形变量i,k,nn = Val(InputBox("任意输入一个整数:")) '给n输入值i = 2 'i初始值为2k = Int(n / 2) '为整形的二分之一n的值赋给kDo While i <= k '当i小于且等于kIf n Mod i = 0 Then '如果n模除i 为0Exit Do '退出循环Elsei = i + 1 '否则i加1End IfLoopIf i > k Then Print n; "是素数" Else Print n; "不是素数" '如果i大于k,输出n的值是素数,否则输出n的值不是素数End SubPrivate Sub Command2_Click()End ' 退出程序End Sub程序3如下:Private Sub Form_Click()Dim m As Integer, n As Integer '定义整形变量m,nCls '清屏PrintFor m = 1 To 6 'm赋初始值为1,当m大于6停止Print Tab(15 - m); '第15 - m列开始输出For n = 1 To 8 'n赋初始值为1,当n大于6停止Print "*"; '输出*Next nPrint "" '输出空格Next mEnd Sub程序4如下:Private Sub Command1_Click()Dim i As Integer, m As Integer, n As Integer, k As Integer, sxh As Intege'定义整形变量i,m,n,k,sxkFor i = 100 To 999 'i赋初始值为100,当i大于999,停止循环m = i \ 100 'i除以100,结果赋给mn = (i Mod 100) \ 10 'i模除100后的值再除以10,最后结果赋给nk = i Mod 10 'i模除10后的值赋给k sxh = m ^ 3 + n ^ 3 + k ^ 3 'sxh作算术运算If sxh = i Then '如果sxh等于iPrint i, '输出i的值End IfNext iEnd SubPrivate Sub Command2_Click()End '程序结束End Sub四、实验总结实验二、窗体和标准控件一、实验目的1.掌握命令按钮、标签及文本框控件的使用方法2.掌握复选框、单选按钮及框架控件的使用方法3.掌握列表框和组合框控件的使用方法4.掌握滚动条和定时器控件的使用方法二、实验内容1、命令按钮、标签及文本框控件的使用方法程序1:在窗体上建立两个标签、两个文本框和两个命令按钮,运行界面如左图所示。

要求在运行时,两个文本框中的内容均不允许用户编辑;如果用户在“原文”的文本框中选定所需的内容,单击“复制”命令按钮,则在“输出”文本框中输出选定的内容;如果单击“结束”命令按钮,则结束程序的运行。

程序2:建立如下图所示的窗体,要求程序能对输入的“性别”和“邮政编码”、“电话号码”进行校验(性别只允许输入“男”或“女”,邮政编码必须是6位数字,电话号码必须是8位数字)。

如果输入的数据不符号要求,则清空相应的文本框,并将插入点置于该框中。

所有的校验工作可以在单击“退出”按钮后进行,此时,程序检查所有文本框,如有空白或内容错误,要求继续输入,否则结束程序。

2、复选框、单选按钮及框架控件的使用程序3:在窗体中有一个标签,内有若干文字,要求通过窗体中的复选框或单选按钮确定标签中文字的字体(宋体或黑体)、字号(10号或12号)和字形(是否粗体、是否斜体),请建立应用程序。

3、列表框和组合框控件的使用程序4:编写程序。

要求:程序运行初期,在窗体左边的列表框中生成10个由小到大排列的10到100之间的随机整数,单击窗体中“右移”按钮,则左边列表框的10个数移动到右边的列表框中,并由大到小排列,此时“左移”按钮变为有效。

单击“左移”按钮,右边列表框中的数又被移到左边的列表框中。

单击“退出”按钮或按ESC键,可退出程序。

窗体示意图如下。

程序5:建立应用程序,窗体如下图所示,有一个简单组合框、三个命令按钮、一个文本框和一个标签。

要求:●单击“添加”按钮可将输入的内容添加到组合框中●单击“删除”按钮可删除组合框中选定的项目●单击“统计人数”按钮,可将组合框中的项目总数输出到右边的文本框●单击“退出”或按ESC键退出程序4、滚动条和定时器控件的使用程序6:编写程序,运行时的界面如下图所示。

要求:无论是拖动滚动条上的滚动框,还是单击滚动箭头(数值递增或递减1)或滚动条(数值递增或递减10),均可以在相应的标签中反映当前数值,并动态计算出均值;单击“Reset”按钮,可将各滚动条上的滚动框复位。

程序7:利用定时器控件设计一个数字式时钟应用程序。

三、实验记录程序1如下:Private Sub Form_Load()Text1.Text = "文本框是一个多功能控件,可以显示或者接收用户输入的文本信息。

" '给文本框指定内容End SubPrivate Sub Command1_Click()Text2.Text = Text1.SelText '在Text1中选定文本赋给Text2End SubPrivate Sub Command2_Click()End '程序结束End Sub程序2如下:Private Sub Command1_Click()If Text1 = "" Then'如果Text1没有输入,当前的激活文本区(焦点)在Text1Text1.SetFocusExit Sub '退出过程End IfIf Text2 = "" Then'如果Text2没有输入,当前的激活文本区(焦点)在Text2Text2.SetFocusExit Sub '退出过程End IfIf Text3 = "" Then'如果Text3没有输入,当前的激活文本区(焦点)在Text3Text3.SetFocusExit Sub '退出过程End IfIf Text4 = "" Then'如果Text4没有输入,当前的激活文本区(焦点)在Text4Text4.SetFocusExit Sub '退出过程End IfIf Text5 = "" Then'如果Text5没有输入,当前的激活文本区(焦点)在Text5Text5.SetFocusExit Sub '退出过程End IfEnd '退出程序End SubPrivate Sub Text2_LostFocus()If Text2.Text <> "" Then '如果Text2有输入If Text2.Text <> "男" And Text2.Text <> "女" Then'如果Text2输入的内容不是“男”和“女”Text2.Text = "" '则Text2不输出Text2.SetFocus '当前的激活文本区(焦点)在Text2End IfEnd IfEnd SubPrivate Sub Text4_LostFocus()If Text4.Text <> "" Then '如果Text4有输入If Len(Text4.Text) <> 6 Or Not IsNumeric(Text4.Text) Then '如果Text4输入的内容不是数值或者字符串的长度不为6Text4.Text="" '则Text4不输出Text4.SetFocus '当前的激活文本区(焦点)在Text4End IfEnd IfEnd SubPrivate Sub Text5_LostFocus()If Text5.Text <> "" Then '如果Text5有输入If Len(Text5.Text) <> 8 Or Not IsNumeric(Text5.Text) Then'如果Text5输入的内容不是数值或者字符串的长度不为8Text5.Text="" '则Text5不输出Text5.SetFocus '当前的激活文本区(焦点)在Text5End IfEnd IfEnd Sub程序3界面设计(程序设计界面和运行结果界面):程序3如下:Private Sub Option1_Click()Text1.FontName = "宋体" 'Text1中的内容为宋体End SubPrivate Sub Option2_Click()Text1.FontName = "黑体" 'Text1中的内容为黑体End SubPrivate Sub Option3_Click()Text1.FontSize = 10 'Text1中的内容为字号大小为10号End SubPrivate Sub Option4_Click()Text1.FontSize = 12 'Text1中的内容为字号大小为12号End SubPrivate Sub Check1_Click()If Check1.Value = 1 Then '如果Check1被选中Text1.FontBold = True 'Text1中的内容变为粗体ElseText1.FontBold = False 'Text1中的内容不变End IfEnd SubPrivate Sub Check2_Click()If Check2.Value = 1 Then '如果Check2被选中Text1.FontItalic = True 'Text1中的内容变为斜体ElseText1.FontItalic = False 'Text1中的内容不变End IfEnd Sub程序4如下:Private Sub Command1_Click()Dim i As Integer, Last As Integer '定义i和Last为整型变量 Last = List1.ListCount - 1'将List1.ListCount - 1 中被选中的内容赋給LastFor i = 0 To Last '统计i大于Last 时停止循环List2.AddItem List1.List(Last - i)'将List2中被选中的内容添加到List1中List1.RemoveItem Last - i '将List1中被选中的内容删除Last - i个Next iCommand1.Enabled = False 'Command1按钮无效Command2.Enabled = True 'Command2按钮有效End SubPrivate Sub Command2_Click()Dim i As Integer, Last As Integer '定义i和Last为整型变量Last = List2.ListCount - 1'将List2.ListCount - 1 中被选中的内容赋給LastFor i = 0 To Last '统计i大于Last 时停止循环List1.AddItem List2.List(Last - i)'将List1中被选中的内容添加到List2List2.RemoveItem Last - i '将List2中被选中的内容删除Last - i个Next iCommand1.Enabled = True 'Command1按钮有效Command2.Enabled = False 'Command2按钮无效End SubPrivate Sub Command3_Click()Unload Me '程序退出End SubPrivate Sub Form_Load()Dim i As IntegerFor i = 0 To 9 '统计i大于9 时停止循环RandomizeList1.AddItem Int((90 * Rnd) + 10) '给List1中添加内容Next iEnd Sub程序5如下:Private Sub Combo1_Change()If Combo1.Text <> "" Then '如果Combo1输入内容不为空 Command1.Enabled = True 'Command1按钮点击有效Command1.Default = True 'Command1为默认按钮ElseCommand1.Enabled = False '否则,Command1按钮点击无效,成灰色状态End IfEnd SubPrivate Sub Combo1_Click()Command2.Enabled = True 'Command2按钮点击有效Command2.Default = True 'Command2为默认按钮Combo1.SetFocus '赋焦点光标在停放Combo1里End SubPrivate Sub Command1_Click()Combo1.AddItem Combo1.Text '添加内容到Combo1中Combo1.Text = "" 'Combo1输入内容为空Combo1.SetFocus '赋焦点光标在停放Combo1里End SubPrivate Sub Command2_Click()x = Combo1.ListIndex '将Combo1中的内容赋給xCombo1.RemoveItem x '将Combo1中的内容中的x删除 If x < Combo1.ListCount Then '如果x小于Combo1.ListCount 中的值Combo1.ListIndex = x '将x中的内容赋給Combo1ElseIf x > 0 Then '否则,如果x大于0Combo1.ListIndex = x - 1 'x-1赋给Combo1ElseCommand2.Enabled = False '否则,Command2按钮点击无效Command2.Default = False 'Command2不为默认按钮End IfEnd IfText1.SetFocus '赋焦点光标在停放text1里End SubPrivate Sub Command3_Click()Text1.Text = Combo1.ListCount '将Combo1中的内容赋給Text1 Combo1.SetFocus '赋焦点光标在停放Combo1里End SubPrivate Sub Command4_Click()End '程序结束End Sub程序6如下:Private Sub Command1_Click()HScroll1.Value = 0 '将数值0赋给滚动条HScroll1HScroll2.Value = 0 '将数值0赋给滚动条HScroll2HScroll3.Value = 0 '将数值0赋给滚动条HScroll3End SubPrivate Sub HScroll1_Change()Label5.Caption = HScroll1.Value'滚动条HScroll的数值显示在标签Label5上Average '求其平均值End SubPrivate Sub HScroll2_Change()Label6.Caption = HScroll2.Value'滚动条HScrol2的数值显示在标签Label6上Average '求其平均值End SubPrivate Sub HScroll3_Change()Label7.Caption = HScroll3.Value'滚动条HScrol3的数值显示在标签Label7上Average '求其平均值End SubPrivate Sub Average()Dim Temp As Double '定义双精度变量TempTemp = (HScroll1.Value + HScroll2.Value + HScroll3.Value) / 3'将滚动条HScroll,HScroll2,HScroll3的平均值之和除以3,结果赋给TempLabel8.Caption = CStr(Temp) 'Temp的均值显示在标签Label8上End Sub程序7如下:Private Sub Form_Load()Label1.Caption = Time '在窗体上,将现在的时间赋给标签Label1End SubPrivate Sub Timer1_Timer()Label1.Caption = Time'在时间控件Time1把现在的时间显示在标签Label1上End Sub四、实验总结实验三、过程一、实验目的1.掌握过程的定义和调用的方法2.掌握典型问题的算法求解二、实验内容1、过程的定义和调用程序1:创建应用程序,要求对输入的非负整数m和n,如果m>=n,则显示组合数的值,否则显示数据出错。

相关主题