IDENTIFICATION DIVISION. PROGRAM-ID. PROJ3. *************************************************** * PROJ3 - PRINTS A STUDENT TUITION REPORT * * BY NATHAN BALON SN# 797737 * * * *************************************************** ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT IN-STUDENT-FILE ASSIGN TO 'PROJ3.DAT'. SELECT OUT-STUDENT-FILE ASSIGN TO 'PROJ3.RPT'. DATA DIVISION. FILE SECTION. FD IN-STUDENT-FILE LABEL RECORDS ARE STANDARD. 01 IN-STUDENT-REC. 05 IN-STUDENT-NAME PIC X(20). 05 IN-CREDIT-HOURS PIC 9(2). FD OUT-STUDENT-FILE LABEL RECORDS ARE STANDARD RECORD CONTAINS 80 CHARACTERS. 01 PRINT-REC PIC X(80). WORKING-STORAGE SECTION. 01 WS-WORK-AREA. 05 ARE-THERE-MORE-RECORDS PIC X(3) VALUE 'YES'. 05 WS-TUITION PIC 9(4). 05 WS-TOTAL-TUITION PIC 9(6). 01 WS-PAGE-HEADINGS. 05 PIC X(12). 05 PIC X(22) VALUE 'STUDENT TUITION REPORT'. 01 WS-DETAIL-HEADINGS. 05 PIC X(20) VALUE 'STUDENT NAME'. 05 PIC X(4). 05 PIC X(12) VALUE 'CREDIT HOURS'. 05 PIC X(4). 05 PIC X(7) VALUE 'TUITION'. 01 WS-DETAIL. 05 OUT-STUDENT-NAME PIC X(20). 05 PIC X(4). 05 OUT-CREDIT-HOURS PIC 9(2). 05 PIC X(15). 05 OUT-STUDENT-TUITION PIC $Z,ZZ9. 01 WS-TOTAL-LINE. 05 PIC X(14) VALUE 'TOTAL TUITION'. 05 PIC X(25). 05 OUT-TOTAL-TUITION PIC $ZZZ,ZZ9. ********************************************************** * 100-MAIN-MODULE - CONTROLS OPENING AND CLOSING FILES * * AND DIRECTION OF PROGRAM LOGIC * * * ********************************************************** PROCEDURE DIVISION. 100-MAIN-MODULE. OPEN INPUT IN-STUDENT-FILE OUTPUT OUT-STUDENT-FILE PERFORM 200-HEADING-RTN PERFORM UNTIL ARE-THERE-MORE-RECORDS = 'NO ' READ IN-STUDENT-FILE AT END MOVE 'NO ' TO ARE-THERE-MORE-RECORDS PERFORM 400-TUITION-TOTAL-RTN NOT AT END PERFORM 300-PROCESS-RTN END-READ END-PERFORM CLOSE IN-STUDENT-FILE OUT-STUDENT-FILE STOP RUN. *********************************************************** * 200-HEADING-RTN IS EXECUTED ONCE FROM THE MAIN MODULE * * * * * *********************************************************** 200-HEADING-RTN. WRITE PRINT-REC FROM WS-PAGE-HEADINGS AFTER ADVANCING 2 LINES WRITE PRINT-REC FROM WS-DETAIL-HEADINGS AFTER ADVANCING 2 LINES. *********************************************************** * 300-PROCESS-RTN IS EXECUTED FROM THE MAIN MODULE * * IT READING IN STUDENT RECORDS AND GIVES TOTAL * * TUITION * *********************************************************** 300-PROCESS-RTN. MOVE IN-STUDENT-NAME TO OUT-STUDENT-NAME MOVE IN-CREDIT-HOURS TO OUT-CREDIT-HOURS MULTIPLY 525 BY IN-CREDIT-HOURS GIVING WS-TUITION ADD WS-TUITION TO WS-TOTAL-TUITION MOVE WS-TUITION TO OUT-STUDENT-TUITION WRITE PRINT-REC FROM WS-DETAIL. *********************************************************** * 400-TUTION-TOTAL-RTN IS EXECUTED ONCE AT END * * PRINTS REPORT FOOTER GIVE THE TOTAL TUITION * * * *********************************************************** 400-TUITION-TOTAL-RTN. MOVE WS-TOTAL-TUITION TO OUT-TOTAL-TUITION WRITE PRINT-REC FROM WS-TOTAL-LINE BEFORE ADVANCING 2 LINES.