我有一个明天需要上班的作业,我似乎无法将这一部分弄清楚.看到我被给了一个带有一堆名字的输入文件,其中一些我需要跳过,每个都有额外的信息.我正在尝试使用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的作业上.我做了两次尝试,但都没有按预期工作.
下面显示了两次尝试及其输出,然后是最终结果.我感谢你们的帮助.
第一次尝试:
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) 嘿所有人,这里有一座大问题.我已经完成了一个我必须要做的大学作业计划,但是当我运行它时,输出显示几乎没有任何想象.这只有在我运行它时才会发生.如果我把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的最后一道课程,我必须编写相互关联的程序来跟踪企业的库存.我找到了一些我遇到问题的部分.第一个是验证日期是在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作业有点麻烦.我必须制作一个程序,写出人的名字和他们的社会安全号码.基本上我有玩具制作像123456789这样的数字显示像123-45-6789和JSDOE这样的名字就像JS DOE一样出现.有人可以帮我吗?
我正在家里编写一些代码,假设查找和识别错误是一个输入文件。我猜对了,但有两个小错误打击了我。不过主要的问题是这个。我必须制作一个将“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)