Vous êtes sur la page 1sur 5

IDENTIFICATION DIVISION.

PROGRAM-ID. COBOLCS1.
AUTHOR. KAMI.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT STUD-REC-IN ASSIGN TO "BSIT21.DAT".
SELECT MSTUD-REC-OUT ASSIGN TO "BSITMALE.DAT".
SELECT FSTUD-REC-OUT ASSIGN TO "BSITFEM.DAT".
DATA DIVISION.
FILE SECTION.
FD STUD-REC-IN
LABEL RECORDS ARE STANDARD
DATA RECORD IS BSIT-REC.
01 BSIT-REC.
02 STUD-NUM PIC X(10).
02 STUD-NAME PIC X(25).
02 STUD-GENDER PIC A.
FD MSTUD-REC-OUT
LABEL RECORDS ARE STANDARD
DATA RECORD IS MALE-PRINT-REC.
01 MALE-PRINT-REC PIC X(80).
FD FSTUD-REC-OUT
LABEL RECORDS ARE STANDARD
DATA RECORD IS FEM-PRINT-REC.
01 FEM-PRINT-REC PIC X(80).
WORKING-STORAGE SECTION.
01 HDG-PUP.
02 FILLER PIC X(20) VALUE SPACES.
02 FILLER PIC A(22) VALUE "POLYTECHNIC UNIVERSITY".
02 FILLER PIC A(19) VALUE " OF THE PHILIPPINES".
01 HDG-QC.
02 FILLER PIC X(31) VALUE SPACES.
02 FILLER PIC A(19) VALUE "COMMONWEALTH CAMPUS".
01 HDG-STUDREC.
02 FILLER PIC X(17) VALUE SPACES.
02 FILLER PIC A(7) VALUE "STUDENT".
02 FILLER PIC A(7) VALUE " NUMBER".
02 FILLER PIC X(18) VALUE SPACES.
02 FILLER PIC A(7) VALUE "STUDENT".
02 FILLER PIC A(5) VALUE " NAME".

01 HDG-MLIST.
02 FILLER PIC X(26) VALUE SPACES.
02 FILLER PIC A(21) VALUE "LIST OF MALE STUDENTS".
02 FILLER PIC X(9) VALUE " BSIT 2-1".

01 HDG-FLIST.
02 FILLER PIC X(24) VALUE SPACES.
02 FILLER PIC A(23) VALUE "LIST OF FEMALE STUDENTS".
02 FILLER PIC X(9) VALUE " BSIT 2-1".
01 PRINT-LINE.
02 FILLER PIC X(19) VALUE SPACES.
02 SNUM-OUT PIC X(10).
02 FILLER PIC X(17) VALUE SPACES.
02 SNAME-OUT PIC X(25).
01 GENDER-OUT PIC A.
01 E-O-F PIC XXX VALUE "NO".
PROCEDURE DIVISION.
OPEN INPUT STUD-REC-IN
OUTPUT MSTUD-REC-OUT, OUTPUT FSTUD-REC-OUT.
WRITE MALE-PRINT-REC FROM HDG-PUP BEFORE 1 LINE.
WRITE MALE-PRINT-REC FROM HDG-QC BEFORE 1 LINE.
WRITE MALE-PRINT-REC FROM HDG-MLIST AFTER 2 LINES.
WRITE MALE-PRINT-REC FROM HDG-STUDREC AFTER 3 LINES.
MOVE SPACES TO MALE-PRINT-REC.
WRITE MALE-PRINT-REC AFTER 1 LINE.
WRITE FEM-PRINT-REC FROM HDG-PUP BEFORE 1 LINE.
WRITE FEM-PRINT-REC FROM HDG-QC BEFORE 1 LINE.
WRITE FEM-PRINT-REC FROM HDG-FLIST AFTER 2 LINES.
WRITE FEM-PRINT-REC FROM HDG-STUDREC AFTER 3 LINES.
MOVE SPACES TO FEM-PRINT-REC.
WRITE FEM-PRINT-REC AFTER 1 LINE.
PERFORM READ-RTN UNTIL E-O-F = "YES".
READ-RTN.
READ STUD-REC-IN AT END MOVE "YES" TO E-O-F.
IF E-O-F = "YES"
PERFORM CLOSE-RTN.
MOVE STUD-NUM TO SNUM-OUT.
MOVE STUD-NAME TO SNAME-OUT.
MOVE STUD-GENDER TO GENDER-OUT.
IF (GENDER-OUT = "M")
WRITE MALE-PRINT-REC FROM PRINT-LINE AFTER 1 LINE.
IF (GENDER-OUT = "F")
WRITE FEM-PRINT-REC FROM PRINT-LINE AFTER 1 LINE.
CLOSE-RTN.
CLOSE STUD-REC-IN, MSTUD-REC-OUT, FSTUD-REC-OUT.
STOP RUN.

IDENTIFICATION DIVISION.
PROGRAM-ID. COBOLCS2.
AUTHOR. KAZEE.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT CLIENTIN-FILE ASSIGN TO "RECIN.DAT".
SELECT CLIENTOUT-FILE ASSIGN TO "RECOUT.DAT".
DATA DIVISION.
FILE SECTION.
FD CLIENTIN-FILE
LABEL RECORDS ARE STANDARD
DATA RECORD IS CLIENT-INFO.
01 CLIENT-INFO.
02 CLIENT-NAME PIC X(25).
02 NUMBER-STREET PIC X(20).
02 CITY-ZIP PIC X(15).
02 AMOUNT PIC 9(6)V99.
02 MONTHLY PIC 99.
FD CLIENTOUT-FILE
LABEL RECORDS ARE STANDARD
DATA RECORD IS CLIENT-REC.
01 CLIENT-REC PIC X(80).
WORKING-STORAGE SECTION.
01 1ST-HDG.
02 FILLER PIC X(26) VALUE SPACES.
02 FILLER PIC X(27) VALUE "ABC LOANS & SAVINGS COMPANY".
01 2ND-HDG.
02 FILLER PIC X(27) VALUE SPACES.
02 FILLER PIC X(25) VALUE "AYALA AVENUE, MAKATI CITY".
01 CLIENT-NAME-PRINT.
02 CLIENT-NAME-OUT PIC X(25).
01 NUMBER-STREET-PRINT.
02 NUMBER-STREET-OUT PIC X(20).
01 CITY-ZIP-PRINT.
02 CITY-ZIP-OUT PIC X(15).
01 3RD-HDG.
02 FILLER PIC X(29) VALUE SPACES.
02 FILLER PIC X(20) VALUE "SCHEDULE OF PAYMENTS".
01 AMOUNT-PRINT.
02 FILLER PIC X(25) VALUE SPACES.
02 FILLER PIC X(20) VALUE "ORIGINAL AMOUNT: PHP".
02 AMOUNT-OUT PIC 999999.99.
01 4TH-HDG.
02 FILLER PIC X(5) VALUE SPACES.
02 FILLER PIC X(5) VALUE "MONTH".
02 FILLER PIC X(11) VALUE SPACES.
02 FILLER PIC X(8) VALUE "INTEREST".

02 FILLER PIC X(5) VALUE SPACES.


02 FILLER PIC X(13) VALUE "TOTAL PAYMENT".
02 FILLER PIC X(9) VALUE SPACES.
02 FILLER PIC X(14) VALUE "UNPAID BALANCE".
01 DATA-PRINT.
02 FILLER PIC X(6) VALUE SPACES.
02 MONTH-CTR-OUT PIC ZZ.
02 FILLER PIC X(15) VALUE SPACES.
02 INTEREST-OUT PIC ZZ.ZZ.
02 FILLER PIC X(8) VALUE SPACES.
02 TOT-PAYMENT-OUT PIC Z(6).ZZ.
02 FILLER PIC X(13) VALUE SPACES.
02 UNPAID-BAL-OUT PIC Z(6).ZZ.
01 HDG-SPACE.
02 FILLER PIC X(80) VALUE SPACES.
01 MONTH-CTR PIC 99 VALUE 0.
01 INTEREST PIC 99V99 VALUE 0.
01 TOT-PAYMENT PIC 9(6)V99 VALUE 0.
01 UNPAID-BAL PIC 9(6)V99 VALUE 0.
01 E-O-F PIC X(3) VALUE "NO".
PROCEDURE DIVISION.
OPEN INPUT CLIENTIN-FILE
OUTPUT CLIENTOUT-FILE.
READ CLIENTIN-FILE AT END MOVE "YES" TO E-O-F.
PERFORM MOVE-RTN UNTIL E-O-F = "YES".
PERFORM CLOSE-RTN.
MOVE-RTN.
MOVE CLIENT-NAME TO CLIENT-NAME-OUT.
MOVE NUMBER-STREET TO NUMBER-STREET-OUT.
MOVE CITY-ZIP TO CITY-ZIP-OUT.
MOVE TOT-PAYMENT TO TOT-PAYMENT-OUT.
MOVE AMOUNT TO AMOUNT-OUT.
MOVE AMOUNT TO UNPAID-BAL.
PERFORM WRITE-RTN UNTIL E-O-F = "YES".

WRITE-RTN.
WRITE CLIENT-REC FROM 1ST-HDG AFTER 1 LINE.
WRITE CLIENT-REC FROM 2ND-HDG AFTER 1 LINE.
WRITE CLIENT-REC FROM CLIENT-NAME-PRINT AFTER 2 LINE.

WRITE
WRITE
WRITE
WRITE
WRITE

CLIENT-REC FROM NUMBER-STREET-PRINT AFTER 1 LINE.


CLIENT-REC FROM CITY-ZIP-PRINT AFTER 1 LINE.
CLIENT-REC FROM 3RD-HDG AFTER 2 LINE.
CLIENT-REC FROM AMOUNT-PRINT AFTER 1 LINE.
CLIENT-REC FROM 4TH-HDG AFTER 2 LINE.
WRITE CLIENT-REC FROM HDG-SPACE AFTER 1 LINE.
PERFORM COMPUTE-RTN UNTIL E-O-F = "YES".
COMPUTE-RTN.
COMPUTE INTEREST ROUNDED = (0.015 * UNPAID-BAL).
COMPUTE TOT-PAYMENT ROUNDED = (UNPAID-BAL / MONTHLY)
+ INTEREST.
COMPUTE UNPAID-BAL ROUNDED = (UNPAID-BAL - TOT-PAYMENT)
+ INTEREST.
COMPUTE MONTHLY = (MONTHLY - 1).
COMPUTE MONTH-CTR = (MONTH-CTR + 1).
MOVE MONTH-CTR TO MONTH-CTR-OUT.
MOVE INTEREST TO INTEREST-OUT.
MOVE TOT-PAYMENT TO TOT-PAYMENT-OUT.
MOVE UNPAID-BAL TO UNPAID-BAL-OUT.
WRITE CLIENT-REC FROM DATA-PRINT AFTER 1 LINE.
PERFORM COMPUTE-RTN UNTIL MONTH-CTR EQUAL TO 12.
MOVE SPACES TO DATA-PRINT.
WRITE CLIENT-REC FROM DATA-PRINT AFTER 1 LINE.
MOVE 00 TO MONTH-CTR.
READ CLIENTIN-FILE AT END MOVE "YES" TO E-O-F.
PERFORM MOVE-RTN THROUGH COMPUTE-RTN.
CLOSE-RTN.
CLOSE CLIENTIN-FILE, CLIENTOUT-FILE.
STOP RUN.

Vous aimerez peut-être aussi