51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5167|回复: 27
打印 上一主题 下一主题

[原创] 请问这段VBS代码那错了????

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-4-29 10:34:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
dim a,b,c,msga,msgb
msga="请输入数值a"
a=inputbox(msga)
msgb="请输入数值b"
b=inputbox(msgb)
a=int(a)
b=int(b)
c=a*b
if a="" or b="" then
msgbox("a或b值不能为空")
else
msgbox(c)
endif
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2011-4-29 10:41:42 | 只看该作者
最后的end if没有空格

如果我直接不输入按确定,代码还是报错。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2011-4-29 11:00:21 | 只看该作者
不输入值报STRING NULL,高手看看
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2011-4-29 11:16:14 | 只看该作者
endif 变成end if即可(end和if加空格)
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2011-4-29 11:27:48 | 只看该作者
dim a,b,c,msga,msgb,x,y
msga="请输入数值a"
x=inputbox(msga)
msgb="请输入数值b"
y=inputbox(msgb)
if a="" or b="" then
msgbox("a或b值不能为空")  
else
a=Cint(x)
b=Cint(y)
c=a*b
msgbox(c)
end if


刚才没看详细,这样就没问题了
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2011-4-29 11:34:08 | 只看该作者
CInt 函数可把表达式转换为整数(Integer)类型。

注释:值必须是介于 -32768 与 32767 之间的数字。

注释:CInt 不同于 Fix 和 Int 函数删除数值的小数部分,而是采用四舍五入的方式。 当小数部分正好等于 0.5 时, CInt 总是将其四舍五入成最接近该数的偶数。例如, 0.5 四舍五入为 0, 以及 1.5 四舍五入为 2.
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2011-4-29 11:40:51 | 只看该作者
谢谢了
没理解为什么多 X Y值
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2011-4-29 11:42:24 | 只看该作者
回复 6# vvvv_vvvv


   没看明白你什么意思,现在关键是有没有解决你的问题,有个结论性的东西,方便其他人看帖的时候有个结论
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2011-4-29 11:48:33 | 只看该作者
程序主要是判断 a*b的值

错误判断为 A B值不为空或字符
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2011-4-29 11:51:50 | 只看该作者
回复 9# vvvv_vvvv


   崩溃中,现在需要知道,这样能不能满足你的需求,还报错吗,结论性的东西
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2011-4-29 11:52:40 | 只看该作者
测了一下,还是不对,不好意思
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2011-4-29 11:53:26 | 只看该作者
dim a,b,c,msga,msgb,x,y
msga="请输入数值a"
a=inputbox(msga)
msgb="请输入数值b"
b=inputbox(msgb)
if a="" or b="" then
msgbox("a或b值不能为空或字符")  
else
a=int(a)
b=int(b)
c=a*b/2
msgbox(c)
end if
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2011-4-29 11:53:48 | 只看该作者
请问字符怎么判断啊,是不是有表达式
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2011-4-29 11:55:59 | 只看该作者
dim a,b,c,msga,msgb,x,y
msga="请输入数值a"
x=inputbox(msga)
msgb="请输入数值b"
y=inputbox(msgb)
if x="" or y="" then
msgbox("a或b值不能为空")  
else
a=Cint(x)
b=Cint(y)
c=a*b
msgbox(c)
end if

现在呢,再看一下
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2011-4-29 11:56:47 | 只看该作者
我不是太熟悉VBS的语法,只是通过经验调试了一下
回复 支持 反对

使用道具 举报

该用户从未签到

16#
 楼主| 发表于 2011-4-29 12:07:15 | 只看该作者
这样对字符没有控制 如果输入 ABCD 或中文就会报错
回复 支持 反对

使用道具 举报

该用户从未签到

17#
 楼主| 发表于 2011-4-29 14:17:29 | 只看该作者
dim a,b,c,msga,msgb
Do
m=1
msga="请输入数值a"
a=inputbox(msga)
If IsNumeric(a) Then
  a = CDbl(a)
  If a<0 Then
   m = MsgBox("输入数值大于0!",5)
  End If
Else
  m = MsgBox("输入数值大于0!",5)
End If
If m = 2 Or m = 0 Then
  WScript.Quit
End If  
Loop While m=4
Do
m = 1
msgb="请输入数值b"
b=inputbox(msgb)
If IsNumeric(b) Then
  b = CDbl(b)
  If b<0 Then
   m = MsgBox("输入数值大于0!",5)
  End If
Else
  m = MsgBox("输入数值大于0!",5)
End If
If m = 2 Or m = 0 Then
  WScript.Quit
End If  
Loop While m=4
Randomize
c=a*b/2
msgbox(c)
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2011-5-4 14:21:50 | 只看该作者
dim a,b,c,msga,msgb
msga="请输入数值a"
a=inputbox(msga)
msgb="请输入数值b"
b=inputbox(msgb)
a=int(a)
b=int(b)
c=a*b   ----------------------------------------程序走到这就要算a*b的值了,你不输入肯定会报错的
if a="" or b="" then
msgbox("a或b值不能为空")
else
msgbox(c)
endif
回复 支持 反对

使用道具 举报

  • TA的每日心情

    2019-12-27 13:32
  • 签到天数: 15 天

    连续签到: 1 天

    [LV.4]测试营长

    19#
    发表于 2011-5-10 21:43:12 | 只看该作者
    dim a,b,c,msga,msgb
    ....
    a=Cint(a)
    b=Cint(b)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    20#
    发表于 2011-5-12 10:02:03 | 只看该作者
    dim a,b,c,msga,msgb,y
    y=0
    do while y=0
    msga="请输入数值a"
    a=inputbox(msga)
    msgb="请输入数值b"
    b=inputbox(msgb)
    if IsNumeric(a) and IsNumeric(b) then
    a=int(a)
    b=int(b)
    c=a*b
    msgbox(c)
    y=1
    else
    msgbox("a或b值输入非数字型字符,请重新输入")
    end if
    loop
    不知这个结果是不是你想要的
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-15 00:47 , Processed in 0.081153 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表