Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *> Program-ID: P2.cob
- *> Author: Zachary Smith
- *> OS: Ubuntu 14
- *> Compiler: OpenCOBOL
- IDENTIFICATION DIVISION.
- PROGRAM-ID. P2.
- ENVIRONMENT DIVISION.
- INPUT-OUTPUT SECTION.
- FILE-CONTROL.
- SELECT myInFile ASSIGN TO "P2In.dat"
- ORGANIZATION IS LINE SEQUENTIAL.
- SELECT myOutFile ASSIGN to "P2Out.dat"
- ORGANIZATION IS LINE SEQUENTIAL.
- DATA DIVISION.
- FILE SECTION.
- FD myInFile.
- 01 inRecord.
- 03 TransCode PIC X.
- 88 SName VALUE "N".
- 88 WNum VALUE "W".
- 88 Sem VALUE "S".
- 88 Head VALUE "H".
- 88 Course VALUE "C".
- 03 CNum PIC X(8).
- 03 CName PIC X(28).
- 03 Grade PIC X.
- 03 Credits PIC 9(6).
- 01 inRecord-WNum.
- 03 WNum-In PIC X(8).
- 01 Semester-In.
- 03 FILLER PIC X.
- 03 Sem-In PIC X(12).
- FD myOutFile.
- 01 outRecord.
- 03 CNumO PIC X(8).
- 03 FILLER PIC X(4).
- 03 CNameO PIC X(28).
- 03 FILLER PIC X(4).
- 03 GradeO PIC X(5).
- 03 FILLER PIC X(4).
- 03 CreditsO PIC 9(6).
- 03 FILLER PIC X(4).
- 03 QPTS PIC 9(4).
- 01 Semester-Out.
- 03 Sem-Out PIC X(11).
- WORKING-STORAGE SECTION.
- 01 w PIC X(3) VALUE "YES".
- 01 Page-Header.
- 03 FILLER PIC X(2) VALUE SPACES.
- 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".
- 01 Page-Header2.
- 03 FILLER PIC X(24) VALUE SPACES.
- 03 FILLER PIC X(36) VALUE "HAMMOND, LA 70402".
- 01 Header.
- 03 FILLER PIC X(6) VALUE "Course".
- 03 FILLER PIC X(6) VALUE SPACES.
- 03 FILLER PIC X(5) VALUE "Title".
- 03 FILLER PIC X(27) VALUE SPACES.
- 03 FILLER PIC X(5) VALUE "Grade".
- 03 FILLER PIC X(4) VALUE SPACES.
- 03 FILLER PIC X(6) VALUE "Earned".
- 03 FILLER PIC X(4) VALUE SPACES.
- 03 FILLER PIC X(4) VALUE "QPTS".
- PROCEDURE DIVISION.
- OPEN INPUT myInFile.
- OPEN OUTPUT myOutFile.
- WRITE outRecord FROM Page-Header.
- WRITE outRecord FROM Page-Header2
- AFTER ADVANCING 1 LINES.
- PERFORM subRead
- PERFORM UNTIL w = "NO"
- MOVE CNum to CNumO
- MOVE CName to CNameO
- MOVE Grade to GradeO
- MOVE Credits to CreditsO
- MOVE Sem-In to Sem-Out
- *> COMPUTE t = o + 1
- *> COMPUTE u = p - 2
- PERFORM subRead
- END-PERFORM.
- CLOSE myInFile.
- CLOSE myOutFile.
- STOP RUN.
- subRead.
- EVALUATE TRUE
- WHEN SName WRITE outRecord
- AFTER ADVANCING 2 LINES
- WHEN WNum WRITE outRecord
- AFTER ADVANCING 1 LINES
- WHEN Sem WRITE outRecord
- AFTER ADVANCING 2 LINES
- WHEN Head WRITE outRecord FROM Header
- AFTER ADVANCING 1 LINES
- WHEN Course WRITE outRecord
- AFTER ADVANCING 1 LINES
- END-EVALUATE
- MOVE SPACES TO outRecord.
- READ myInFile
- AT END
- MOVE "NO" TO w
- END-READ.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement