VB编程:DO...Loop循环语句比较最大最小值

编写心得


   程序中,最大值和最小值的比较类似,先用一个布尔型变量“c”和“if”条件语句来区分第一次提示还是后续提示,输出相应的“输入提示框”;再用“if”条件语句和“isnumeric()”函数判断输入是否为数值,不是则用“exit for”跳出“do”循环;如果是数值则接着执行下一个“if”语句,控制第一次输入之后就改变“inputbox”的输入提示内容,每次输入之后都会提示一个最大或者最小值。之后就用“iif”语句来比较大小,大的赋值给b,或者小的赋值给b;最后在label中输出最后的比较结果。


   这个程序主要是通过“do...loop”和“if”语句来实现循环和判断的。应该在窗体上添加一个label控件,记录显示已经输入过的数值,这样会比较好一些。



程序代码


Private Sub Command1_Click()

   Dim a, b As Double, c As Boolean

   c = False

   Do

       If c = True Then

           a = InputBox("请输入数值,输入非数字结束。目前最大数为" & b, "输入")

       Else

           a = InputBox("请输入数值,输入非数字结束", , "输入")

       End If

       If IsNumeric(a) Then

           If c = False Then

               b = a

               c = True

           Else

               b = CDbl(IIf(CDbl(a) > b, a, b))

           End If

       Else

           Exit Do

       End If

   Loop

   Label1.Caption = "输入的数中最大的是:" & b

End Sub



Private Sub Command2_Click()

   Dim a, b As Integer, c As Boolean

   c = False

   Do

       If c = True Then

           a = InputBox("请输入数值,输入非数字结束。目前最小数为:" & b, "输入数值")

       Else

           a = InputBox("请输入数值,输入非数字结束", "输入数值")

       End If

       If IsNumeric(a) Then

           If c = False Then

               b = a

               c = True

           Else

               b = CDbl(IIf(CDbl(a) < b, a, b))

           End If

       Else

           Exit Do

       End If

   Loop

   Label1.Caption = "输入的数中最小的是:" & b

End Sub


上一篇:VB编程:DoWhile...Loop当循环计算0~100累加和


下一篇:VB编程:DoEvents将控制权交给系统,防止无限循环