A
Micro Project Report On
          ATM SIMULATION SYSTEM
         In partial fulfillment of Diploma In Computer Engineering
                             (5th Semester)
                           In the subject of:-
                           Submitted by:-
                      1) Adityaraj N Deshmukh
                            Submitted to:-
Maharashtra State Board of Technical Education, Mumbai (M.S.B.T.E.)
                         Under the guidance of:-
                           Prof. S.H.Ingle
                Lecturer in Advanced Java Programming
                 Department of Computer Engineering
    P.D. Patil Polytechnic, Talegaon - (S.P), Dist.-
                         Wardha (2024-2024)
 This is to certify that students whose names mentioned below of Fifth
Semester Diploma in Computer Engineering has satisfactorily completed
                        the MICRO PROJECT entitled,
              ATM SIMULATION SYSTEM
   In Advanced Java Programming for the academic year 2024-2025 as
                             prescribed in MSBTE curriculum.
 Sr.No. Name of Students                        Enrollment Numbers
    1               Adityaraj N Deshmukh              2211960291
Prof. S.H.Ingle                             Prof. N.G.Gawande
(Subject Teacher)                          (Head of Department)
 Place:-
 Talegoan Date:
 -
                     Declaration
     We under signed hereby declare that the Micro Project report
     entitled
                    ATM SIMULATION SYSTEM
   We further declare that contents of this report are properly cited
   and we’ve acknowledged. This present report is not submitted to
  any other examination of this or any other institution for the award
                            of any diploma.
Place:- Talegaon
       Sr.No. Name of Students                Signature
          1        Adityaraj N Deshmukh
                    ABSTRACT
The ATM System is the project which is used to
access their bank accounts in order to make cash
withdrawals. Whenever the user need to make
cash withdraws, they can enter their PIN number
(personal identification number) and it will display
the amount to be withdrawn in the form of 50's,
100's and 500's. Once their withdrawn was
successful, the amount will be debited in their
account.
The ATM System is developed in VB.Net and back
-end database as Ms-Access. VB.Net is the one of
the powerful version of Framework and object
oriented programming. Hence we use this
software in our project.
The ATM will service one customer at a time. A
customer will be required to enter ATM Card
number, personal identification number (PIN) -
both of which will be sent to the database for
validation as part of each transaction. The
customer will then be able to perform one or
more transactions. Also customer must be able to
make a balance inquiry of any account linked to
the card.
The ATM will communicate each transaction to
the database and obtain verification that it was
allowed by the database. In the case of a cash
withdrawal, a second message will be sent after
the transaction has been physically completed
(cash dispensed or envelope accepted). If the
database determines that the customer's PIN is
invalid, the customer will be required to re-enter
the PIN before a transaction can proceed.
If a transaction fails for any reason other than an
invalid PIN, the ATM will display an explanation of
the problem, and will then ask the customer
whether he/she wants to do another transaction.
The ATM will provide the customer with a printed
receipt for each successful transaction, showing
the date, time, machine location, type of
transaction, account(s), amount, and ending and
available balance(s) of the affected account ("to"
account for transfers).
Introduction:
Automated Teller Machine enables the clients of a
bank to have access to their account. without
going to the bank. This is achieved only by
development the application using online
concepts.
When the product is implemented, the user who
uses this product will be able to see all the
information and services provided by the ATM,
when he enters the necessary option and
arguments. The product also provides services
like request for cheques, deposit cash and other
advanced requirement of the user. The data is
stored in the database and is retrieved whenever
necessary. The implementation needs ATM
machine hardware to operate or similar simulated
conditions can also be used to successfully use
the developed product.
To develop this ATM system the entire operation
has been divided into the following
step:
1. verification process
2. language, service and account selection
3. Banking services
4. Transactions
5. Special services
The program is designed in such a way that the
user has to card and pin number. Once verified,
he is provided a menu and he/she had to enter
the option provided in the menu. For example,
when the user wants to view the list of payment
history than he/she had to enter the option for
payment history provided in the main menu.
When the option is entered alone with the
respective argument, then the payment history is
displayed on the screen.
The user also must be given option to browse
through the pages like previous page, next page,
etc. The user may experience a delay in retrieving
or viewing the data, when there are many users
logged on to the same bank branch system.
Source code
import java.util.Scanner;
public class ATM {
  public static void main(String args[]) {
     // declare and initialize balance, withdraw,
and deposit
     int balance = 5000, withdraw, deposit;
     // create scanner class object to get choice of
user
     Scanner sc = new Scanner(System.in);
     while (true) {
        System.out.println("**Automated       Teller
Machine**");
        System.out.println("1. Withdraw");
        System.out.println("2. Deposit");
        System.out.println("3. Check Balance");
        System.out.println("4. EXIT");
        System.out.print("Choose the operation
you want to perform:");
      // get choice from user
      int choice = sc.nextInt();
      switch (choice) {
         case 1:
           System.out.print("Enter money to be
withdrawn:");
            // get the withdrawl money from user
             withdraw = sc.nextInt();
           // check whether the balance is
greater than or equal to the withdrawal amount
           if (balance >= withdraw) {
               // remove the withdrawl amount
from the total balance
               balance = balance - withdraw;
               System.out.println("Please collect
your money");
           } else {
               // show custom error message
               System.out.println("Insufficient
Balance");
           }
           System.out.println("");
           break;
           case 2:
           System.out.print("Enter money to be
deposited:");
             // get deposite amount from te user
             deposit = sc.nextInt();
             // add the deposit amount to the total
balanace
          balance = balance + deposit;
          System.out.println("Your Money has
been successfully depsited");
                  System.out.println("");
                  break;
                case 3:
                  // displaying the total balance of the
user
                  System.out.println("Balance    :   "    +
balance);
                  System.out.println("");
                  break;
                case 4:
                  // exit from the menu
                  System.exit(0);
                default:
                  //default statement
                  System.out.println("Invalid Choice");
            }
        }
    }
}
Output :
D:\>java ATM
**Automated Teller Machine**
1. Withdraw
2. Deposit
3. Check Balance
4. EXIT
Choose the operation you want to perform:1
Enter money to be withdrawn: 470
Please collect your money
**Automated Teller Machine**
1. Withdraw
2. Deposit
3. Check Balance
4. EXIT
Choose the operation you want to perform: 2
Enter money to be deposited: 600 Your Money
has been successfully deposited
**Automated Teller Machine**
1. Withdraw
2. Deposit
3. Check Balance
4. EXIT
Choose the operation you want to perform: 3
Balance: 5130
**Automated Teller Machine**
1. Withdraw
2. Deposit
3. Check Balance
4. EXIT
Choose the operation you want to perform:4
D:\>
Conclusion
The ATM Simulation System developed in this
project successfully demonstrates the essential
features and functionalities of an Automated
Teller Machine. By simulating basic operations
such as balance inquiry, cash withdrawal, fund
transfer, and deposit, this system provides a
realistic experience for understanding how ATMs
function.
Through this project, we gained valuable insights
into software development practices, user
interface design, and system security
considerations critical to banking applications.
Implementing features like PIN verification and
account balance updates underscored the
importance of secure and accurate transaction
handling in real-world ATM systems.
References
  1. Silberschatz, A., Korth, H. F., & Sudarshan, ,s-
     Database System Concepts. Essential for
     understanding secure data handling for
     account information.
2. Deitel, P., & Deitel, H. M. - Java How to Program.
Provided foundational knowledge of object-
oriented programming for structuring the
simulation.
3. Java API Documentation - Official resource for
implementing features like PIN verification and
user      input      handling.    Available    at
https://docs.oracle.com.he simulation
.