IDENTIFICATION DIVISION.
PROGRAM-ID. PROG03.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-PC.
OBJECT-COMPUTER. IBM-PC.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT IN-FILE ASSIGN TO "INPUT.TXT"
ORGANIZATION IS LINE SEQUENTIAL.
SELECT OUT-FILE ASSIGN TO "OUT3.TXT"
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD IN-FILE.
01 IN-RECORD PIC X(80).
FD OUT-FILE.
01 OUT-RECORD PIC X(100).
WORKING-STORAGE SECTION.
01 WS-IN-FILE.
05 WS-IN-NAME PIC X(20).
05 WS-IN-POSITION PIC X(05).
05 WS-IN-START-DATE.
10 WS-IN-START-MONTH PIC X(02).
10 WS-IN-START-DAY PIC X(02).
10 WS-IN-START-YEAR PIC X(04).
05 WS-IN-ADDRESS PIC X(20).
05 WS-IN-CITY PIC X(12).
05 WS-IN-STATE PIC X(02).
05 FILLER PIC X(13).
01 WS-OUT-FILE.
05 WS-OUT-NAME PIC X(20).
05 WS-OUT-START-DATE.
10 WS-OUT-START-MONTH PIC X(02).
10 FILLER PIC X(01) VALUE '/'.
10 WS-OUT-START-DAY PIC X(02).
10 FILLER PIC X(01) VALUE '/'.
10 WS-OUT-START-YEAR PIC X(04).
05 WS-OUT-POSITION PIC X(05).
05 WS-OUT-ADDRESS PIC X(20).
05 WS-OUT-CITY PIC X(12).
05 WS-OUT-STATE PIC X(02).
05 WS-OUT-HR-SALARY PIC 9(02)V99 VALUE 0.
05 FILLER PIC X(01).
05 WS-OUT-WK-SALARY PIC 9(03)V99 VALUE 0.
05 FILLER PIC X(01).
05 WS-OUT-MTH-SALARY PIC 9(04)V99 VALUE 0.
05 FILLER PIC X(01).
05 WS-OUT-ANN-SALARY PIC 9(06)V99 VALUE 0.
05 FILLER PIC X(05).
01 WS-IN-CTR PIC 9(03) VALUE 0.
01 WS-OUT-CTR PIC 9(03) VALUE 0.
01 WS-INSTR-CTR PIC 9(03) VALUE 0.
01 WS-STUDE-CTR PIC 9(03) VALUE 0.
01 WS-DEAN-CTR PIC 9(03) VALUE 0.
01 WS-CLERI-CTR PIC 9(03) VALUE 0.
PROCEDURE DIVISION.
OPEN INPUT IN-FILE
OUTPUT OUT-FILE.
READ IN-FILE
INTO WS-IN-FILE.
ADD 1 TO WS-IN-CTR.
MOVE WS-IN-NAME TO WS-OUT-NAME.
MOVE WS-IN-POSITION TO WS-OUT-POSITION.
MOVE WS-IN-START-MONTH TO WS-OUT-START-MONTH.
MOVE WS-IN-START-DAY TO WS-OUT-START-DAY.
MOVE WS-IN-START-YEAR TO WS-OUT-START-YEAR.
MOVE WS-IN-ADDRESS TO WS-OUT-ADDRESS.
MOVE WS-IN-CITY TO WS-OUT-CITY.
MOVE WS-IN-STATE TO WS-OUT-STATE.
EVALUATE WS-OUT-POSITION
WHEN 'Instr'
MOVE 5.50 TO WS-OUT-HR-SALARY
WHEN 'Dean '
MOVE 7.25 TO WS-OUT-HR-SALARY
WHEN 'Stude'
MOVE 1 TO WS-OUT-HR-SALARY
WHEN 'Cleri'
MOVE 3.75 TO WS-OUT-HR-SALARY
WHEN OTHER
MOVE 0 TO WS-OUT-HR-SALARY
END-EVALUATE
MULTIPLY WS-OUT-HR-SALARY BY 40 GIVING WS-OUT-WK-SALARY.
MULTIPLY WS-OUT-WK-SALARY BY 4 GIVING WS-OUT-MTH-SALARY.
COMPUTE WS-OUT-ANN-SALARY =
WS-OUT-MTH-SALARY * 12.
IF WS-OUT-POSITION = 'Instr'
ADD 1 TO WS-INSTR-CTR
ELSE
IF WS-OUT-POSITION = 'Dean '
ADD 1 TO WS-DEAN-CTR
ELSE
IF WS-OUT-POSITION = 'Stude'
ADD 1 TO WS-STUDE-CTR
ELSE
IF WS-OUT-POSITION = 'Cleri'
ADD 1 TO WS-CLERI-CTR
END-IF
END-IF
END-IF
END-IF.
WRITE OUT-RECORD
FROM WS-OUT-FILE.
ADD 1 TO WS-OUT-CTR.
DISPLAY "INPUT RECORDS " WS-IN-CTR.
DISPLAY "OUT RECORDS " WS-OUT-CTR.
DISPLAY "INSRUCTORS " WS-INSTR-CTR.
DISPLAY "DEANS " WS-DEAN-CTR.
DISPLAY "STUDENTS " WS-STUDE-CTR.
DISPLAY "CLERICAL " WS-CLERI-CTR.
CLOSE IN-FILE
OUT-FILE.
GOBACK.