如何在Cobol中添加一串星号?

如何在Cobol中添加一串星号?,cobol,Cobol,问题: 如果库存总量小于50,则在写入行的末尾添加一个由两个星号(**)组成的字符串,以通知库存经理需要更多库存。如果库存总量小于10,则在行的末尾添加一个由五个星号组成的字符串(****),以让库存经理知道急需更多库存 如何在Cobol中生成一串星号 如何在Cobol中生成一串星号 有两种方法 第一种方法控制目标位置的字符数,在移动前初始化数据项时效果最佳。第二种方法控制源代码中的字符数,在不关心目标的初始化或用作字符串语句的一部分时效果最佳 方法1: 例如: program-id. a

问题:

如果库存总量小于50,则在写入行的末尾添加一个由两个星号(**)组成的字符串,以通知库存经理需要更多库存。如果库存总量小于10,则在行的末尾添加一个由五个星号组成的字符串(****),以让库存经理知道急需更多库存

如何在Cobol中生成一串星号

如何在Cobol中生成一串星号

有两种方法

第一种方法控制目标位置的字符数,在移动前初始化数据项时效果最佳。第二种方法控制源代码中的字符数,在不关心目标的初始化或用作
字符串
语句的一部分时效果最佳

方法1: 例如:

   program-id. aster.
   data division.
   working-storage section.
   1 n pic 99.
   1 asterisk-line pic x(10) value space.
   procedure division.
   begin.
       perform varying n from 10 by -1 until n < 1
           move all "*" to asterisk-line (1:n)
           display asterisk-line
           move space to asterisk-line
       end-perform
       stop run
       .
   program-id. aster2.
   data division.
   working-storage section.
   1 n pic 99.
   1 asterisks pic x(10) value all "*".
   1 asterisk-line pic x(10) value space.
   procedure division.
   begin.
       perform varying n from 10 by -1 until n < 1
           move asterisks (1:n) to asterisk-line
           display asterisk-line
       end-perform
       stop run
       .
请注意,程序在显示星号后移动空格以清除目标。这是为了防止在下面的行中显示太多的星号

方法2: 例如:

   program-id. aster.
   data division.
   working-storage section.
   1 n pic 99.
   1 asterisk-line pic x(10) value space.
   procedure division.
   begin.
       perform varying n from 10 by -1 until n < 1
           move all "*" to asterisk-line (1:n)
           display asterisk-line
           move space to asterisk-line
       end-perform
       stop run
       .
   program-id. aster2.
   data division.
   working-storage section.
   1 n pic 99.
   1 asterisks pic x(10) value all "*".
   1 asterisk-line pic x(10) value space.
   procedure division.
   begin.
       perform varying n from 10 by -1 until n < 1
           move asterisks (1:n) to asterisk-line
           display asterisk-line
       end-perform
       stop run
       .
program-id.aster2。
数据司。
工作储存区。
图99。
1个星号pic x(10)值全部为“*”。
1星号线pic x(10)值空间。
程序司。
开始。
执行从10乘以-1到n<1的变化
将星号(1:n)移动到星号行
显示星号线
结束表演
停跑
.
输出与上面相同

请注意,在移动星号之前,无需移动空格(或初始化)目标

如何在Cobol中生成一串星号

有两种方法

第一种方法控制目标位置的字符数,在移动前初始化数据项时效果最佳。第二种方法控制源代码中的字符数,在不关心目标的初始化或用作
字符串
语句的一部分时效果最佳

方法1: 例如:

   program-id. aster.
   data division.
   working-storage section.
   1 n pic 99.
   1 asterisk-line pic x(10) value space.
   procedure division.
   begin.
       perform varying n from 10 by -1 until n < 1
           move all "*" to asterisk-line (1:n)
           display asterisk-line
           move space to asterisk-line
       end-perform
       stop run
       .
   program-id. aster2.
   data division.
   working-storage section.
   1 n pic 99.
   1 asterisks pic x(10) value all "*".
   1 asterisk-line pic x(10) value space.
   procedure division.
   begin.
       perform varying n from 10 by -1 until n < 1
           move asterisks (1:n) to asterisk-line
           display asterisk-line
       end-perform
       stop run
       .
请注意,程序在显示星号后移动空格以清除目标。这是为了防止在下面的行中显示太多的星号

方法2: 例如:

   program-id. aster.
   data division.
   working-storage section.
   1 n pic 99.
   1 asterisk-line pic x(10) value space.
   procedure division.
   begin.
       perform varying n from 10 by -1 until n < 1
           move all "*" to asterisk-line (1:n)
           display asterisk-line
           move space to asterisk-line
       end-perform
       stop run
       .
   program-id. aster2.
   data division.
   working-storage section.
   1 n pic 99.
   1 asterisks pic x(10) value all "*".
   1 asterisk-line pic x(10) value space.
   procedure division.
   begin.
       perform varying n from 10 by -1 until n < 1
           move asterisks (1:n) to asterisk-line
           display asterisk-line
       end-perform
       stop run
       .
program-id.aster2。
数据司。
工作储存区。
图99。
1个星号pic x(10)值全部为“*”。
1星号线pic x(10)值空间。
程序司。
开始。
执行从10乘以-1到n<1的变化
将星号(1:n)移动到星号行
显示星号线
结束表演
停跑
.
输出与上面相同


请注意,在移动星号之前,无需移动空格(或初始化)目的地。

首先,我将查看Cobol手册。我猜你要么需要一个循环,要么需要一个自己循环的函数。你能试一试吗?通过制作一个值为“*”的picture子句,应该重新打开这个问题。所要求的答案“如何在Cobol中生成一系列星号?”非常狭窄,只有两个可能的答案;其中一个问题是在问题“暂停”之前提出的。根本不可能进一步缩小该问题的范围。第一段只是对提出最后一个问题的解释。如果第一段是发现“范围太广”的原因,然后删除该段。这是一个很好的问题,因为答案允许创建任何单个字符的字符串+1首先,我要看一下Cobol手册。我猜你要么需要一个循环,要么需要一个自己循环的函数。你能试一试吗?通过制作一个值为“*”的picture子句,应该重新打开这个问题。所要求的答案“如何在Cobol中生成一系列星号?”非常狭窄,只有两个可能的答案;其中一个问题是在问题“暂停”之前提出的。根本不可能进一步缩小该问题的范围。第一段只是对提出最后一个问题的解释。如果第一段是发现“范围太广”的原因,然后删除该段。这是一个很好的问题,因为答案允许创建任何单个字符的字符串+1.