Developer: Ruhan Ahsan Sarnav
Department: Computer Science and Engineering (CSE)
Institution: Khulna University of Engineering and Technology (KUET)
This is a console-based ATM Management System implemented in C++ using Object-Oriented Programming (OOP).
It simulates real-world ATM functionalities including deposits, withdrawals, fund transfers, and account details display.
The project demonstrates core OOP concepts such as classes, objects, encapsulation, constructors, and friend functions.
- 💰 Deposit: Add money to an account.
- 🏦 Withdraw: Withdraw money with balance validation.
- 🔄 Transfer Money: Transfer funds between two accounts.
- 📄 User Details: Display account information for all users.
- 📊 Transaction Tracking: Track transactions using a class-based design.
- Classes and Objects
- Encapsulation & Data Hiding
- Friend Functions and Friend Classes
- Constructor Initialization
- Composition (ATM contains Bank and Account objects)
- Menu-driven Program Flow
- Transaction – Stores transaction details (ID, type, amount).
- Bank – Manages bank-level balance and withdrawals.
- Account – Stores account number, holder name, and balance.
- ATM – Integrates all components and provides a user interface.
- Open the project in a C++ compiler (e.g., Code::Blocks, Dev-C++, VS Code).
- Compile the code:
g++ atm.cpp -o atm
./atm- Deposit
- Withdraw
- Transfer Money
- Display User Details
- Exit Choose an option: 1 Enter the amount to deposit: 5000 Deposit successful. Current balance: 5000