首页 > 代码库 > VBS练习题

VBS练习题

练习题:

1、输入3个数,输出其中最大的那个值。

Option ExplicitDim intA,intB,intCintA=CInt(InputBox("请输入a:"))intB=CInt(InputBox("请输入b:"))intC=CInt(InputBox("请输入c:"))If intA>intB And intA>intC Then    MsgBox  "最大值是:"&intAElseIf intB>intC Then     MsgBox "最大值是:"&intBElse     MsgBox "最大值是:"&intCEnd If

 

2、判断输入的字符类型。

Dim a,b,ca=InputBox("请输入一个字符:")b=Asc(a)If b>=48 And b<=57 Then    c=0ElseIf b>=65 And b<=90 Then    c=1ElseIf b>=97 And b<=122 Then    c=2Else     c=3End ifSelect Case c    Case 0    MsgBox "输入为数字:"&a    Case 1    MsgBox "输入为大写字母:"&a    Case 2    MsgBox "输入为小写字母:"&a    Case 3    MsgBox "输入为其它符号:"&aEnd Select

 

3、输入一组数字,倒序输出。

Dim a(4)For i=0 To 4     a(i)=InputBox("请输入第"&i+1&"数字:")NextMsgBox "你输入的数字倒序输出为:"&a(4)&","&a(3)&","&a(2)&","&a(1)&","&a(0) 

 

4、用VBS实现冒泡排序,输入10个数,按从小到大或从大到小的顺序排列。

Option Explicit  Dim i,j,usernum(9),tempnumFor i=0 To 9     usernum(i)=CInt(InputBox("请输入第"&i+1&"个数"))NextFor i=0 To 8   For j=0 To 8-i Step 1    If usernum(j)>usernum(j+1) Then        tempnum=usernum(j)        usernum(j)=usernum(j+1)        usernum(j+1)=tempnum    End If  NextNextFor i=0 To 9     MsgBox(usernum(i))Next
方法二Dim a(10)For i=1 To 10      a(i)=cint(InputBox("请输入第"&i&"数字:"))NextFunction change(x,y)    If x>y Then         tem=x         x=y         y=tem    End If End FunctionFor i=1 To 10    For j=1 To 10-i        change a(j),a(j+1)    nextNextMsgBox a(10)&","&a(9)&","&a(8)&","&a(7)&","&a(6)&","&a(5)&","&a(4)&","&a(3)&","&a(2)&","&a(1)

 

5、用VBS实现用户名和密码的输入验证,先输入用户名再输入密码:用户名必须是4~10位的字符,否则提示用户名为空、少于4位或多于10位。密码必须是Mercury(不区分大小写),如果输入为空则提示用户输入密码,如果连续三次未输入正确密码则提示用户重新登录,然后退出。

Dim strUsername,strPasswordDo strUsername=CStr(InputBox("please input your UserName!","Input Name"))    If Len(strUsername)<4 or Len(strUsername)>10 Then        MsgBox "用户名必须是4-10位字符!请重新输入!",48,"用户名输入不正确!"    Else        Exit Do    End IfLoopx=0Do strPassword=CStr(InputBox("please input the password!","Input password"))strPassword=LCase(strPassword)    If strPassword="mercury" Then        MsgBox "用户"&strUsername&"登陆成功!",48,"登陆成功!"        Exit Do      Else          MsgBox "密码不正确!",48,"密码不正确!"          x=x+1          If x=3 Then              MsgBox "请重新登陆!",48,"请重新登陆!"              Exit do          End If          End IfLoop 

 

6、计算两个数求余的结果,要求:计算出错时输出错误。

Option ExplicitOn Error Resume Next Function getmod(a,b)    getmod=a Mod bEnd FunctionDim c,ua,ubua=CInt(InputBox("请输入一个数"))ub=CInt(InputBox("请再输入一个数"))c=getmod(ua,ub)If Err Then       可以自主产生错误 Err.Raise 6    MsgBox Err.Number &"---"& Err.Description    Err.ClearElse    MsgBox cEnd If

 

7、随机数。

Dim strInput,arrgstrIput=InputBox("请输入5个词语,用,分开!")arrg=Split(strIput,",")For Each element In arrg    Randomize 5        初始化随机生成器,后面的值5也可以省略而是用系统的种子    MsgBox arrg(Int(5*Rnd))  随机输出数组中的元素值Next

 

8、写日志到文本文件中。

Function Writelog(str)    Const ForReading=1,ForWriting=2,ForAppending=8    Dim fso,fil,msg     创建一个文件系统对象(File System Object)    Set fso = CreateObject("Scripting.FileSystemObject")     创建一个文件对象,通过fso对象来打开指定的文件    Set fil = fso.OpenTextFile("C:\log.txt",ForAppending)    fil.WriteLine now &"  "&str     关闭这个文件    fil.Close     释放这个文件对象    Set fil = Nothing     释放这个文件系统对象    Set fso = NothingEnd FunctionWritelog "hello lxl"

 

9、读文本文档.txt文件并显示出来。

Option ExplicitConst ForReading=1,ForWriting=2,ForAppending=8Dim fso,fil,msg 创建一个文件系统对象(File System Object)Set fso = CreateObject("Scripting.FileSystemObject") 创建一个文件对象,通过fso对象来打开指定的文件Set fil = fso.OpenTextFile("C:\f.txt",ForReading) 读取文件内容 MsgBox fil.ReadAll  ‘ 一次性全部读取 判断是否到了文件的最后面Do While Not fil.AtEndOfLine  注意和AtEndOfLine的区别     只要没到最后,就读取一行,同时把游标向下移动一行    msg = msg & vbNewLine & fil.ReadLineLoopMsgBox msg 关闭这个文件fil.Close 释放这个文件对象Set fil = Nothing 释放这个文件系统对象Set fso = Nothing

 

4、读取数据库查询的结果
Dim Cnn,Rst,strCnn,Msg, Sqlstr
strCnn="Provider=MSDASQL.1;Persist Security Info=False;Data Source=calc" ‘数据源字符串
Set Cnn=CreateObject("ADODB.Connection")
Cnn.Open strCnn
Set Rst=CreateObject("ADODB.RecordSet")
Sqlstr="select * from calc order by TestNumber1 asc"
Rst.Open Sqlstr,Cnn
Rst.MoveFirst
Do While Not Rst.EOF
Msg=Msg&vbTab&Rst.Fields("TestNumber1")&vbTab&Rst.Fields("TestNumber2")&vbTab&Rst.Fields("TestResult")&vbNewLine
Rst.MoveNext
Loop
Rst.Close
Cnn.Close
Set Rst=Nothing
Set Cnn=Nothing
MsgBox Msg


5、更新数据库中的数据
Dim Cnn,strCnn,Cmd,Sqlstr
strCnn=" Provider=MSDASQL.1;Persist Security Info=False;Data Source=calc "
Set Cnn=CreateObject("ADODB.Connection")
Cnn.Open strCnn
‘Set Rst=CreateObject("ADODB.RecordSet")
Set Cmd=CreateObject("ADODB.Command")
Cmd.ActiveConnection = Cnn
Sqlstr="update calc set TestNumber1= 78901 where TestNumber1= 78900" Cmd.CommandText = Sqlstr
Cmd.Execute
Cnn.Close
Set Rst=Nothing
Set Cnn=Nothing


6、插入数据到数据库中
Sub inputaccess(tn1,tn2,tr)
Dim Cnn,strCnn,Cmd,Sqlstr
strCnn="Provider=MSDASQL.1;Persist Security Info=False;Data Source=lxl"
Set Cnn=CreateObject("ADODB.Connection")
Cnn.Open strCnn
Set Cmd=CreateObject("ADODB.Command")
Cmd.ActiveConnection = Cnn
Sqlstr="insert into calc(TestNumber1,TestNumber2,TestResult) values("&tn1&","&tn2&",‘"&tr&"‘)"
Cmd.CommandText = Sqlstr
Cmd.Execute
Cnn.Close
Set Rst=Nothing
Set Cnn=Nothing
End Sub
inputaccess 1,2,"yezhaohui"

VBS练习题