VB实验2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告二
实验目的
(1)掌握分支结构(if、if else、select case)语句
(2)掌握基本循环控制结构(For-Next、While-Wend、Do-Loop)语句
(3)掌握循环嵌套结构
(4)掌握素数算法
(5)能综合运用循环控制结构解决较复杂的问题
实验内容
一、选择结构程序设计
【实验3-1】编写一个“系统登录”程序,对用户输入的账号和密码进行检验。(10分)要求:
①账号不超过6位数,密码为4位字符,本题的密码假设为“majq”。
②账号中不能有非数字字符,可以通过IsNumeric函数对文本框中的输入内容进行测试。
③密码输入时,屏幕上不能显示输入字符,以“*”代替。
④当输入不正确时,显示提示信息。若单击“重试”按钮,则清除原输入内容,焦点定位在原输入的文本框中,重新输入;若单击“取消”按钮,则停止程序的运行。
⑤密码检验运行界面和输入密码错误显示的信息分别如图3-2和图3-3所示。
图3-2 密码检验运行界面图3-3 输入密码错误显示信息掌握简单if语句的使用
实验结果:
【请将你的代码粘贴到下面】
Private Sub cmdClear_Click()
txtNo.T ext = ""
txtNo.T ext = ""
End Sub
Private Sub cmdExit_Click()
End
End Sub
Private Sub cmdOK_Click()
Dim i As Integer
If txtPas.T ext = "majq" Then
MsgBox "输入正确"
Else
i = MsgBox("密码错误", 5 + vbExclamation, "输入密码")
If i <> 4 Then
End
Else
txtPas.T ext = ""
txtPas.SetFocus
End If
End If
End Sub
Private Sub Form_Load()
txtNo.T ext = ""
txtNo.T ext = ""
End Sub
Private Sub txtNo_LostFocus()
If Not IsNumeric(txtNo) Then
MsgBox "账号有非数字字符", vbExclamation, "输入账号"
txtNo.T ext = "" '清空
txtNo.SetFocus 'txtno获得焦点
'上面两步是文本框重新输入的惯用操作End If
End Sub
【请将你的典型结果的截图粘贴到下面】
【实验3-2】税务部门征收所得税,规定如下(用IF语句实现)(10分)
①当收入为200 元以内(含200元)时,免征;
②当收入为200 ~ 400 元(含400元)时,将超过200 元的部分纳税3% ;
③当收入为400 ~ 5000元(不含5000元)时,将超过400 元的部分纳税4% ;
④当收入为5000 元或5000元以上时,将超过400元的部分纳税5% 。
程序运行后,单击窗体,在输人对话框中输入收入数,程序将输出纳税金额,运行情况如下图所示,要求
纳税程序界面掌握多分支if语句的使用,可自行用select语句改写。实验结果:
【请将你的代码粘贴到下面】
Private Sub Form_click()
Dim x As Integer
Dim y As Single
x = Val(InputBox("输入收入"))
If x <= 200 Then
y = 0
ElseIf x <= 400 Then
y = (x - 200) * 0.03
ElseIf x < =5000 Then
y = (x - 400) * 0.04
Else
y = (x - 400) * 0.05
End If
Print "收入为"; x; "应纳税为:"; y
End Sub
【请将你的典型结果的截图粘贴到下面】
【实验3-3】猜数游戏
程序自动产生一个[1,100]内的正整数,要用户猜,用户猜的值与被猜值的差距用“*”号个数表示,“*”越少表示差得越远,“*”越多表示相差越近。(用select case语句实现)(10分)
界面设计参见下图:。
猜数游戏界面
掌握select case语句的使用,可自行用if语句改写。
实验结果:
【请将你的代码粘贴到下面】
Dim N As Integer
Private Sub Command1_Click()
Dim d As Integer
d = Abs(Val(T ext1.T ext) - N)
Select Case d
Case Is = 0
ds = "你猜对了!真聪明!!"
Case 1 T o 2
ds = "* * * * * *"
Case 3 T o 5
ds = "* * * * *"
Case 6 T o 10
ds = "* * * *"
Case 11 T o 20
ds = "* * *"
Case 21 T o 50
ds = "* *"
Case Else
ds = "*"
End Select
MsgBox ds
End Sub
【请将你的典型结果的截图粘贴到下面】
二、循环结构程序设计
【实验3-4】求自然数N 的阶乘N!,运行结果如下图所示(10分)