当前位置:首页 » VB程序题 » 正文

VB程序题:输入一个合法的3位正整数,测试其数值合法性后,逆序输出并显示。龚沛曾

VB程序题:输入一个合法的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位数。

解题:按要求先在窗体上画1个按钮,1个文本框控件(用于接收输入),2个标签控件(其中标签2用于接收输出)。相应的代码如下:

Private Sub Command1_Click()
    Dim x%, x1%, x2%, x3% ’先分解这个3位数
    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 Sub

Private Sub Text1_LostFocus()
    If Not IsNumeric(Text1.Text) Then '文本框失去焦点,也检查数据合法法
        MsgBox "输入非数值数据,请重新输入", , "数据检验"
        Text1.Text = ""
        Text1.SetFocus '让文本框再次获得焦点
    End If
End Sub

程序运行效果图如下:图2.2.2

Visual Basic程序设计教程(第四版) (龚沛曾等编)课后实验源码

打赏 支付宝打赏 微信打赏

来源:济亨网

本文链接:http://wb86.com/post/135.html

    << 上一篇 下一篇 >>

    湘公网安备 43011102000514号 - 湘ICP备08100508号