回 帖 发 新 帖 刷新版面

主题:一个关于子程序调用数据的问题

sub jiaf (子程序加法)
pandomize 
for i = 1 to 10 
a=int(rnd*100)  
b=int(rnd*100)  
x=a+b 
if c=x then 
print "yes";s 
s=s+1  
else 
print "no"; a;"+"b; "="; x 
end if 
next i 
end sub 

sub jianc  (子程序检查)
cls 
dim a as strinc, b as strinc,......, n as strinc 
a="abcd": b="efgh": c="ijkl": ...... n="****"      (此处没打完)
select case s
case is =0  
print a 
case is =6  
print b 
case is =8  
print c 
case is =10  
print d 
end select 
end sub 
请问这里主程序该怎么写?主程序的内容是从键盘输入一个 数,让程序选择去执行一个子程序,并让子程序将正确个数S返回,再让子程序2调用S,并对S进行检查,最后输出字符串"a,b,c......n"中的对应字符串,我做主程序子程序都做好了,就是不知道怎么让子程序2调用子程序1输出的S值. 
主程序如下:
cls 
input z
cls
print "欢迎进入游戏"
select case z
case is <= 1, is > n
print "退出游戏"
case is = 1
call jiaf
 ? 
请问此处该怎么写可以让子程序jiaf将S输出,并能让下一个子程序jianc调用?
 ?
call jianc
这儿是不是也得加什么东西?好象不加输出的值也是该子程序中的字符串
case is =2
call jian f
call jianc
case is =3
call ***
call jianc
.
.
.
.
.
.
case is =n
call *****
call jianc 
end

我是什么都没加,运行后显示的正确个数是对的,但是S值未被子程序jianc调用,无论S=什么,输出的都是S=0所对应的字符串
求高手指点下,不好意思,我是菜鸟,才学QB半个月多点,一个月还不到!!!!



另外再问一下,QB怎么输出应用程序?我用QB直接存成  .EXE文件后打开显示如下出错信息:
16 位 ms-dos 子系统
D\****\*****\****.exe
ntvdm cpu 遇到无效的指令。
cs:053d ip:0114 op:ff ff 24 00 ff 选择关闭终止应用程序


但打开其它 。EXE文件是没问题,请问是什么原因?程序问题还是系统问题?

回复列表 (共2个回复)

沙发

你的签名不错

板凳

你可以定义一个全局变量
DIM SHARED

我来回复

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