如何绕过/跳过某些COBOL记录?

如何绕过/跳过某些COBOL记录?,cobol,Cobol,我有一个程序,除了在读取SEQ文件时,它可以完全跳过/绕过记录,然后转到文件中的下一个。如果学生已毕业(如果等于“Y”),则跳过输入文件。如果班级排名不是“1”或“2”,则跳过。最后,如果MARGE不是“DIG”、“NES”或“PGM”,则旁路 seq文件: 377658797MJAbbott 1DIG021070 307662099KRAlexander Y2NES005017 445903241JCArmour 2PGM059140 877395401

我有一个程序,除了在读取SEQ文件时,它可以完全跳过/绕过记录,然后转到文件中的下一个。如果学生已毕业(如果等于“Y”),则跳过输入文件。如果班级排名不是“1”或“2”,则跳过。最后,如果MARGE不是“DIG”、“NES”或“PGM”,则旁路

seq文件:

377658797MJAbbott         1DIG021070
307662099KRAlexander     Y2NES005017
445903241JCArmour         2PGM059140
877395401KFAult           1NES044132
900874562CMBaker          3PGM055160
980443254RLBishop         1NES020062
307548872DRBoyer          2DIG055168
345213465RDByers          1NES010024
659876655SACampbell       2PGM066180
907883271DECopeland       2NES067202
407985390JACotter         4NES067202
387789843KDCurtis         2PGM055160
887658341RMDavis          1PGM040119
477809325DPDonaldson      1DIG005012
207559801ALDuffy          1NES023075
399823781AFEdwards        2NES066261
345321092MLEvans          2DIG070201
768432214WSEwing          1PGM021044
335769801ACFarkas         2PGM080241
555879214TEFrail          1DIG001003
609954386RLFuller         2NES088352
872119903JMGarcia         2DIG065190
847643902RSGordon         1PGM005017
675509821SLGuthrie        1PGM022088
226547855RLHartman        1NES111440
448823177GCHill           2PGM087169
598873240WEHyde           2PGM055159
389557430HPIckes          1NES018056
499087112DLImler          2NES074209
299006573RDIsley          1DIG010039
776044879HLJackson       X1DIG042108
899012845KMJoseph         2PGM088260
176590831DLJustice        2DIG076230
769941659FDKahle          2DIG079240
307985332ESKirk           1PGM009016
387956422DAKoch           2NES063222
822438009SRLaman          2NES080240
409875621KRLester          DIG065190
078965516CJLott           1PGM009030
188643487PTLyons          1PGM045136
307884251JAMcDonnell      1NES009028
598774365SBMiller         2DIG086249
218879563LRNickles        1NES044144
345901226RJNunn           1PGM032099
465589021RTO'Brien        2DIG088352
774658832DEOsborne        2DIG076228
489976092RVParent         2NES066200
783225185DWPrice          2PGM078228
999047621SDQueen          1PGM020060
836619047NCQuinn          1DIG044133
657732064DWRabe           2DIG099381
227689014DLRobinson       1PGM038113
848769033PBSadler         1COR008030
376659081LASmith          2NES112336
117980236JITaylor         1NES042127
988725701LRTruman         2PGM100380
430957205NHUnderwood      2NES098392
309447620LJUzelac         1PGM023072
467098853CAValenti        1PGM010010
988320851HEVorhees        2NES021068
598832016CLWagner         1DIG029088
699387440LSWood           2NES060177
499021987JAYant           1NES042127
399780041REYoung          2DIG111333
498376022RJZellers        2DIG090360
231442095JBZink           0PGM090360
984002164RTZuber          2PGM088266
程序代码:

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
     
           SELECT STUDENTS-FILE-IN
               ASSIGN TO 'STUDENTS.SEQ'
               ORGANIZATION IS LINE SEQUENTIAL.
     
           SELECT STUDENTS-FILE-OUT
               ASSIGN TO 'STUDENTS.RPT'
               ORGANIZATION IS LINE SEQUENTIAL.
     
       DATA DIVISION.
       FILE SECTION.
       FD  STUDENTS-FILE-IN.
       01  STUDENTS-RECORD-IN.
           05  SOCIAL-SECURITY-NUMBER-FIRST-IN           PIC X(3).
           05  SOCIAL-SECURITY-NUMBER-MIDDLE-IN          PIC X(2).
           05  SOCIAL-SECURITY-NUMBER-LAST-IN            PIC X(4).
           05  STUDENT-NAME-FIRST-IN                     PIC X.
           05  STUDENT-NAME-MIDDLE-IN                    PIC X.
           05  STUDENT-NAME-LAST-IN                      PIC X(9).
           05                                            PIC X(5).
           05  GRADUATION-STATUS-IN                      PIC X.
           05  CLASS-STANDING-IN                         PIC X.
           05  MAJOR-IN                                  PIC X(3).
           05  CREDIT-HOURS-EARNED-IN                    PIC 9(3).
           05  CREDIT-POINTS-EARNED-IN                   PIC 9(3).
       
       
       FD  STUDENTS-FILE-OUT.
       01  STUDENTS-RECORD-OUT         PIC X(80).
          
       WORKING-STORAGE SECTION.
       01  ARE-THERE-MORE-RECORDS       PIC X(3)       VALUE 'YES'.
       01  LINES-PRINTED                PIC 99         VALUE 99.
       01  PAGE-NUMBER                  PIC 99         VALUE ZERO.
       01  WS-FIRST-TIME-THRU           PIC X(3)       VALUE 'YES'.
       01  WS-GPA                       PIC Z.ZZ       VALUE ZERO.
       01  WS-GRAND-HOURS               PIC 9(7)       VALUE ZERO.
       01  WS-GRAND-POINTS              PIC 9(7)       VALUE ZERO.
       01  WS-GRAND-GPA                 PIC Z.ZZ       VALUE ZERO.
       01  WS-PRO-STUDENT               PIC 9(2)       VALUE ZERO.
       01  WS-GRAND-PRO-STUDENT         PIC 99V9       VALUE ZERO.
       01  WS-PRO-GPA-NUM               PIC 99         VALUE ZERO.
       01  WS-DIG-STUDENT               PIC 99         VALUE ZERO.
       01  WS-DIG-GPA-NUM               PIC 99         VALUE ZERO.
       01  WS-GRAND-DIG-STUDENT         PIC 99V9       VALUE ZERO.
       01  WS-GRAND-NES-STUDENT         PIC 99V9       VALUE ZERO.
       01  WS-NES-STUDENT               PIC 99         VALUE ZERO.
       01  WS-NES-GPA-NUM               PIC 99         VALUE ZERO.
       01  WS-OTHER                     PIC 99         VALUE ZERO.

       01  WS-CURRENT-DATE-DATA.
           05  WS-CURRENT-DATE.
               10  RUN-YEAR                 PIC XX.
               10  RUN-MONTH                PIC XX.
               10  RUN-DAY                  PIC XX.
    
       01  HEADING-LINE-1.
           05                           PIC X(22)   VALUE SPACES.
           05                           PIC X(33)   VALUE '------ ----- ------- ----- ------'.
           05                           PIC X(6)    VALUE SPACES.
           05  HL-1-DATE.
               10  MONTH-2              PIC XX.
               10                       PIC X       VALUE'/'.
               10  DAY-2                PIC XX.
               10                       PIC X       VALUE'/'.
               10  YEAR-2               PIC XX.
           05                           PIC X(4)    VALUE SPACES.
           05                           PIC X(4)    VALUE 'PAGE'.
           05  HL-1-PAGE-NUMBER         PIC Z9.
    
       01  HEADING-LINE-2.
           05                           PIC X        VALUE SPACE.
           05                           PIC X(10)    VALUE 'SOC SEC NO'.
           05                           PIC X(4)     VALUE SPACES.
           05                           PIC X(12)    VALUE 'STUDENT NAME'.
           05                           PIC X(3)     VALUE SPACES.
           05                           PIC X(8)     VALUE 'STANDING'.
           05                           PIC X(4)     VALUE SPACES.
           05                           PIC X(5)     VALUE 'MAJOR'.
           05                           PIC X(10)    VALUE  SPACES.
           05                           PIC X(5)     VALUE 'HOURS'.
           05                           PIC X(2)     VALUE  SPACES.
           05                           PIC X(6)     VALUE  'POINTS'.
           05                           PIC X(5)     VALUE  SPACES.
           05                           PIC X(3)     VALUE  'GPA'.
           
       01  DETAIL-LINE.
           05                                        PIC X        VALUE SPACE.
           05  SOCIAL-SECURITY-NUMBER-FIRST-OUT      PIC X(3).
           05  SSN-FDASH                             PIC X        VALUE "-".
           05  SOCIAL-SECURITY-NUMBER-MIDDLE-OUT     PIC X(2).
           05  SSN-MDASH                             PIC X        VALUE "-".
           05  SOCIAL-SECURITY-NUMBER-LAST-OUT       PIC X(4).
           05                                        PIC X(3)     VALUE SPACES.
           05  STUDENT-NAME-FIRST-OUT                PIC X.
           05                                        PIC X        VALUE SPACE.
           05  STUDENT-NAME-MIDDLE-OUT               PIC X.
           05                                        PIC X        VALUE SPACE.
           05  STUDENT-NAME-LAST-OUT                 PIC X(9).
           05                                        PIC X(2)     VALUE SPACES.
           05  CLASS-STANDING-OUT                    PIC X(9).
           05                                        PIC X(3)     VALUE SPACES.
           05  MAJOR-OUT                             PIC X(13).
           05                                        PIC X(4)     VALUE SPACES.
           05  HOURS-OUT                             PIC ZZZ.
           05                                        PIC X(5)     VALUE SPACES.
           05  POINTS-OUT                            PIC ZZZ.
           05                                        PIC X(4)     VALUE SPACES.
           05  STUDENT-GPA-OUT                       PIC 9.99.
           
       01  TOTALS-LINE.
           05                      PIC X          VALUE SPACE.
           05                      PIC X(6)       VALUE 'Totals'.
           05                      PIC X(50)      VALUE SPACES.
           05  TL-GRAND-HOURS      PIC Z,ZZZ.
           05                      PIC X(2)      VALUE SPACES.
           05  TL-GRAND-POINTS     PIC ZZ,ZZZ.
           05                      PIC X(4)       VALUE SPACES.
           05  TL-GRAND-GPA        PIC 9.99.
           
       01  TOTALS-LINE-2A.
           05                      PIC X          VALUE SPACE.
           05                      PIC X(19)      VALUE 'Programming Majors:'.
           
       01  TOTALS-LINE-2B.
           05                          PIC X(5)       VALUE SPACES.
           05                          PIC X(18)      VALUE 'Number of students'.
           05                          PIC X(9)       VALUE SPACES.
           05  TL-GRAND-PRO-STUDENT    PIC X(2).    
           
       01  TOTALS-LINE-2C.
           05                          PIC X(5)       VALUE SPACES.
           05                          PIC X(21)      VALUE 'Number with GPA > 3.0'.
           05                          PIC X(6)       VALUE SPACES.
           05  TL-GRAND-PRO-NUM-GPA    PIC X(2).
           
       01  TOTALS-LINE-2D.
           05                          PIC X(5)       VALUE SPACES.
           05                          PIC X(22)      VALUE 'Percent with GPA > 3.0'.
           05                          PIC X(5)       VALUE SPACES.
           05  TL-GRAND-PRO-GPA-PER    PIC 99.9.
           05                          PIC X          VALUE '%'.
       
       01  TOTALS-LINE-3A.
           05                      PIC X          VALUE SPACE.
           05                      PIC X(21)      VALUE 'Digital Media Major:'.
           
       01  TOTALS-LINE-3B.
           05                          PIC X(5)       VALUE SPACES.
           05                          PIC X(18)      VALUE 'Number of students'.
           05                          PIC X(9)       VALUE SPACES.
           05  TL-GRAND-DIG-STUDENT    PIC X(2).    
           
       01  TOTALS-LINE-3C.
           05                          PIC X(5)       VALUE SPACES.
           05                          PIC X(21)      VALUE 'Number with GPA > 3.0'.
           05                          PIC X(6)       VALUE SPACES.
           05  TL-GRAND-DIG-NUM-GPA    PIC XX.
           
       01  TOTALS-LINE-3D.
           05                          PIC X(5)       VALUE SPACES.
           05                          PIC X(22)      VALUE 'Percent with GPA > 3.0'.
           05                          PIC X(5)       VALUE SPACES.
           05  TL-GRAND-DIG-GPA-PER    PIC 99.9.
           05                          PIC X          VALUE '%'.
           
       01  TOTALS-LINE-4A.
           05                      PIC X          VALUE SPACE.
           05                      PIC X(24)      VALUE 'Network Security Major:'.
           
       01  TOTALS-LINE-4B.
           05                          PIC X(5)       VALUE SPACES.
           05                          PIC X(18)      VALUE 'Number of students'.
           05                          PIC X(9)       VALUE SPACES.
           05  TL-GRAND-NET-STUDENT    PIC X(2).    
           
       01  TOTALS-LINE-4C.
           05                          PIC X(5)       VALUE SPACES.
           05                          PIC X(21)      VALUE 'Number with GPA > 3.0'.
           05                          PIC X(6)       VALUE SPACES.
           05  TL-GRAND-NET-NUM-GPA    PIC XX.
           
       01  TOTALS-LINE-4D.
           05                          PIC X(5)       VALUE SPACES.
           05                          PIC X(22)      VALUE 'Percent with GPA > 3.0'.
           05                          PIC X(5)       VALUE SPACES.
           05  TL-GRAND-NET-GPA-PER    PIC ZZ.9.
           05                          PIC X          VALUE '%'.
       
       PROCEDURE DIVISION.
       100-MAIN.
           OPEN INPUT STUDENTS-FILE-IN
           OPEN OUTPUT STUDENTS-FILE-OUT
           
           ACCEPT WS-CURRENT-DATE FROM DATE
           MOVE RUN-MONTH TO MONTH-2
           MOVE RUN-DAY TO DAY-2
           MOVE RUN-YEAR TO YEAR-2
           PERFORM 300-WRITE-HEADINGS
           
           PERFORM UNTIL ARE-THERE-MORE-RECORDS = 'NO'
               READ STUDENTS-FILE-IN
                   AT END
                       PERFORM 400-TOTALS-ROUTINE
                       PERFORM 700-GRAND-TOTALS-PROGRAMMING
                       PERFORM 800-PRO-GPA
                       MOVE 'NO ' TO ARE-THERE-MORE-RECORDS
                   NOT AT END
                       PERFORM 200-PROCESS-ONE-RECORD
               END-READ
           END-PERFORM
     
           CLOSE STUDENTS-FILE-IN
           CLOSE STUDENTS-FILE-OUT
           STOP RUN.
     
       200-PROCESS-ONE-RECORD.
           IF LINES-PRINTED > 57
               PERFORM 300-WRITE-HEADINGS
           END-IF
           PERFORM 725-PRO-STUDENT-NUM
           COMPUTE WS-GPA ROUNDED = CREDIT-POINTS-EARNED-IN / CREDIT-HOURS-EARNED-IN
           MOVE SOCIAL-SECURITY-NUMBER-FIRST-IN TO SOCIAL-SECURITY-NUMBER-FIRST-OUT
           MOVE SOCIAL-SECURITY-NUMBER-MIDDLE-IN TO SOCIAL-SECURITY-NUMBER-MIDDLE-OUT
           MOVE SOCIAL-SECURITY-NUMBER-LAST-IN TO SOCIAL-SECURITY-NUMBER-LAST-OUT
           MOVE STUDENT-NAME-FIRST-IN TO STUDENT-NAME-FIRST-OUT
           MOVE STUDENT-NAME-MIDDLE-IN TO STUDENT-NAME-MIDDLE-OUT
           MOVE STUDENT-NAME-LAST-IN TO STUDENT-NAME-LAST-OUT
           MOVE CLASS-STANDING-IN TO CLASS-STANDING-OUT
           PERFORM 600-YEAR-PRINT
           MOVE MAJOR-IN TO MAJOR-OUT
           PERFORM 500-MAJOR-PRINT
           MOVE CREDIT-HOURS-EARNED-IN TO HOURS-OUT
           MOVE CREDIT-POINTS-EARNED-IN TO POINTS-OUT
           MOVE WS-GPA TO STUDENT-GPA-OUT
           MOVE DETAIL-LINE TO STUDENTS-RECORD-OUT
           WRITE STUDENTS-RECORD-OUT
               AFTER ADVANCING 1 LINES
           ADD 2 TO LINES-PRINTED
           COMPUTE WS-GRAND-HOURS = WS-GRAND-HOURS + CREDIT-HOURS-EARNED-IN
           COMPUTE WS-GRAND-POINTS = WS-GRAND-POINTS + CREDIT-POINTS-EARNED-IN
           COMPUTE WS-GRAND-GPA ROUNDED = WS-GRAND-POINTS / WS-GRAND-HOURS
           PERFORM 800-PRO-GPA.
           
       300-WRITE-HEADINGS.
           ADD 1 TO PAGE-NUMBER
           MOVE PAGE-NUMBER TO HL-1-PAGE-NUMBER
           MOVE HEADING-LINE-1 TO STUDENTS-RECORD-OUT
           
           IF WS-FIRST-TIME-THRU = 'YES'
               WRITE STUDENTS-RECORD-OUT
               MOVE 'NO' TO WS-FIRST-TIME-THRU
           ELSE
               WRITE STUDENTS-RECORD-OUT AFTER ADVANCING PAGE
           END-IF
               
           MOVE HEADING-LINE-2 TO STUDENTS-RECORD-OUT
           WRITE STUDENTS-RECORD-OUT
               AFTER ADVANCING 2
           MOVE 3 TO LINES-PRINTED.
           
       400-TOTALS-ROUTINE.
           IF LINES-PRINTED > 57
               PERFORM 300-WRITE-HEADINGS
           END-IF
           MOVE WS-GRAND-HOURS TO TL-GRAND-HOURS
           MOVE WS-GRAND-POINTS TO TL-GRAND-POINTS
           MOVE WS-GRAND-GPA TO TL-GRAND-GPA
           MOVE TOTALS-LINE TO STUDENTS-RECORD-OUT
           WRITE STUDENTS-RECORD-OUT AFTER ADVANCING 2 LINES
           ADD 2 TO LINES-PRINTED.
           
       500-MAJOR-PRINT.
           
           EVALUATE MAJOR-OUT
           WHEN = 'NES'
               MOVE 'Net Security' TO MAJOR-OUT
           WHEN = 'PGM'
               MOVE 'Programming' TO MAJOR-OUT
           WHEN = 'DIG'
               MOVE 'Digital Media' TO MAJOR-OUT
           WHEN OTHER
               MOVE '------' TO MAJOR-OUT
           END-EVALUATE.
       
       600-YEAR-PRINT.

           EVALUATE CLASS-STANDING-OUT
           WHEN = '1'
               MOVE 'First Yr' TO CLASS-STANDING-OUT
           WHEN = '2'
               MOVE 'Second Yr' TO CLASS-STANDING-OUT
           WHEN OTHER
               MOVE '------' TO CLASS-STANDING-OUT
           END-EVALUATE.

       700-GRAND-TOTALS-PROGRAMMING.
           MOVE TOTALS-LINE-2A TO STUDENTS-RECORD-OUT
           WRITE STUDENTS-RECORD-OUT
               AFTER ADVANCING 4 LINES
           MOVE WS-PRO-STUDENT TO TL-GRAND-PRO-STUDENT
           MOVE TOTALS-LINE-2B TO STUDENTS-RECORD-OUT
           WRITE STUDENTS-RECORD-OUT
               AFTER ADVANCING 1 LINE
           MOVE WS-PRO-GPA-NUM TO TL-GRAND-PRO-NUM-GPA
           MOVE TOTALS-LINE-2C TO STUDENTS-RECORD-OUT
           WRITE STUDENTS-RECORD-OUT
               AFTER ADVANCING 1 LINE
           COMPUTE WS-GRAND-PRO-STUDENT = (WS-PRO-GPA-NUM / WS-PRO-STUDENT) * 100
           MOVE WS-GRAND-PRO-STUDENT TO TL-GRAND-PRO-GPA-PER
           MOVE TOTALS-LINE-2D TO STUDENTS-RECORD-OUT
           WRITE STUDENTS-RECORD-OUT
               AFTER ADVANCING 1 LINE
           MOVE TOTALS-LINE-3A TO STUDENTS-RECORD-OUT
           WRITE STUDENTS-RECORD-OUT
               AFTER ADVANCING 2 LINES
           MOVE WS-DIG-STUDENT TO TL-GRAND-DIG-STUDENT
           MOVE TOTALS-LINE-3B TO STUDENTS-RECORD-OUT
           WRITE STUDENTS-RECORD-OUT
               AFTER ADVANCING 1 LINE
           MOVE WS-DIG-GPA-NUM TO TL-GRAND-DIG-NUM-GPA
           MOVE TOTALS-LINE-3C TO STUDENTS-RECORD-OUT
           WRITE STUDENTS-RECORD-OUT
               AFTER ADVANCING 1 LINE
           COMPUTE WS-GRAND-DIG-STUDENT = (WS-DIG-GPA-NUM / WS-DIG-STUDENT) * 100
           MOVE WS-GRAND-DIG-STUDENT TO TL-GRAND-DIG-GPA-PER
           MOVE TOTALS-LINE-3D TO STUDENTS-RECORD-OUT
           WRITE STUDENTS-RECORD-OUT
               AFTER ADVANCING 1 LINE
           MOVE TOTALS-LINE-4A TO STUDENTS-RECORD-OUT
           WRITE STUDENTS-RECORD-OUT
               AFTER ADVANCING 2 LINES
           MOVE WS-NES-STUDENT TO TL-GRAND-NET-STUDENT
           MOVE TOTALS-LINE-4B TO STUDENTS-RECORD-OUT
           WRITE STUDENTS-RECORD-OUT
               AFTER ADVANCING 1 LINE
           MOVE WS-NES-GPA-NUM TO TL-GRAND-NET-NUM-GPA
           MOVE TOTALS-LINE-4C TO STUDENTS-RECORD-OUT
           WRITE STUDENTS-RECORD-OUT
               AFTER ADVANCING 1 LINE
           COMPUTE WS-GRAND-NES-STUDENT = (WS-NES-GPA-NUM / WS-NES-STUDENT) * 100
           MOVE WS-GRAND-NES-STUDENT TO TL-GRAND-NET-GPA-PER
           MOVE TOTALS-LINE-4D TO STUDENTS-RECORD-OUT
           WRITE STUDENTS-RECORD-OUT
               AFTER ADVANCING 1 LINE.
           
           
       725-PRO-STUDENT-NUM.
           EVALUATE MAJOR-IN
           WHEN = 'NES'
               ADD 1 TO WS-NES-STUDENT
           WHEN = 'PGM'
               ADD 1 TO WS-PRO-STUDENT
           WHEN = 'DIG'
               ADD 1 TO WS-DIG-STUDENT
           WHEN OTHER
               MOVE 0 TO WS-OTHER
           END-EVALUATE.
       
       800-PRO-GPA.
           EVALUATE MAJOR-IN ALSO STUDENT-GPA-OUT
           WHEN = 'NES' ALSO > '3.0'
               ADD 1 TO WS-NES-GPA-NUM
           WHEN = 'PGM' ALSO > '3.0'
               ADD 1 TO WS-PRO-GPA-NUM
           WHEN = 'DIG' ALSO > '3.0'
               ADD 1 TO WS-DIG-GPA-NUM
           WHEN OTHER
               MOVE 0 TO WS-OTHER
           END-EVALUATE.
RPT需要的外观:

                      ------ ----- ------- ----- ------      10/11/12  PAGE  1

 SOC SEC NO    STUDENT NAME   STANDING    MAJOR          HOURS  POINTS     GPA

 377-65-8797   M J Abbott     First Yr    Digital Media     21      70    3.33
 445-90-3241   J C Armour     Second Yr   Programming       59     140    2.37
 877-39-5401   K F Ault       First Yr    Net Security      44     132    3.00
 980-44-3254   R L Bishop     First Yr    Net Security      20      62    3.10
 307-54-8872   D R Boyer      Second Yr   Digital Media     55     168    3.05
 345-21-3465   R D Byers      First Yr    Net Security      10      24    2.40
 659-87-6655   S A Campbell   Second Yr   Programming       66     180    2.73
 907-88-3271   D E Copeland   Second Yr   Net Security      67     202    3.01
 387-78-9843   K D Curtis     Second Yr   Programming       55     160    2.91
 887-65-8341   R M Davis      First Yr    Programming       40     119    2.98
 477-80-9325   D P Donaldson  First Yr    Digital Media      5      12    2.40
 207-55-9801   A L Duffy      First Yr    Net Security      23      75    3.26
 399-82-3781   A F Edwards    Second Yr   Net Security      66     261    3.95
 345-32-1092   M L Evans      Second Yr   Digital Media     70     201    2.87
 768-43-2214   W S Ewing      First Yr    Programming       21      44    2.10
 335-76-9801   A C Farkas     Second Yr   Programming       80     241    3.01
 555-87-9214   T E Frail      First Yr    Digital Media      1       3    3.00
 609-95-4386   R L Fuller     Second Yr   Net Security      88     352    4.00
 872-11-9903   J M Garcia     Second Yr   Digital Media     65     190    2.92
 847-64-3902   R S Gordon     First Yr    Programming        5      17    3.40
 675-50-9821   S L Guthrie    First Yr    Programming       22      88    4.00
 226-54-7855   R L Hartman    First Yr    Net Security     111     440    3.96
 448-82-3177   G C Hill       Second Yr   Programming       87     169    1.94
 598-87-3240   W E Hyde       Second Yr   Programming       55     159    2.89
 389-55-7430   H P Ickes      First Yr    Net Security      18      56    3.11
 499-08-7112   D L Imler      Second Yr   Net Security      74     209    2.82
 299-00-6573   R D Isley      First Yr    Digital Media     10      39    3.90
 776-04-4879   H L Jackson    First Yr    Digital Media     42     108    2.57
 899-01-2845   K M Joseph     Second Yr   Programming       88     260    2.95
 176-59-0831   D L Justice    Second Yr   Digital Media     76     230    3.03
 769-94-1659   F D Kahle      Second Yr   Digital Media     79     240    3.04
 307-98-5332   E S Kirk       First Yr    Programming        9      16    1.78
 387-95-6422   D A Koch       Second Yr   Net Security      63     222    3.52
 822-43-8009   S R Laman      Second Yr   Net Security      80     240    3.00
 078-96-5516   C J Lott       First Yr    Programming        9      30    3.33
 188-64-3487   P T Lyons      First Yr    Programming       45     136    3.02
 307-88-4251   J A McDonnell  First Yr    Net Security       9      28    3.11
 598-77-4365   S B Miller     Second Yr   Digital Media     86     249    2.90
 218-87-9563   L R Nickles    First Yr    Net Security      44     144    3.27
 345-90-1226   R J Nunn       First Yr    Programming       32      99    3.09
 465-58-9021   R T O'Brien    Second Yr   Digital Media     88     352    4.00
 774-65-8832   D E Osborne    Second Yr   Digital Media     76     228    3.00
 489-97-6092   R V Parent     Second Yr   Net Security      66     200    3.03
 783-22-5185   D W Price      Second Yr   Programming       78     228    2.92
 999-04-7621   S D Queen      First Yr    Programming       20      60    3.00
 836-61-9047   N C Quinn      First Yr    Digital Media     44     133    3.02
 657-73-2064   D W Rabe       Second Yr   Digital Media     99     381    3.85
 227-68-9014   D L Robinson   First Yr    Programming       38     113    2.97
 376-65-9081   L A Smith      Second Yr   Net Security     112     336    3.00
 117-98-0236   J I Taylor     First Yr    Net Security      42     127    3.02
 988-72-5701   L R Truman     Second Yr   Programming      100     380    3.80
 430-95-7205   N H Underwood  Second Yr   Net Security      98     392    4.00  
                      ------ ----- ------- ----- ------      10/11/12  PAGE  2

 SOC SEC NO    STUDENT NAME   STANDING    MAJOR          HOURS  POINTS     GPA

 309-44-7620   L J Uzelac     First Yr    Programming       23      72    3.13
 467-09-8853   C A Valenti    First Yr    Programming       10      10    1.00
 988-32-0851   H E Vorhees    Second Yr   Net Security      21      68    3.24
 598-83-2016   C L Wagner     First Yr    Digital Media     29      88    3.03
 699-38-7440   L S Wood       Second Yr   Net Security      60     177    2.95
 499-02-1987   J A Yant       First Yr    Net Security      42     127    3.02
 399-78-0041   R E Young      Second Yr   Digital Media    111     333    3.00
 498-37-6022   R J Zellers    Second Yr   Digital Media     90     360    4.00
 984-00-2164   R T Zuber      Second Yr   Programming       88     266    3.02

 Totals                                                  3,235  10,246    3.17



 Programming Majors:
     Number of students         22
     Number with GPA > 3.0       9
     Percent with GPA > 3.0     40.9%

 Digital Media Majors:
     Number of students         18
     Number with GPA > 3.0      10
     Percent with GPA > 3.0     55.6%

 Network Security Majors:
     Number of students         21
     Number with GPA > 3.0      15
     Percent with GPA > 3.0     71.4%
注意:在我当前的RPT中,大多数不打算打印的记录在打印输出中的某个地方都有“----”。此外,如果未打印记录,则该记录不应出现在任何计算中。(若要查看当前RPT,请运行程序I(字符不足)


谢谢。

由于支票相当复杂,我建议将其分为单独的一段,代码如下:

               NOT AT END
                   PERFORM 120-CHECK-BYPASS

 ......
 120-CHECK-BYPASS.
    IF GRADUATION-STATUS-IN NOT EQUAL TO 'Y'
    AND CLASS-STANDING-IN EQUAL TO '1' OR '2'
    AND MAJOR-IN IS EQUAL TO 'DIG' OR 'NES' OR 'PGM'
       PERFORM 200-PROCESS-ONE-RECORD
    END-IF.

使用
IF
语句检查一条记录是否应该打印,我应该把它放在哪里,你会怎么写?我以前从未做过。COBOL中有一个旁路动词吗?你把它放在write语句之前。您只在满足某些条件时才写入输出记录。下面是有关此问题的更新帖子:欢迎使用堆栈溢出!请不要破坏你的帖子,为别人做更多的工作。通过在Stack Exchange网络上发布,您已授予Stack Exchange在下不可撤销的权利,以分发该内容(即,无论您未来的选择如何)。根据堆栈交换策略,帖子的非破坏版本是分发的版本。因此,任何故意破坏行为都将恢复原状。如果你想了解更多关于删除帖子的信息,请参阅:遗憾的是,这不起作用。知道为什么吗?这个“类似”应该会给你一个线索,这是一个完全未经测试的、确实未经解析的代码。快速阅读COBOL IF/AND/OR应该可以让它工作——您可以尝试用“IF”替换“AND”加上相应的结束IFsI将AND更改为IF,然后更改相等或不相等。它仍然打印所有的东西。