An educational console-based ATM simulation built early in my C++ learning journey.
This project focuses on implementing real ATM logic, user interaction, and basic file-based data persistence.
- Login using account number and PIN
- Validation against stored client data
- Quick Withdraw (fixed predefined amounts)
- Normal Withdraw (custom amount, multiples of 5)
- Deposit
- Balance inquiry
- Logout functionality
- Withdraw amount must not exceed account balance
- Withdraw amount must be a multiple of 5
- Quick withdraw options simulate real ATM presets
- Confirmation required before performing transactions
- Client data is stored in a text file:
Clients.txt
- File-based storage was used intentionally for simplicity and learning purposes.
- This is an educational project, not a production-ready system.
- Built to practice:
- Functions and structures
- File handling
- Menu-driven programs
- Input validation
- State management in console applications
- Design choices prioritize clarity and learning over scalability or security.