📄 program6.cbl
字号:
IDENTIFICATION DIVISION.
PROGRAM-ID. SORT-PROG.
AUTHOR. TEIIKU.
*
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT IN-FILE ASSIGN TO S-SYSIN.
SELECT OUT-FILE ASSIGN TO S-SYSOUT.
SELECT SORT-WORK-FILE ASSIGN TO S-SORT.
*
DATA DIVISION.
FILE SECTION.
SD SORT-WORK-FILE
RECORD CONTAINS 80 CHARACTERS
DATA RECORD IS SORT-RECORD.
01 SORT-RECORD.
05 EMP-CODE PIC 9(4).
05 FILLER PIC X(4) VALUE SPACES.
05 EMP-NAME PIC X(17).
05 FILLER PIC XXX VALUE SPACES.
05 EMP-ADDR PIC X(12).
05 FILLER PIC X(4) VALUE SPACES.
05 ADDR-CODE PIC 9(6).
05 FILLER PIC X(4) VALUE SPACES.
05 EMP-STATE PIC X.
05 FILLER PIC X(25) VALUE SPACES.
*
FD IN-FILE.
01 INPUT-RECORD.
05 EMP-CODE PIC 9(4).
05 FILLER PIC X(4) VALUE SPACES.
05 EMP-NAME PIC X(17).
05 FILLER PIC XXX VALUE SPACES.
05 EMP-ADDR PIC X(12).
05 FILLER PIC X(4) VALUE SPACES.
05 ADDR-CODE PIC 9(6).
05 FILLER PIC X(4) VALUE SPACES.
05 EMP-STATE PIC X.
05 FILLER PIC X(25) VALUE SPACES.
*
FD OUT-FILE.
01 OUTPUT-RECORD.
05 EMP-CODE PIC 9(4).
05 FILLER PIC X(4) VALUE SPACES.
05 EMP-NAME PIC X(17).
05 FILLER PIC XXX VALUE SPACES.
05 EMP-ADDR PIC X(12).
05 FILLER PIC X(4) VALUE SPACES.
05 ADDR-CODE PIC 9(6).
05 FILLER PIC X(4) VALUE SPACES.
05 EMP-STATE PIC X.
05 FILLER PIC X(25) VALUE SPACES.
WORKING-STORAGE SECTION.
01 END-OF-RECORDS PIC X VALUE 'N'.
*
PROCEDURE DIVISION.
SORT SORT-WORK-FILE ON ASCENDING KEY EMP-NAME OF SORT-RECORD
EMP-CODE OF SORT-RECORD
INPUT PROCEDURE IS IN-PROC-1 THRU IN-PROC-EXIT
OUTPUT PROCEDURE IS OUT-PROC-1 THRU OUT-PROC-EXIT
STOP RUN.
*
IN-PROC-1.
OPEN INPUT IN-FILE.
IN-PROC-2.
READ IN-FILE
AT END GO TO IN-PROC-EXIT
END-READ.
IF EMP-STATE OF INPUT-RECORD = 'N'
GO TO IN-PROC-2
END-IF.
RELEASE SORT-RECORD FROM INPUT-RECORD.
GO TO IN-PROC-2.
IN-PROC-EXIT.
CLOSE IN-FILE.
*
OUT-PROC-1.
OPEN OUTPUT OUT-FILE.
OUT-PROC-2.
RETURN SORT-WORK-FILE
AT END
MOVE 'Y' TO END-OF-RECORDS.
PERFORM
UNTIL END-OF-RECORDS = 'Y'
WRITE OUTPUT-RECORD FROM SORT-RECORD
MOVE FUNCTION LOWER-CASE(EMP-NAME OF SORT-RECORD) TO
EMP-NAME OF OUTPUT-RECORD
RETURN SORT-WORK-FILE
AT END
MOVE 'Y' TO END-OF-RECORDS
END-PERFORM.
OUT-PROC-EXIT.
CLOSE OUT-FILE.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -