Skip to content

CharbelMerheb/data-structures-banking-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Banking System using Linked Lists (C++)

A Data Structures university project implemented in C++ that simulates a mini banking system.

The system manages Users → Accounts → Transactions using custom linked lists and demonstrates algorithmic operations such as sorting and node deletion.


🚀 Features

  • Store multiple users
  • Each user can own multiple bank accounts
  • Each account maintains a linked list of transactions
  • Transfer money between two accounts:
    • Checks account balance
    • Checks monthly withdraw limit (sender)
    • Checks daily deposit limit (receiver)
    • Supports currency conversion (fixed rate implemented in code)
  • Sort transactions by date using Merge Sort on a linked list
  • Delete transactions before a given date
  • Load and save all data using a structured users.txt file format

🧠 Data Structures & Concepts Used

  • Doubly linked list for Users (head/tail + previous/next)
  • Singly linked list for Accounts
  • Singly linked list for Transactions
  • Merge Sort for linked list (split using slow/fast pointers + merge)
  • File parsing and serialization with a structured text format
  • Dynamic memory management using pointers

📂 Project Structure

src/ # C++ source files README.md .gitignore best in town.sln # Visual Studio solution file best in town.vcxproj


⚙️ How to Run

Option 1 — Visual Studio (Recommended)

  1. Open best in town.sln
  2. Build and Run

Option 2 — g++ (Command Line)

From the project root:

g++ -std=c++17 src/*.cpp -o app
./app

About

Data Structures project in C++ implementing a mini banking system using custom linked lists, merge sort on transactions, file serialization, and limit-validated account transfers.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages