A console-based ATM Simulator built in C, designed to replicate essential banking operations such as secure PIN verification, withdrawals, deposits, balance enquiry, PIN change, and basic transaction history.
The project demonstrates how an ATM operates at a logical level using structured programming in C.
🔹 Secure 4-digit PIN authentication
🔹 Modular code structure
🔹 Console-based UI
🔹 Basic transaction logging
🔹 Clean and simple workflow
✔️ 4-digit PIN authentication
✔️ Masked PIN input (****)
✔️ Withdraw (with balance validation)
✔️ Deposit
✔️ Balance enquiry
✔️ Transaction summary
✔️ Change PIN
✔️ Exit session safely
- 🧾 User Data Handling: struct-based account storage
- 🔐 Authentication Module: masked PIN + validation
- 💸 Transaction Processing: withdraw/deposit logic
- 📋 Menu Handling: clean switch-case based flow
- 🔑 PIN Management: secure PIN update
- 🔹 C Programming
- 🔹 GCC Compiler
- 🔹 Code::Blocks / VS Code
- 📌 Structures (
struct) - 📌 Functions (modular approach)
- 📌 Loops & condition checks
- 📌 Input handling
- 📌 Optional:
<conio.h>,<time.h>,<windows.h>
=== Smart ATM Simulator === Insert Card... Enter 4-digit PIN: **** Login successful.
- Withdraw
- Deposit
- Balance Enquiry
- Transaction Summary
- Change PIN
- Exit
Recent Transactions:
- Withdraw: Rs. 400.00
- Deposit: Rs. 100.00
- Withdraw: Rs. 300.00
Enter amount to deposit: 500 Amount deposited successfully.
Your current balance is: Rs. 3040.00
Enter old PIN: **** Enter new PIN: **** PIN changed successfully.
smart-atm-simulator-c/
│
├── src/
│ └── main.c
│
├── docs/
│ ├── ATM_Project_Presentation.pptx
│ └── ATM_Report.pdf
│
├── demo/
│ ├── ATM_Simulation.mp4
│ └── ATM_Output.mp4
│
└── README.md
---