Skip to content

mos8afa/Simple-bank-system-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Simple Bank System (C++ / OOP) πŸ¦πŸ’»

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.


Features ✨

Client Management πŸ‘€

  • Add new clients
  • Update client info
  • Delete clients
  • Find/search clients
  • List clients
  • View total balances

Transactions πŸ’³

  • Deposit
  • Withdraw
  • Transfer between clients
  • Transfer log / history

User Management πŸ”

  • Login screen
  • Login register (logging login activity)
  • Add / update / delete / find users
  • List users
  • Manage users menu

Currency Exchange πŸ’±

  • Currency list
  • Find currency
  • Currency calculator
  • Update currency rate

Project Structure 🧩

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 .txt files 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)

Data Storage πŸ“

This system uses plain text files for storage/logging:

  • Clients.txt β†’ client records
  • Users.txt β†’ system users
  • Currencies.txt β†’ currency rates/info
  • TransfersLog.txt β†’ transfer history
  • LoginRegister.txt β†’ login activity log

How to Run ▢️

Option A β€” Visual Studio (recommended on Windows) πŸͺŸ

  1. Open the .vcxproj project file in Visual Studio.
  2. Build in Debug or Release.
  3. Run the project.

Option B β€” Any C++ compiler βš™οΈ

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.


Future Improvements πŸš€

  • 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

License πŸ“œ

Educational/portfolio project.

About

Console-based Bank Management System built in C++ (OOP) with modular screens for clients, transactions, user management, and currency exchange β€” using TXT files for persistence and logs. πŸ¦πŸ’»

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages