File size: 1,587 Bytes
94c017d
 
 
5866e22
 
 
 
 
 
 
94c017d
 
5866e22
 
94c017d
 
 
 
 
 
 
5866e22
 
 
 
 
 
94c017d
 
 
5866e22
94c017d
5866e22
94c017d
 
 
 
 
5866e22
 
 
 
94c017d
 
 
5866e22
94c017d
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
       IDENTIFICATION DIVISION.
       PROGRAM-ID. ACCOUNT-MGMT.

       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT ACCOUNT-FILE ASSIGN TO "data/accounts.dat"
               ORGANIZATION IS LINE SEQUENTIAL.

       DATA DIVISION.
       FILE SECTION.
       FD ACCOUNT-FILE
           RECORDING MODE F
           LABEL RECORDS ARE STANDARD.
       01 ACCOUNT-RECORD.
           02 ACCT-NUM          PIC 9(4).
           02 FILLER            PIC X(4).
           02 NAME              PIC X(20).
           02 FILLER            PIC X(6).
           02 AMOUNT            PIC 9(6)V99.

       WORKING-STORAGE SECTION.
       01 EOF                   PIC X VALUE 'N'.
       01 ACCOUNT-NUMBER        PIC 9(4).
       01 CUSTOMER-NAME         PIC X(20) VALUE SPACES.
       01 BALANCE               PIC 9(6)V99 VALUE ZERO.

       PROCEDURE DIVISION.
       MAIN-LOGIC.
           OPEN INPUT ACCOUNT-FILE
           DISPLAY "Enter Account Number:"
           ACCEPT ACCOUNT-NUMBER

           PERFORM UNTIL EOF = 'Y'
               READ ACCOUNT-FILE INTO ACCOUNT-RECORD
                   AT END MOVE 'Y' TO EOF
                   NOT AT END
                       IF ACCT-NUM = ACCOUNT-NUMBER
                           MOVE NAME TO CUSTOMER-NAME
                           MOVE AMOUNT TO BALANCE
                           DISPLAY "Customer: ", CUSTOMER-NAME
                           DISPLAY "Balance: $", BALANCE
                       END-IF
               END-READ
           END-PERFORM

           CLOSE ACCOUNT-FILE
           STOP RUN.