cobol中accept的用法和循环

来源:百度知道 编辑:UC知道 时间:2024/05/06 12:33:28
我不知道怎么用accept,然后通过键盘输入数据.好像要用alloc之类的玉器锯,具体是在哪里用呢?

还有,我写了一个双重循环,输出乘法表,但总多出9*10=90这一条,应该怎么删呢?
请各位大虾们帮帮忙.我在这里谢过了.
积分少,只能给出10分,谢谢了!
原来是j>i啊,真是一语惊醒梦中人.谢谢啦高手!就凭这个,分一定要给你,虽然有点少,呵呵.
至于accept这个,是在IBM主机环境下的,没有在JCL里写,发邮件问老师好像是说用ALLOC DD(SYSIN) DS(*),这句话是在JCL里写的吗?我上次看演示的时候是见老师从键盘输的字符.由于没时间去上实验,发邮件很麻烦,只能在这问了.
请问高手这句语句应该如何执行呢?谢谢你了.
回答很仔细,万分感谢.

呵呵,高手,我真不知TSO在哪里.是在命令面板里先输这个ALLOC这类的,然后再sub JCL作业,然后call作业吗?
我这样试过,但异常中断.

这个要看你是在什么环境下了,如果是DOS、WINDOWS、UNIX类的操作系统,你可以用它们的字符界面,ACCEPT对应于键盘输入,DISPLAY对应于屏幕输出。
举个例子吧,ACCEPT一个数值,然后求它的平方,DISPLAY出来,
working-storage section.
77 x pic x(10).
77 XasNum pic s9(09).
77 x2 pic 9(18).
77 x2-edit pic z(17)9.
procedure division.
display "请输入一个数值(最大9位,可以为负数): "
with no advancing.
accept x.
move function numval(x) to XasNum.
compute x2 = XasNum ** 2.
move x2 to x2-edit.
display "这个数值的平方是: " x2-edit.
stop run.
如果是MAINFRAME环境,你要在JCL中的SYSIN中指定X的数值,至于DISPLAY的输出结果,你要到JOB LOG中去看。

至于输出乘法表,如下:
working-storage section.
77 i pic 99.
77 j pic 99.
77 k pic 99.
procedure division.
perform varying i from 1 by 1 until i > 9
perform varying j from 1 by 1 until j > i
compute k = i * j
display i "*" j "=" k " " with no advancing
end-perform
display " "