回 帖 发 新 帖 刷新版面

主题:Q45 里的输入数值提示错误,你能解决吗?

在 Q45 里的输入数值提示错误,你能解决吗?

例如:
input "输入X值:",x

在屏幕上 输入的时候 ,如果你输入的是 字母会 提示

Redo from start

你不觉的他很烦吗?我看着它就讨厌,因为我英文很差

能不能用中文来提示呢?

大家写写看吧!

我试了俩天 是试到了一个方法
今天U盘没带 下次把程序写上!

回复列表 (共6个回复)

沙发

没有这个必要,严重降低效率。
但如果你要计划构建自己的项目,另当别论。

板凳

我决的不麻烦啊! 我把我写的这个过程放在这里 前辈们帮我找找错!!
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 楼

程序不错,不过我希望你的程序输出提示时,慢一点,不然看不到提示,只是一闪一下,希望改进一下.

4 楼

你改造的“INPUT”一变的“智能”,代码量就增加了不少哇。这就是通用程序和专用程序的区别了。在编译程序里会有明显的反映。你用汇编搞一个"hello,world!"可能不要10个字节,如果用QB,或C怎么都得几十K,几K。原因就是编译程序用通用函数,一个print语句或printf()函数可能包括了很多其它的非相关的东西进来

5 楼


如果用c++的话,速度会快很多。

6 楼

其实构建对象难,使用对象并不难。看C++和什么语言比了,理论上它不会比C快的。因为它面向对象的语言啊

我来回复

您尚未登录,请登录后再回复。点此登录或注册