A console-based banking system built using C++ that simulates core banking operations such as managing clients, users, transactions, and currency conversions.
This project demonstrates a full banking system using Object-Oriented Programming (OOP) concepts and file-based data storage.
The system allows managing clients, handling financial transactions, controlling user permissions, and logging system activities.
You can use the following credentials to access the system:
- Username:
User1 - Password:
Z
The project is designed using a layered-like structure:
-
Core Classes
ClsPerson→ Base class for shared user/client dataClsBankClient→ Handles client accounts and transactionsClsBankUsers→ Manages system users and permissionsClsCurrency→ Handles currency exchange operations
-
Supporting Utilities
- String handling
- Date/time utilities
- Basic encryption/decryption
- Add new clients
- Update client information
- Delete clients
- Find clients by account number
- Deposit
- Withdraw
- Transfer between accounts
- Transfer logging
- Login system
- User permissions (bitwise-based)
- User management
- Login register logs
- Transfers history
- Find currency by code or country
- Convert between currencies
- C++
- Object-Oriented Programming (OOP)
- File Handling (fstream)
- STL (vector, string)
- Encapsulation
- Inheritance
- Static methods
- File-based database design
- Bitwise operations (permissions system)
- Basic encryption techniques
- Open the project in Visual Studio
- Build the project
- Run the application
The system uses text files as a simple database:
Client.txtUsers.txtTransfersLog.txtRegisterLogins.txtCurrencies.txt
- This project uses file-based storage instead of a database.
- Encryption used is for demonstration purposes only (not secure for production).
Sherif Osama