Facebook Sharer
选择您要替换的背景颜色:
【农历新年】背景图片:
个性化设定
 注册  找回密码
查看: 1389|回复: 16
打印 上一主题 下一主题

关于Data Validation ... 求助

[复制链接]

14

主题

1

好友

660

积分

青铜长老

JBT认证K-POP爱好者

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

跳转到指定楼层
1#
发表于 2013-3-26 12:18 PM |只看该作者 |倒序浏览
程序出现选项给用户选...

1. XXXX
2. YYYY
3. ZZZZ


自然而然, 就会用char来 declare...

我虽然做到当用户输入 4 , 5 ,6 或其他单数字时显示error...

但是如果 用户 输入12, 13, 22, 等双位数字时, 就不会显示error, 而且还会proceed...

到底要怎样呢??

还有一个问题就是

我让用户输入一组数字...但是必须在范围里面
Please enter the height :
<min = 0 | max = 200>


我用while来做validation...输入不再范围的数字虽然可以显示error
但是一输入字母如: A , B, C
就会出现infinite loop ...

请问又要怎样解决呢?




收藏收藏0

16

主题

0

好友

1188

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

2#
发表于 2013-3-26 12:27 PM |只看该作者
可以用regular expressions 来弄


回复

使用道具 举报

0

主题

0

好友

106

积分

高级会员

Rank: 3Rank: 3Rank: 3

3#
发表于 2013-3-26 01:16 PM |只看该作者
本帖最后由 tomiverson 于 2013-3-26 01:18 PM 编辑

可以试试看用 isnumeric

if isnumeric(xxx) = true then
  msgbox("is numeric")
else
  msgbox("Not numeric")
end if

第二的,也是可以用isnumeric来check
if isnumeric(textbox.text) = true then
   if convert.tointeger(textbox.text) => 0 or convert.tointeger(textbox.text) <= 200 then
     msgbox("Pass")
   else
     msgbox("Failed")
   end if
else
   msgbox("Data is not number")
end if



回复

使用道具 举报

14

主题

1

好友

660

积分

青铜长老

JBT认证K-POP爱好者

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

4#
发表于 2013-3-26 01:57 PM |只看该作者
本帖最后由 K_POP 于 2013-3-26 02:02 PM 编辑
tomiverson 发表于 2013-3-26 01:16 PM
可以试试看用 isnumeric

if isnumeric(xxx) = true then


有包括在<stdio.h> library 吗?

抱歉我是c 语言


回复

使用道具 举报

14

主题

1

好友

660

积分

青铜长老

JBT认证K-POP爱好者

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

5#
发表于 2013-3-26 01:59 PM |只看该作者
leon_lcl 发表于 2013-3-26 12:27 PM
可以用regular expressions 来弄

抱歉, 我找了很多关于 regular expression的文章来看还是看不懂....

其实我是个菜鸟...目前连pointer都搞不清楚....唉...


回复

使用道具 举报

16

主题

0

好友

1188

积分

黄金长老

Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8Rank: 8

6#
发表于 2013-3-26 02:08 PM |只看该作者
K_POP 发表于 2013-3-26 01:59 PM
抱歉, 我找了很多关于 regular expression的文章来看还是看不懂....

其实我是个菜鸟...目前连pointer都 ...

C++?
看看这里http://www.cplusplus.com/reference/cctype/


回复

使用道具 举报

14

主题

1

好友

660

积分

青铜长老

JBT认证K-POP爱好者

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

7#
发表于 2013-3-26 03:06 PM |只看该作者
leon_lcl 发表于 2013-3-26 02:08 PM
C++?
看看这里http://www.cplusplus.com/reference/cctype/

做不到...

首先, 第一个问题...

因为当我输入两位数的数字, 他还会proceed, 这根本不管是不是digit的问题不是吗?
他一定是号码嘛...才会说是两位数的数字.....

第二个问题....那个height 是declare as int .... 我用isdigit根本不管用....是不是isdigit只能用在char???



回复

使用道具 举报

14

主题

1

好友

660

积分

青铜长老

JBT认证K-POP爱好者

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

8#
发表于 2013-3-26 03:10 PM |只看该作者
leon_lcl 发表于 2013-3-26 02:08 PM
C++?
看看这里http://www.cplusplus.com/reference/cctype/

还有是C 语言, 不是C++

while(((height < 0)||(height > 200))||(!(isdigit(weight))))
        {
                if(isdigit(height))
                {
                        printf("\nPlease enter the height between 0 to 200 !\n");
                        printf("Please enter the height\n");
                        printf("(Min = 0  |  Max = 200)\n>>");
                        scanf("%d",&height);
                }
                else
                {
                        printf("\nPlease enter the height in digit form.\n");
                        printf("Please enter the height\n");
                        printf("(Min = 0  |  Max = 200)\n>>");
                        scanf("%d",&height);
                }
        }


如果我输入不在范围的数字...例如300, 他会display
"Please enter the height in digit form."
如果我输入字母,又infinite loop


回复

使用道具 举报

14

主题

1

好友

660

积分

青铜长老

JBT认证K-POP爱好者

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

9#
发表于 2013-3-26 04:15 PM |只看该作者
没有人可以帮我解除困惑吗?


回复

使用道具 举报

0

主题

0

好友

106

积分

高级会员

Rank: 3Rank: 3Rank: 3

10#
发表于 2013-3-26 04:28 PM |只看该作者
我找到这个,你或许可以试试看

http://www.dreamincode.net/forum ... ariable-is-integer/

isalpha : Checks if parameter is either an uppercase or a lowercase alphabetic letter.
isdigit : Checks if parameter is a decimal digit character.
isalnum : Checks if parameter is either a decimal digit or an uppercase or lowercase letter.


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2025-1-13 02:23 PM , Processed in 0.116289 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

Ultra High-performance Dedicated Server powered by iCore Technology Sdn. Bhd.
Domain Registration | Web Hosting | Email Hosting | Forum Hosting | ECShop Hosting | Dedicated Server | Colocation Services
本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved
合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部