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.
- 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.txtfile format
- 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
src/ # C++ source files README.md .gitignore best in town.sln # Visual Studio solution file best in town.vcxproj
- Open
best in town.sln - Build and Run
From the project root:
g++ -std=c++17 src/*.cpp -o app
./app