A console-based Bank Management System built with C++ using Object-Oriented Programming (OOP) and a simple βscreensβ architecture (menu screens, transaction screens, user management screens, etc.). β
This project is designed as a learning-focused system that demonstrates:
- Clean separation between models (Client/User/Currency)
- UI screens (menus & workflows)
- File-based persistence (TXT files)
Full project explanation, details, and walkthrough are organized inside the repository files.
- Add new clients
- Update client info
- Delete clients
- Find/search clients
- List clients
- View total balances
- Deposit
- Withdraw
- Transfer between clients
- Transfer log / history
- Login screen
- Login register (logging login activity)
- Add / update / delete / find users
- List users
- Manage users menu
- Currency list
- Find currency
- Currency calculator
- Update currency rate
The repository is organized around:
- Core entities (models): client, user, currency
- Screens: each feature is presented through a dedicated βscreenβ class
- Data files: stored as
.txtfiles for simplicity
Common important files:
BankSystem.cpp(entry point)clsBankClient.h,clsUser.h,clsCurrency.h(core models)clsMainScreen.h+ multiple screen headers (feature UI)Clients.txt,Users.txt,Currencies.txt,TransfersLog.txt,LoginRegister.txt(data/log files)
This system uses plain text files for storage/logging:
Clients.txtβ client recordsUsers.txtβ system usersCurrencies.txtβ currency rates/infoTransfersLog.txtβ transfer historyLoginRegister.txtβ login activity log
- Open the
.vcxprojproject file in Visual Studio. - Build in
DebugorRelease. - Run the project.
If you prefer CLI compilers (g++/clang++), compile the project entry + required headers in your environment.
Note: This repo is structured as a Visual Studio project, so Option A is the easiest.
- Replace TXT persistence with a database (SQLite, PostgreSQL, etc.)
- Add input validation + better error messages
- Add role-based permissions (Admin/Employee)
- Export logs to CSV/JSON
Educational/portfolio project.