Spaces:
Sleeping
Sleeping
Update cobol/account.cbl
Browse files- cobol/account.cbl +22 -11
cobol/account.cbl
CHANGED
@@ -1,16 +1,17 @@
|
|
1 |
IDENTIFICATION DIVISION.
|
2 |
PROGRAM-ID. ACCOUNT-MGMT.
|
3 |
-
DATA DIVISION.
|
4 |
-
WORKING-STORAGE SECTION.
|
5 |
-
01 ACCOUNT-NUMBER PIC 9(4).
|
6 |
-
01 CUSTOMER-NAME PIC X(20).
|
7 |
-
01 BALANCE PIC 9(6)V99.
|
8 |
-
01 EOF PIC X VALUE 'N'.
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
FILE SECTION.
|
11 |
FD ACCOUNT-FILE
|
12 |
-
|
13 |
-
|
14 |
01 ACCOUNT-RECORD.
|
15 |
02 ACCT-NUM PIC 9(4).
|
16 |
02 FILLER PIC X(4).
|
@@ -18,20 +19,30 @@
|
|
18 |
02 FILLER PIC X(6).
|
19 |
02 AMOUNT PIC 9(6)V99.
|
20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
PROCEDURE DIVISION.
|
22 |
MAIN-LOGIC.
|
23 |
OPEN INPUT ACCOUNT-FILE
|
|
|
24 |
ACCEPT ACCOUNT-NUMBER
|
|
|
25 |
PERFORM UNTIL EOF = 'Y'
|
26 |
READ ACCOUNT-FILE INTO ACCOUNT-RECORD
|
27 |
AT END MOVE 'Y' TO EOF
|
28 |
NOT AT END
|
29 |
IF ACCT-NUM = ACCOUNT-NUMBER
|
30 |
-
|
31 |
-
|
32 |
-
DISPLAY "
|
|
|
33 |
END-IF
|
34 |
END-READ
|
35 |
END-PERFORM
|
|
|
36 |
CLOSE ACCOUNT-FILE
|
37 |
STOP RUN.
|
|
|
1 |
IDENTIFICATION DIVISION.
|
2 |
PROGRAM-ID. ACCOUNT-MGMT.
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
4 |
+
ENVIRONMENT DIVISION.
|
5 |
+
INPUT-OUTPUT SECTION.
|
6 |
+
FILE-CONTROL.
|
7 |
+
SELECT ACCOUNT-FILE ASSIGN TO "data/accounts.dat"
|
8 |
+
ORGANIZATION IS LINE SEQUENTIAL.
|
9 |
+
|
10 |
+
DATA DIVISION.
|
11 |
FILE SECTION.
|
12 |
FD ACCOUNT-FILE
|
13 |
+
RECORDING MODE F
|
14 |
+
LABEL RECORDS ARE STANDARD.
|
15 |
01 ACCOUNT-RECORD.
|
16 |
02 ACCT-NUM PIC 9(4).
|
17 |
02 FILLER PIC X(4).
|
|
|
19 |
02 FILLER PIC X(6).
|
20 |
02 AMOUNT PIC 9(6)V99.
|
21 |
|
22 |
+
WORKING-STORAGE SECTION.
|
23 |
+
01 EOF PIC X VALUE 'N'.
|
24 |
+
01 ACCOUNT-NUMBER PIC 9(4).
|
25 |
+
01 CUSTOMER-NAME PIC X(20) VALUE SPACES.
|
26 |
+
01 BALANCE PIC 9(6)V99 VALUE ZERO.
|
27 |
+
|
28 |
PROCEDURE DIVISION.
|
29 |
MAIN-LOGIC.
|
30 |
OPEN INPUT ACCOUNT-FILE
|
31 |
+
DISPLAY "Enter Account Number:"
|
32 |
ACCEPT ACCOUNT-NUMBER
|
33 |
+
|
34 |
PERFORM UNTIL EOF = 'Y'
|
35 |
READ ACCOUNT-FILE INTO ACCOUNT-RECORD
|
36 |
AT END MOVE 'Y' TO EOF
|
37 |
NOT AT END
|
38 |
IF ACCT-NUM = ACCOUNT-NUMBER
|
39 |
+
MOVE NAME TO CUSTOMER-NAME
|
40 |
+
MOVE AMOUNT TO BALANCE
|
41 |
+
DISPLAY "Customer: ", CUSTOMER-NAME
|
42 |
+
DISPLAY "Balance: $", BALANCE
|
43 |
END-IF
|
44 |
END-READ
|
45 |
END-PERFORM
|
46 |
+
|
47 |
CLOSE ACCOUNT-FILE
|
48 |
STOP RUN.
|