Advertisement
Guest User

cobolds

a guest
Sep 1st, 2015
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
COBOL 2.52 KB | None | 0 0
  1. *> Program-ID: P2.cob
  2. *> Author:     Zachary Smith
  3. *> OS:         Ubuntu 14
  4. *> Compiler:   OpenCOBOL
  5.  
  6. IDENTIFICATION DIVISION.
  7. PROGRAM-ID. P2.
  8. ENVIRONMENT DIVISION.
  9. INPUT-OUTPUT SECTION.
  10. FILE-CONTROL.
  11.     SELECT myInFile ASSIGN TO "P2In.dat"
  12.         ORGANIZATION IS LINE SEQUENTIAL.
  13.     SELECT myOutFile ASSIGN to "P2Out.dat"
  14.         ORGANIZATION IS LINE SEQUENTIAL.
  15. DATA DIVISION.
  16. FILE SECTION.
  17. FD myInFile.
  18. 01 inRecord.
  19.     03  TransCode   PIC X.
  20.         88 SName    VALUE "N".
  21.         88 WNum     VALUE "W".
  22.         88 Sem      VALUE "S".
  23.         88 Head     VALUE "H".
  24.         88 Course   VALUE "C".
  25.     03  CNum        PIC X(8).
  26.     03  CName       PIC X(28).
  27.     03  Grade       PIC X.
  28.     03  Credits     PIC 9(6).
  29. 01 inRecord-WNum.
  30.     03  WNum-In     PIC X(8).
  31. 01 Semester-In.
  32.     03  FILLER      PIC X.
  33.     03  Sem-In      PIC X(12).
  34. FD myOutFile.
  35. 01 outRecord.
  36.     03  CNumO       PIC X(8).
  37.     03  FILLER      PIC X(4).
  38.     03  CNameO      PIC X(28).
  39.     03  FILLER      PIC X(4).
  40.     03  GradeO      PIC X(5).
  41.     03  FILLER      PIC X(4).
  42.     03  CreditsO    PIC 9(6).
  43.     03  FILLER      PIC X(4).
  44.     03  QPTS        PIC 9(4).
  45. 01 Semester-Out.
  46.     03  Sem-Out     PIC X(11).
  47. WORKING-STORAGE SECTION.
  48. 01 w    PIC X(3) VALUE "YES".
  49. 01 Page-Header.
  50.     03  FILLER      PIC X(2) VALUE SPACES.
  51.     03  FILLER      PIC X(63) VALUE "S O U T H E A S T E R N  L O U I S I A N A  U N I V E R S I T Y".
  52. 01 Page-Header2.
  53.     03  FILLER      PIC X(24) VALUE SPACES.
  54.     03  FILLER      PIC X(36) VALUE "HAMMOND, LA 70402".
  55. 01 Header.
  56.     03  FILLER      PIC X(6)  VALUE "Course".
  57.     03  FILLER      PIC X(6)  VALUE SPACES.
  58.     03  FILLER      PIC X(5)  VALUE "Title".
  59.     03  FILLER      PIC X(27) VALUE SPACES.
  60.     03  FILLER      PIC X(5)  VALUE "Grade".
  61.     03  FILLER      PIC X(4)  VALUE SPACES.
  62.     03  FILLER      PIC X(6)  VALUE "Earned".
  63.     03  FILLER      PIC X(4)  VALUE SPACES.
  64.     03  FILLER      PIC X(4)  VALUE "QPTS".
  65. PROCEDURE DIVISION.
  66.     OPEN INPUT myInFile.
  67.     OPEN OUTPUT myOutFile.
  68.     WRITE outRecord FROM Page-Header.
  69.     WRITE outRecord FROM Page-Header2
  70.         AFTER ADVANCING 1 LINES.
  71.     PERFORM subRead
  72.     PERFORM UNTIL w = "NO"
  73.         MOVE CNum       to CNumO
  74.         MOVE CName      to CNameO
  75.         MOVE Grade      to GradeO
  76.         MOVE Credits    to CreditsO
  77.         MOVE Sem-In     to Sem-Out
  78. *>      COMPUTE t = o + 1
  79. *>      COMPUTE u = p - 2
  80.         PERFORM subRead
  81.     END-PERFORM.
  82.     CLOSE myInFile.
  83.     CLOSE myOutFile.
  84.     STOP RUN.
  85. subRead.
  86.     EVALUATE TRUE
  87.         WHEN SName WRITE outRecord
  88.             AFTER ADVANCING 2 LINES
  89.         WHEN WNum WRITE outRecord
  90.             AFTER ADVANCING 1 LINES
  91.         WHEN Sem WRITE outRecord
  92.             AFTER ADVANCING 2 LINES
  93.         WHEN Head WRITE outRecord FROM Header
  94.             AFTER ADVANCING 1 LINES
  95.         WHEN Course WRITE outRecord
  96.             AFTER ADVANCING 1 LINES
  97.     END-EVALUATE
  98.     MOVE SPACES TO outRecord.
  99.     READ myInFile
  100.         AT END
  101.             MOVE "NO" TO w
  102.     END-READ.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement