资源描述
[笔记]Visual Basic程序设计教程实验答案(完整版)
(文档可以直接使用,也可根据实际需要修改使用,可编辑 欢迎下载)
※声明:
1. 实验所属课本原件为《Visual Basic程序设计教程(第4版) (□主编 龚沛曾 □编者 杨志强 陆慰民 谢步瀛)》 ;
2. 实验答案代码采用红色字体突出 ;
3. 仅提供课本前七个实验的代码,之后的实验上课考试均不涉及故不作 ;
4. 教学平台上机实验、课本篇后实验,两者题目操作略有差异,作业以前者要求为准,故以下答案代码为前者代码,如对后者代码有所需求请私信 ;
5. 本文为作者原创,复制转载请注明出处 ;
6. 如果对代码有所疑问,或者略感繁琐想直接要已完成实验,请私信 ;
7. 浏览、复制、下载后请给作者一个合理的评价,感激不尽 。
实验1-1
编制简单的欢迎界面程序。
要求:在屏幕上显示“欢迎学习Visual Basic”;在文本框Text1中输入姓名;单击命令按钮“你输入的姓名是”,在Label3标签显示在文本框中输入的姓名。
程序运行效果如图2.1.1所示。程序以“学号-1-1.frm”和“学号-1-1.vbp”文件名保存。以后每个实验项目的命名规则都是如此,即“学号-实验号-实验题目”。(如某同学的学号为A10414001,所完成的是实验2的第3题,那么程序文件名为“A10414001-2-3.frm”和“A10414001-2-3.vbp”)
图2.1.1 实验1.1运行界面
提示:
(1) 实验所用到的控件及属性设置见表2.1.1。
属 性 设 置
控件名
属 性
Label1
Caption="欢迎学习Visual Basic";Font属性:字号为二号,字体为隶书,Aligment=2(居中)
Label2
Caption="请输入你的姓名";Font属性:字体为楷体,有下划线
Label3
Caption="",BorderStyle=1
Text1
Text=""
Command1
Caption="你输入的姓名是"
(2) “欢迎学习Visual Basic”要在两行显示,只要将Label1控件的宽度缩小一些。
Private Sub Command1_Click()
Label3.Caption = Text1.Text
End Sub
实验1-2
模仿教学篇例1.1,将事件过程中的自上而下移动改为自右向左移动,同时考虑文字超出窗体边界的情况。各个控件及属性窗口的设置见表2.1.2,背景图形文件可以选择自己喜欢的,按钮上的图标可通过Windows搜索功能查找。以“学号-1-2”为项目名保存。
属 性 设 置
控件名
属 性
Form1
Caption="实验1.2";Picture:选择自己喜欢的图片
Label1
Caption="我开始学习程序设计";FontSize=36;BackStyle=0
Command1
Caption="";Style=1;Picture="clock02.ico";ToolTipText="自动"
Command2
Caption="";Style=1;Picture="key04.ico";ToolTipText="手动"
Timer1
Interval=0
注:因为印刷错误,例题1.1中两个命令按钮的图形与事件过程代码不一致,需要调整。
提示: 自定义事件过程MyMove代码应调整为,可实现文字移动方向的改变
Sub MyMove()
Label1.Move Label1.Left - 50, Label1.Top
If Label1.Left < 0 Then Label1.Left = Form1.Width
End Sub
Sub MyMove()
Label1.Move Label1.Left - 50, Label1.Top
If Label1.Left < 0 Then Label1.Left = Form1.Width
End Sub
Private Sub Command1_Click()
Timer1.Interval = 200
End Sub
Private Sub Command2_Click()
Timer1.Interval = 0
Call MyMove
End Sub
Private Sub Form_Load()
Timer1.Interval = 0
End Sub
Private Sub Timer1_Timer()
Call MyMove
End Sub
实验1-3
编一个程序,在文本框中统计在该窗口上鼠标单击的次数,效果如图2.1.2所示。以“学号-1-3”为项目名保存。
图2.1.2 实验1.3运行界面
提示:
(1) 对窗体编写两个事件:Form_Load 事件中对文本框置初值为空;Form_Click事件对鼠标单击文本框计数。
(2) 对鼠标单击文本框计数计算为:Text1.Text=Val(Text1.Text)+1
Private Sub Form_click()
Text1.Text = Val(Text1.Text) + 1
End Sub
Private Sub Form_Load()
Text1.Text = ""
End Sub
实验1-4
按照教学篇例2.2对窗体三个事件过程(Load、Click、DblClick)编程,在3个事件中装入不同的图片(自己选择);在属性窗口练习鼠标指针改变:MousePointer(值为99,用户自定义)、MouseIcon为Key04.ico图标文件,练习窗体图标(Icon)、边框线类型(BorderStyle)、最大化按钮和最小化按钮的改变,运行观察其效果。以“学号-1-4”为项目名保存。
提示:
例题中Form_Resize事件可以不考虑,Picture属性设置中注意图片文件有后缀名,运行测试前需要先保存项目名,保证图片文件和程序文件在同一个文件夹下,否则会出现图片找不到的错误提示。
Private Sub Form_Click()
Caption = "单击窗体"
Picture = LoadPicture(App.Path + "\p2.jpg")
Print "欢迎使用VB"
End Sub
Private Sub Form_DblClick()
Cls
Caption = "双击窗体"
Picture = LoadPicture(App.Path + "\p3.jpg")
Print "结束使用VB"
End Sub
Private Sub Form_Load()
Caption = "装入窗体"
Picture = LoadPicture(App.Path + "\p1.jpg")
Print "装入图片"
End Sub
实验1-5
命令按钮、字号、内容和格式的复制练习,效果如下图所示。有关控件及属性参见下表。以“学号-1-5”为项目名保存。
图2.1.3 实验1.5运行界面
属 性 设 置
控件名
属 性
Form1
Caption="实验1.5"
Label1
Caption="输入文本 复制文本"
Text1
Text="VB功能强大,但要下功夫学习才能学好";MultiLine=True;ScrollBar=2
Text2
Text="";MultiLine=True
Command1
Caption="隶书25磅"
Command2
Caption="复制=>"
要求:
(1) Command1:使得Text1的字体和字号根据命令按钮显示的要求改变
(2) Command2:要求将Text1选中的内容及其格式复制到Text2。选中的内容通过Text1的SelText属性获得
提示:
为使Text2文本框保持Text1中的字符格式,通过Text2.FontSize=Text1.FontSize和Text2.FontName=Text1.FontName实现
Private Sub Command1_Click()
Text1.FontName = "隶书"
Text1.FontSize = 25
End Sub
Private Sub Command2_Click()
Text2 = Text1.SelText
Text2.FontName = Text1.FontName
Text2.FontSize = Text1.FontSize
End Sub
实验1-6
图片缩小、还原的设置。
窗体上放置一个Image图像控件和两个命令按钮。Image图像控件装入自己喜欢的图片,设置Stretch属性为True,使得图片随着图像控件的大小而变,如图2.1.4所示。以“学号-1-6”为项目名保存。
图2.1.4 实验1.6运行界面
要求:
(1)单击“缩小一半”按钮,图片纵、横均缩小一半。
(2)单击“还原”按钮,图片与初始装入时同大。
提示:为了实现还原效果,要做以下3件事。
(1)必须在事件过程外,即程序代码最上方声明窗体级变量:
Dim h%,w% ‘用户输入的变量声明语句
(2)在Form1_Load事件中保存图像控件的初始值:
w=Image1.Width
h=Image1.Height
(3)在Command2_Click事件中还原为初始值:
Image1.Width=w
Image1.Height=h
缩小一半Command1_Click事件请读者自行完成。
思考:若要设置图片放大效果,如何修改代码?
Dim h%, w%
Private Sub Command1_Click()
Image1.Width = Image1.Width * 0.5
Image1.Height = Image1.Height * 0.5
End Sub
Private Sub Command2_Click()
Image1.Width = w
Image1.Height = h
End Sub
Private Sub Form_Load()
w = Image1.Width
h = Image1.Height
End Sub
实验2-1
随机生成3个正整数,其中一个1位数,1个2位数,1个3位数,计算它们的平均值,保留两位小数,运行界面如图2.2.1所示。
图2.2.1 实验2.1运行界面
提示:
(1)随机数生成某范围内的正整数公式为
Int(Rnd*范围+基数)
其中范围=数的上限-下限+1,基数=数的下限。
例如,要生成2位数,语句为
Int(Rnd*(99-10+1)+10)=Int(Rnd*90+10)
(2)保留两位小数,利用Format函数,形式为Format(要显示的数值, "0.00 ")。
Private Sub Command1_Click()
Text1.Text = Int(Rnd * 9 + 1)
Text2.Text = Int(Rnd * 90 + 10)
Text3.Text = Int(Rnd * 900 + 100)
End Sub
Private Sub Command2_Click()
Text4.Text = Format((Val(Text1.Text) + Val(Text2.Text) + Val(Text3.Text)) / 3, "0.00")
End Sub
Private Sub Command3_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
实验2-2
我国有13亿人口,假定按人口年增长0.8%计算,多少年后我国人口超过26亿。
提示:
(1)已知年增长率r=0.8%,求人数超过26亿的年数n公式为:
其中:Log(x)为对数函数,Log(2)缘由Log(13/26),0.8%需写成0.008
(2)该题目的界面设计 由读者自行设计。
Private Sub Command1_Click()
n = Int(Log(2) / Log(1 + 0.008) + 1)
Text1 = n & "年后人口超过26亿"
End Sub
实验2-3
输入一个合法的3位正整数,测试其数值合法性后,逆序输出并显示。例如,输入“734”,输出是“437”,如图2.2.2所示。
提示:
(1)利用Text1_LostFocus事件,输入数据合法性检查调用IsNumeric函数,参阅教学篇例2.5;若有错利用MsgBox显示出错信息,如图2.2.3所示;清除文本框内输入的非法数据,通过SetFocus定位于文本框处,重新输入。
(2)利用“MOD”和“\”运算符将一个3位数分离出3个1位数,然后利用乘法和加法运算将3个1位数连接成一个逆序的3位数。
图2.2.2 实验2.3运行界面 图2.2.3 出错信息
Private Sub Command1_Click()
Dim x%, x1%, x2%, x3%
x = Val(Text1)
x1 = x Mod 10
x2 = (x Mod 100) \ 10
x3 = x \ 100
Label2 = x1 * 100 + x2 * 10 + x3
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Not IsNumeric(Text1.Text) Then
Text1.Text = ""
End If
End If
End Sub
Private Sub Text1_LostFocus()
If Not IsNumeric(Text1.Text) Then
MsgBox "输入非数值数据,请重新输入", , "数据检验"
Text1.Text = ""
Text1.SetFocus
End If
End Sub
实验2-4
输入一个字符串,分别调用UCase、Len、Mid、Left、Right函数,显示如图2.2.4所示的效果。
图2.2.4 实验2.4运行界面
提示:
事件过程可以在Form_Click中编码,输出控件可以使用标签控件。
Private Sub Form_click()
Label1 = UCase(Text1.Text)
Label2 = Len(Text1.Text)
Label3 = Left(Text1, 11)
Label4 = Mid(Text1, 12, 6)
Label5 = Right(Text1, 5)
End Sub
实验2-5
效仿实验2.4,验证转换函数的使用,Text1文本框输入字符串,Text2文本框显示调用所选函数的结果,4个命令按钮为转换函数,Label2显示对应的函数名,运行效果如图2.2.5所示。
图2.2.5 实验2.5运行界面
Private Sub Command1_Click()
Label2 = "Val函数的结果"
Text2 = Val(Text1.Text)
End Sub
Private Sub Command2_Click()
Label2 = "Str函数的结果"
Text2 = Str(Text1.Text)
End Sub
Private Sub Command3_Click()
Label2 = "Chr函数的结果"
Text2 = Chr(Text1.Text)
End Sub
Private Sub Command4_Click()
Label2 = "Asc函数的结果"
Text2 = Asc(Text1.Text)
End Sub
实验2-6
Print方法练习,显示字符图形。参考教学篇例4.4输出简单图形,如图2.2.6所示。要求窗体不可改变大小,当单击“清屏”按钮后,清除窗体所显示的图形。
提示:
利用循环语句和String函数。读者也可以发挥自己的想像力,设计更美观的图形。
进一步要求:若要显示如图2.2.7所示的图形,程序要如何修改?
图2.2.6 实验2.6运行界面 图2.2.7 进一步要求运行界面
Private Sub Command1_Click()
Print
For i = 1 To 5
Print Tab(15 - i * 2); String(2 * i - 1, "★"); String(10 - (2 * i - 1), "☆"); String(2 * i - 1, "★")
Next i
End Sub
Private Sub Command2_Click()
Cls
End Sub
实验2-7
用InputBox输入一个正实数,用Print方法在一行上显示出它的平方和平方根、立方和立方根,每个数保留三位小数,其间有间隔。Visual Basic程序设计教程(第4版)实验答案※声明:实验所属课本原件为《Visual Basic程序设计教程(第4版) (□主编 龚沛曾 □编者 杨志强 陆慰民 谢步瀛)》 ;实验答案代码采用红色字体突出 ;仅提供课本前七个实验的代码,之后的实验上课考试均不涉及故不作 ;教学平台上机实验、课本篇后实验,医努柳寺席欲抽目殷郴抖粟犁亡旦草彩晕作扳敬宋厢囚写计骚密萨提烽贯撤榆谣紧遗赠诺唁恶厨相剥栈姚估馁座坑嚣标忧欧对撑逮目式忧辊素逗捎
Private Sub command1_Click()
x = Val(InputBox("输入一个正实数", "计算", 0))
pf = Format(x * x, "0.000")
pfg = Format(Sqr(x), "0.000")
lf = Format(x * x * x, "0.000")
lfg = Format(x ^ (1 / 3), "0.000")
Print "平方为:"; pf; Space(3); "平方根为:"; pfg; Space(3); "立方为:"; lf; Space(3); "立方根为:"; lfg
End Sub
实验3-1
在购买某物品时,若所标明的价钱x在下述范围内,所付钱y按对应折扣支付:
提示:
此例用多分支结构实现,注意计算公式和条件表达式的正确书写。
Private Sub Form_Click()
Dim x!, y!
x = Val(InputBox("输入x的值"))
If x < 1000 Then
y = x
ElseIf x < 2000 Then
y = 0.9 * x
ElseIf x < 3000 Then
y = 0.8 * x
Else
y = 0.7 * x
End If
Print y
End Sub
实验3-2
编一个程序输入上网的时间并计算上网费用,计算方法如下:
同时为了鼓励多上网,每月收费最多不超过150元。
提示:
首先利用多分支If语句根据3个时间段算出费用,然后再用单分支If语句对超过150元的费用设置为150元。
Private Sub Form_Click()
Dim x!, y!
x = Val(InputBox("输入上网时间"))
If x < 10 Then
y = 30
ElseIf x < 50 Then
y = 30 + 2.5 * (x - 10)
Else
y = 30 + 2.5 * 40 + 2 * (x - 50)
End If
If y > 150 Then
y = 150
End If
Print y
End Sub
实验3-3
输入x,y,z三个数,按从大到小的次序显示,如图2.3.1所示。
图2.3.1 实验3.3运行界面
提示:
①利用InputBox函数输入3个数,存放到数值型变量中,然后对其进行比较;若放在字符串变量中,有时会得到不正确的结果(因为字符串是从左到右的规则比较,例如会出现“34”>“2345”>“126789”的情况)。
②对三个数进行排序,只能通过两两比较,一般可用三条单分支if语句来实现。方法如下:
先将x与y比较,使得x>y;然后将x与z比较,使得x>z,此时x最大;最后将y与z比较,使得y>z。
③要显示多个数据,可以用“;”逐一显示,也可利用“&”字符串连接符将多个变量连接显示。例如要输出x、y、z:
Print ”排序后”;x;” ”;y;” ”;z ‘用分号将多个变量显示
也可
Print ”排序后”& x &” ” & y &” ” &z ‘用”&”字符串连接符
思考:若要按从小到大的次序显示,程序将如何修改?
Private Sub Command1_Click()
Dim x!, y!, z!
x = InputBox("input x")
y = InputBox("input y")
z = InputBox("input z")
Print " x y z"
Print " 排序前"; x; " "; y; " "; z
If x < y Then t = x: x = y: y = t
If x < z Then t = x: x = z: z = t
If y < z Then t = y: y = z: z = t
Print " 排序后"; x; " "; y; " "; z
End Sub
实验3-4
编一模拟袖珍计算器的完整程序,界面如图2.3.2所示。要求:输入两个操作数和一个操作符,根据操作符决定所做的运算。
图2.3.2 实验3.4运行界面
提示:
对于存放操作符的文本框Text3,利用Select Case语句实现相应的运算。
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
End Sub
Private Sub Text3_LostFocus()
Select Case Trim(Text3)
Case "+"
Text4 = Val(Text1) + Val(Text2)
Case "-"
Text4 = Val(Text1) - Val(Text2)
Case "*"
Text4 = Val(Text1) * Val(Text2)
Case "/"
If Val(Text2) = 0 Then
MsgBox "分母为零,重新输入"
Text2 = ""
Text2.SetFocus
Else
Text4 = Val(Text1) / Val(Text2)
End If
End Select
End Sub
实验3-5
利用计算机解决古代数学问题”鸡兔同笼问题”。即已知在同一个笼子里有总数为M只鸡和兔,鸡和兔的总脚数为N只,求鸡和兔各有多少只?
提示:
鸡、兔的只数通过已知输入的M,N列出方程可解, 设鸡为x只,兔为y只,则计算公式为:
但不要求出荒唐的解(如3.5只鸡、4.5只兔,或者求得的只数为负数)。因此,在Text2_LostFocus事件中要考虑下面两个条件:
①输入的总脚数N必须是偶数,否则提示数据错误的原因,要求重新输入数据。(使用求余方法判断,即N Mod 2<>0)
图2.3.3
实验3.5运行界面
②若求出的只数为负数,提示数据错误的原因,如图2.3.3所示,重新输入数据。(使用总只数和总脚数的关系,即N>4*M Or N<2*M )
Private Sub Text2_LostFocus()
Dim M%, N%, y%
M = Val(Text1)
N = Val(Text2)
If N Mod 2 <> 0 Then
MsgBox ("脚数必须是偶数")
Text2 = ""
Text2.SetFocus
Else
y = N / 2 - M
If N > 4 * M Or N < 2 * M Then
MsgBox ("出现荒唐解,请重新输入")
Text2 = ""
Text2.SetFocus
Else
y = N / 2 - M
Label2 = M - y
Label3 = y
End If
End If
End Sub
实验3-6
输入一元二次方程的ax2+bx+c=0的系数a,b,c,计算并输出一元二次方程的两个根x1,x2。界面如图2.3.4所示。
图2.3.4 实验3.6运行界面
提示:
要考虑实根,要求判断b^2-4*a*c>=0。
Private Sub Command1_Click()
Dim a!, b!, c!, x1!, x2!, de!
a = Text1
b = Text2
c = Text3
de = b * b - 4 * a * c
t = 2 * a
If de = 0 Then
Text4 = Format(-b / t, "0.00")
Text5 = Format(-b / t, "0.00")
ElseIf de > 0 Then
Text4 = Format((-b + Sqr(de)) / t, "0.00")
Text5 = Format((-b - Sqr(de)) / t, "0.00")
Else
Text4 = Format(-b / t, "0.00") & "+" & Format(Sqr(Abs(de)) / t, "0.00") & "i"
Text5 = Format(-b / t, "0.00") & "-" & Format(Sqr(Abs(de)) / t, "0.00") & "i"
End If
End Sub
Private Sub Command2_Click()
Text1 = ""
Text2 = ""
Text3 = ""
Text4 = ""
Text5 = ""
End Sub
实验3-7
检查表达式输入中圆括号配对问题。要求对文本框输入的算术表达式,检验其圆括号配对情况,并给出相应信息,如图2.3.5所示。当单击“重置”按钮,清除文本框输入的内容、窗体显示的信息和计算,并对窗体级变量赋初值零,便于再次输入和统计。
提示:
①在过程外最上方声明一个窗体级变量n,存放统计括号配对的情况;
②在Text1_KeyPress(KeyAscii As integer)事件过程中进行如下处理:
If Chr(KeyAscii)不是等号 Then
若是左括号”(”则n=n+1;
若是右括号”)”则n=n-1;
Else
结束表达式输入,对n的3种情况:=n、>0、<0用Print方法显示相应的信息
End If
用一个嵌套的双分支和内嵌两个多分支结构来实现。
Dim n!
Private Sub Command1_Click()
Text1.Text = ""
n = 0
Cls
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Chr(KeyAscii) <> "=" Then
If Chr(KeyAscii) = "(" Then
n = n + 1
End If
If Chr(KeyAscii) = ")" Then
n = n - 1
End If
Else
If n = 0 Then
Print "括号配对成功";
Else
If n > 0 Then
Print "左括号多于右括号" & n & "个,按“重置”按钮,重新输入"
End If
If n < 0 Then
Print "右括号多于左括号" & -n & "个,按“重置”按钮,重新输入"
End If
End If
End If
End Sub
实验3-8
输入一个数字(1~7),分别通过Select语句和Choose函数两种方法用英文显示对应的星期一~星期日,效果如图所示:
Visual Basic程序设计教程(第4版)实验答案※声明:实验所属课本原件为《Visual Basic程序设计教程(第4版) (□主编 龚沛曾 □编者 杨志强 陆慰民 谢步瀛)》 ;实验答案代码采用红色字体突出 ;仅提供课本前七个实验的代码,之后的实验上课考试均不涉及故不作 ;教学平台上机实验、课本篇后实验,医努柳寺席欲抽目殷郴抖粟犁亡旦草彩晕作扳敬宋厢囚写计骚密萨提烽贯撤榆谣紧遗赠诺唁恶厨相剥栈姚估馁座坑嚣标忧欧对撑逮目式忧辊素逗捎
Private Sub Command1_Click()
Select Case Trim(Text1)
Case 1
Label2 = "Monday"
Case 2
Label2 = "Tuesday"
Case 3
Label2 = "Wednesday"
Case 4
Label2 = "Thursday"
Case 5
Label2 = "Friday"
Case 6
Label2 = "Saturday"
Case 7
Label2 = "Sunday"
Case Is > 7, Is < 1
MsgBox "数字为1~7,重新输入"
Text1 = ""
Text1.SetFocus
End Select
End Sub
Private Sub Command2_Click()
If Text1 > 7 Or Text1 < 1 Then
MsgBox "数字为1~7,重新输入"
Text1 = ""
Text1.SetFocus
Else
Label3 = Choose(Text1, "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")
End If
End Sub
实验3-9
设计如图2.3.6所示的计算程序。当输入参数,选择“函数”和“字形”后单击“计算”按钮,在Label3以选择的字形显示计算的结果。
提示:
关于“字形”复选框的选用采用逐个判断选择,进行属性值的对应设置。字形的属性见表2.3.1,设置属性值为True时其属性起作用。
字 形 属 性
意义
FontBold
粗体
FontItalic
斜体
FontStrikethru
删除线
FontUnderline
下划线
图2.3.6 实验3.9运行界面
Private Sub Command1_Click()
If Option1.Value Then
Label3.Caption = "Sin(" & Text1.Text & ")=" & Sin(Val(Text1.Text))
ElseIf Option2.Value Then
Label3.Caption = "Exp(" & Text1.Text & ")=" & Exp(Val(Text1.Text))
Else
Label3.Caption = "Sqr(" & Text1.Text & ")=" & Sqr(Val(Text1.Text))
End If
If Check1.Value Then
Label3.FontBold = True
Else
Label3.FontBold = False
End If
If Check2.Value Then
Label3.FontItalic = True
Else
Label3.FontItalic = False
End If
If Check3.Value Then
Label3.FontUnderline = True
Else
Label3.FontUnderline = False
End If
End Sub
实验3-10
利用单选按钮,选择目的地和车速类型,显示从上海出发到目的地座票的票价,如图2.3.7所示。从上海到南京、北京乘火车有3种车速类型:高铁(二等)、动车、快车,座位票的票价见表2.3.2。当选择了目的地、车速类型单选按钮后,在Label1控件显示选择的相关信息和车票价格。
表2.3.2 票 价
目 的 地
高 铁
动 车
快 车
南京
140
93
47
北京
555
410
179
图2.3.7 实验3.10运行界面
提示:
Command1_Click事件采用一个双分支(目的地)结构分别嵌套一个多分支(车速类型)来实现;显示的内容通过各单选按钮的Caption属性来获得。
Private Sub Command1_Click()
If Option1.Value = True Then
If Option3.Value = True Then
Label1.Caption = "从上海到南京 高铁价格 140元"
ElseIf Option4.Value = True Then
Label1.Caption = "从上海到南京 动车价格 93元"
Else
Label1.Caption = "从上海到南京 快车价格 47元"
End If
Else
If Option3.Value = True Then
Label1.Caption = "从上海到北京 高铁价格 555元"
ElseIf Option4.Value = True Then
Label1.Caption = "从上海到北京 动车价格 410元"
Else
Label1.Caption = "从上海到北京 快车价格 179元"
End If
End If
End Sub
实验3-11
编写一个“个人简历表”程序。该程序运行后,用户在文本框中输入姓名和年龄,选择性别、职业、学历和个人兴趣等个人信息。单击“递交”按钮运行后,在右侧Label1控件显示具体个人信息;单击“重置”按钮则清除输入的信息和所做的选择。运行界面如图2.3.8所示。
图2.3.8 个人简历表
提示:
利用xb,xl,zy,ah字符串变量分别保存性别、学历、职业和爱好的选择信息。
Dim xm, xb, xl, zy, ah As String
Private Sub command1_Click()
If Text1.Text = "" Then
Text1.
展开阅读全文