ATM Simulation Project

Mimic ATM operations (deposit, withdraw, check balance, exit).

PERFORM loops, IF-ELSE, arithmetic.

       IDENTIFICATION DIVISION.
   PROGRAM-ID. ATM.
   DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 BALANCE     PIC 9(6)V99 VALUE 5000.00.
   01 AMOUNT      PIC 9(6)V99.
   01 CHOICE      PIC 9.
   01 EXIT-FLAG   PIC X VALUE "N".
   PROCEDURE DIVISION.
   MAIN-PARA.
       PERFORM UNTIL EXIT-FLAG = "Y"
           DISPLAY "1. CHECK BALANCE"
           DISPLAY "2. DEPOSIT"
           DISPLAY "3. WITHDRAW"
           DISPLAY "4. EXIT"
           ACCEPT CHOICE
           EVALUATE CHOICE
               WHEN 1 DISPLAY "BALANCE: " BALANCE
               WHEN 2
                    DISPLAY "ENTER DEPOSIT: " ACCEPT AMOUNT
                    ADD AMOUNT TO BALANCE
                    DISPLAY "UPDATED BALANCE: " BALANCE
               WHEN 3
                    DISPLAY "ENTER WITHDRAWAL: " ACCEPT AMOUNT
                    IF AMOUNT > BALANCE
                        DISPLAY "INSUFFICIENT FUNDS"
                    ELSE
                        SUBTRACT AMOUNT FROM BALANCE
                        DISPLAY "UPDATED BALANCE: " BALANCE
                    END-IF
               WHEN 4 MOVE "Y" TO EXIT-FLAG
               WHEN OTHER DISPLAY "INVALID CHOICE"
           END-EVALUATE
       END-PERFORM.
       STOP RUN.

Explanation:

  • PERFORM UNTIL → creates a menu-driven system.
  • EVALUATE → works like switch-case in modern languages.
  • Handles deposits, withdrawals, exit.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *