Skip to content

Educational console-based ATM simulation built in C++, implementing user authentication, withdrawals, deposits, balance validation, and file-based persistence.

License

Notifications You must be signed in to change notification settings

Omar070/ATM-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ATM System โ€“ Console Application (C++)

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.


๐Ÿ”น Features

Authentication

  • Login using account number and PIN
  • Validation against stored client data

ATM Operations

  • Quick Withdraw (fixed predefined amounts)
  • Normal Withdraw (custom amount, multiples of 5)
  • Deposit
  • Balance inquiry
  • Logout functionality

๐Ÿ”น ATM Rules Implemented

  • 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

๐Ÿ”น Data Storage

  • Client data is stored in a text file:
    • Clients.txt
  • File-based storage was used intentionally for simplicity and learning purposes.

๐Ÿ”น Project Scope & Notes

  • 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.

About

Educational console-based ATM simulation built in C++, implementing user authentication, withdrawals, deposits, balance validation, and file-based persistence.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages