Skip to content

HaiderNeuralNet/ATM-MACHINE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🏧 ATM Machine

A fully functional ATM Machine simulation built in Python — console-based banking with PIN security, deposits, withdrawals, and transaction history.

Python File Handling Functions Conditionals Loops Exception Handling Variables Global Variables DateTime


📌 About The Project

A fully functional ATM Machine simulation built in Python. This console-based banking system allows users to:

  • Check balance
  • Deposit and withdraw cash
  • View full transaction history

All secured with a PIN authentication system. Data is persisted across sessions using local file storage.


✨ Features

Feature Description
🔐 PIN Security 4-digit PIN with 3 attempt lockout
💰 Check Balance View real-time account balance in PKR
📥 Deposit Cash Add funds, balance saved instantly
📤 Withdraw Cash Withdraw with insufficient-funds protection
📋 Transaction History Every action timestamped and saved
💾 Data Persistence Balance and history saved between sessions

🚀 How To Run

# Step 1 — Clone the repository
git clone https://github.com/HaiderNeuralNet/ATM-Machine.git

# Step 2 — Navigate to project folder
cd ATM-Machine

# Step 3 — Run the program
python atm.py

🔑 Default Credentials

PIN      : 8917
Balance  : 1000.00 PKR
Attempts : 3 tries before card blocks

📁 File Structure

📁 ATM-Machine/
 ├── 📄 atm.py          ← Main program file
 ├── 📄 balance.txt     ← Stores current balance (auto-created)
 ├── 📄 history.txt     ← Transaction logs (auto-created)
 └── 📄 README.md       ← This file

🐍 Python Topics Covered

# Topic Used For
01 Variables & Data Types Storing balance, PIN, attempt count
02 File Handling Read/write balance & transaction history
03 Exception Handling Handle missing files gracefully
04 Functions Modular ATM operations
05 Global Variables Share balance across functions
06 Loops PIN retry & main menu loop
07 Conditionals Menu routing & fund validation
08 Modules (DateTime) Timestamp all transactions

👨‍💻 Author

HaiderNeuralNet


Built with ❤️ using Python

About

A simple Python ATM machine that supports balance checking, deposits, withdrawals, and transaction history. Uses file handling to store balance and logs transactions with timestamps.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages