主题:Q45 里的输入数值提示错误,你能解决吗?
pengbin
[专家分:0] 发布于 2007-09-19 20:42:00
在 Q45 里的输入数值提示错误,你能解决吗?
例如:
input "输入X值:",x
在屏幕上 输入的时候 ,如果你输入的是 字母会 提示
Redo from start
你不觉的他很烦吗?我看着它就讨厌,因为我英文很差
能不能用中文来提示呢?
大家写写看吧!
我试了俩天 是试到了一个方法
今天U盘没带 下次把程序写上!
回复列表 (共6个回复)
沙发
moz [专家分:37620] 发布于 2007-09-20 22:26:00
没有这个必要,严重降低效率。
但如果你要计划构建自己的项目,另当别论。
板凳
pengbin [专家分:0] 发布于 2007-09-21 17:55:00
我决的不麻烦啊! 我把我写的这个过程放在这里 前辈们帮我找找错!!
DECLARE SUB panduan (ceshi$)
xx:
INPUT "输入 X 值:", x$
ceshi$ = x$
CALL panduan(ceshi$)
IF ceshi$ = "ERROR" THEN GOTO xx
IF ceshi$ = "OK" THEN x = VAL(x$)
print x
end
SUB panduan (ceshi$)
IF ceshi$ = "" THEN GOTO chenggong
m = 0
n = 0
a$ = ceshi$
f = LEN(ceshi$)
n = 0
jixu:
n = n + 1
b$ = MID$(a$, n)
c$ = LEFT$(b$, 1)
SELECT CASE c$
CASE "0"
m = m + 1
CASE "1"
m = m + 1
CASE "2"
m = m + 1
CASE "3"
m = m + 1
CASE "4"
m = m + 1
CASE "5"
m = m + 1
CASE "6"
m = m + 1
CASE "7"
m = m + 1
CASE "8"
m = m + 1
CASE "9"
m = m + 1
CASE ELSE
m = m
END SELECT
IF n = f THEN GOTO aquit
GOTO jixu
aquit:
IF m = f THEN : GOTO chenggong
shibai:
error1:
PRINT "错误:*** 输入的数据必须正整数 ***"
GOTO errorz
error2:
PRINT "错误:*** 超出输入范围 ***"
PRINT "提示:*** 请输入7位以内的正整数( 0-9999999 ) ***"
errorz:
PLAY "b15g20b20"
ceshi$ = "ERROR"
GOTO jieshu
chenggong:
IF LEN(ceshi$) > 7 THEN GOTO error2
ceshi$ = "OK"
jieshu:
END SUB
3 楼
小精灵1号 [专家分:1040] 发布于 2007-09-24 14:35:00
程序不错,不过我希望你的程序输出提示时,慢一点,不然看不到提示,只是一闪一下,希望改进一下.
4 楼
我是大喊三 [专家分:3010] 发布于 2007-09-24 15:16:00
你改造的“INPUT”一变的“智能”,代码量就增加了不少哇。这就是通用程序和专用程序的区别了。在编译程序里会有明显的反映。你用汇编搞一个"hello,world!"可能不要10个字节,如果用QB,或C怎么都得几十K,几K。原因就是编译程序用通用函数,一个print语句或printf()函数可能包括了很多其它的非相关的东西进来
5 楼
bdfxxhy [专家分:0] 发布于 2007-09-24 22:10:00
如果用c++的话,速度会快很多。
6 楼
我是大喊三 [专家分:3010] 发布于 2007-09-25 15:32:00
其实构建对象难,使用对象并不难。看C++和什么语言比了,理论上它不会比C快的。因为它面向对象的语言啊
我来回复