小编Kim*_*235的帖子

AND和OR的问题(COBOL)

我有一个明天需要上班的作业,我似乎无法将这一部分弄清楚.看到我被给了一个带有一堆名字的输入文件,其中一些我需要跳过,每个都有额外的信息.我正在尝试使用AND和OR来跳过我不需要的名字,我想出了这个.

IF DL-CLASS-STANDING = 'First Yr' OR 'Second Yr' AND
GRAD-STAT-IN = ' ' OR 'X'
Run Code Online (Sandbox Code Playgroud)

它除了一个人之外什么都没有,但当我试图添加另一组AND和OR时,程序开始表现得像那些甚至没有的规定.

我是否为编译器过于复杂?是否有更简单的方法来跳过事物?

cobol logical-operators

37
推荐指数
3
解决办法
4万
查看次数

需要帮助我的COBOL作业

很抱歉打扰你,但我被困在COBOL的作业上.我做了两次尝试,但都没有按预期工作.

下面显示了两次尝试及其输出,然后是最终结果.我感谢你们的帮助.

第一次尝试:

IDENTIFICATION DIVISION.
PROGRAM-ID. MAIL-LABEL.
*
******************************************************************
* This program prints duplicate side by side mailing labels.
******************************************************************
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.

SELECT LABEL-FILE-IN
ASSIGN TO 'MAIL-LABEL.SEQ'
ORGANIZATION IS LINE SEQUENTIAL.

SELECT LABEL-FILE-OUT
ASSIGN TO 'MAIL-LABEL.RPT'
ORGANIZATION IS LINE SEQUENTIAL.

DATA DIVISION.
FILE SECTION.

FD LABEL-FILE-IN.
01 LABEL-RECORD-IN.
05 NAME-IN PIC X(20).
05 ADDRESS-IN PIC X(20).
05 CITY-STATE-ZIP-IN PIC X(20).

FD LABEL-FILE-OUT.
01 LABEL-RECORD-OUT.
05 LEFT-LABEL-OUT PIC X(20).
05 BLANK-OUT PIC X(15).
05 RIGHT-LABEL-OUT PIC X(20).
05 …
Run Code Online (Sandbox Code Playgroud)

cobol

14
推荐指数
2
解决办法
1411
查看次数

奇怪的错误(COBOL)

嘿所有人,这里有一座大问题.我已经完成了一个我必须要做的大学作业计划,但是当我运行它时,输出显示几乎没有任何想象.这只有在我运行它时才会发生.如果我把F11保持在STEP整个过程中它会显示结果,因为它是假设的.通常情况下我不会问这么大的东西,但我很难过.这是我的代码:

   ENVIRONMENT DIVISION.
   INPUT-OUTPUT SECTION.
   FILE-CONTROL.

       SELECT SALESAMT-FILE-IN
           ASSIGN TO 'SALESAMT.SEQ'
           ORGANIZATION IS LINE SEQUENTIAL.

       SELECT SALESMAN-FILE-IN
           ASSIGN TO 'SALESMAN.SEQ'
           ORGANIZATION IS LINE SEQUENTIAL.

       SELECT SALESQTR-FILE-IN
           ASSIGN TO 'SALESQTR.SEQ'
           ORGANIZATION IS LINE SEQUENTIAL.

       SELECT SALESAMT-FILE-OUT
           ASSIGN TO 'SALESAMT.RPT'
           ORGANIZATION IS LINE SEQUENTIAL.

   DATA DIVISION.
   FILE SECTION.

   FD  SALESMAN-FILE-IN.
   01  SALESMAN-RECORD-IN.
       05  SM-NUMBER-IN                    PIC 99.
       05  SM-NAME-IN                      PIC X(20).

   FD  SALESQTR-FILE-IN.
   01  SALESQTR-RECORD-IN.
       05  QUARTER-YEAR                    PIC X.

   FD  SALESAMT-FILE-IN.
   01  SALESAMT-RECORD-IN.
       05  SM-NUMBER                       PIC 99.
       05                                  PIC X.
       05  MONTH-NUMBER                    PIC …
Run Code Online (Sandbox Code Playgroud)

cobol

7
推荐指数
1
解决办法
1003
查看次数

COBOL中的数据验证

我是大学COBOL的最后一道课程,我必须编写相互关联的程序来跟踪企业的库存.我找到了一些我遇到问题的部分.第一个是验证日期是在2011年和2012年之间,第二个是月和日数分别在1-12和1-31之间.当我运行我的程序时,它总是在错误报告中说明年份是错误的,即使我把它放在正确的位置.这是我的部分代码:

   WORKING-STORAGE SECTION.
       05  POLI-DATE-REQUESTED-S.
           10 POLI-DATE-REQUESTED-S-1  PIC XX.
           10 POLI-DATE-REQUESTED-S-2  PIC XX.
           10 POLI-DATE-REQUESTED-S-3  PIC XX.
           10 POLI-DATE-REQUESTED-S-4  PIC XX.

   SCREEN SECTION.
   01  SCREEN-IMAGE.
       05  BLANK SCREEN
           BACKGROUND-COLOR 0.
       05  LINE 02  COLUMN 02          PIC X(8)
               FROM TIME-HHMMSSXX-COLONS
               FOREGROUND-COLOR 15.
       05  LINE 02  COLUMN 25
               VALUE 'Purchase Order Line Item Maintenance'
               FOREGROUND-COLOR 14.
       05  LINE 02  COLUMN 70          PIC X(8)
               FROM DATE-MMDDYY-SLASHES
               FOREGROUND-COLOR 15.
       05  LINE 04  COLUMN 02  VALUE 'FUNCTION CODE:'
               FOREGROUND-COLOR 10.
       05  LINE 04  COLUMN 18 …
Run Code Online (Sandbox Code Playgroud)

cobol

5
推荐指数
1
解决办法
1151
查看次数

你如何在COBOL中创造空格和破折号

我的COBOL作业有点麻烦.我必须制作一个程序,写出人的名字和他们的社会安全号码.基本上我有玩具制作像123456789这样的数字显示像123-45-6789和JSDOE这样的名字就像JS DOE一样出现.有人可以帮我吗?

cobol

2
推荐指数
1
解决办法
2498
查看次数

句点算作数字吗 (COBOL)

我正在家里编写一些代码,假设查找和识别错误是一个输入文件。我猜对了,但有两个小错误打击了我。不过主要的问题是这个。我必须制作一个将“3077.B22”标识为错误的代码,因为前 5 列假设是数字,但我当前的代码让它通过。不过,它会影响其他所有事情,因此我不得不相信它将句点视为小数点。这是我对这部分的担忧。

   01  PART-NUMBER-CHECK.
       05 P-N-NUM-1                PIC X(5).
       05 P-N-LETTER               PIC X.
       05 P-N-NUM-2                PIC XX.

   300-VALIDATE-PART-NUMBER.
       MOVE 'NO' TO FIELD-ERROR-SWITCH
       MOVE PART-NUMBER TO PART-NUMBER-CHECK
       EVALUATE P-N-NUM-1
           WHEN 00001 THRU 99999  CONTINUE

           WHEN OTHER              MOVE 'YES' TO FIELD-ERROR-SWITCH
       END-EVALUATE
       IF P-N-LETTER IS NUMERIC
           MOVE 'YES' TO FIELD-ERROR-SWITCH
       END-IF
       IF P-N-LETTER IS ALPHABETIC-LOWER
           MOVE 'YES' TO FIELD-ERROR-SWITCH
       END-IF
       IF P-N-NUM-2 IS ALPHABETIC
           MOVE 'YES' TO FIELD-ERROR-SWITCH
       END-IF
       IF (P-N-NUM-2 > 00 AND < 69)
           OR (P-N-NUM-2 >77 AND < 100) …
Run Code Online (Sandbox Code Playgroud)

cobol

0
推荐指数
1
解决办法
2864
查看次数

标签 统计

cobol ×6

logical-operators ×1