How baraaelgendy/bank_system_oop works
This is a console banking and currency-exchange application. An employee logs in, then uses the main menu to manage clients and users, process transactions, inspect login history, or work with currencies. Screens handle interaction and permissions; entity classes provide domain operations and file-based persistence. The README documents account lockout, encrypted passwords, and currency calculation, but their detailed wiring is not shown in the sampled source, so those links are limited to the documented subsystem paths.
Main entry points: clsMainMenuScreen.h Main menu · clsBankClient.h Client account · clsTransactionsMenu.h Transactions menu · clsLoginScreen.h Login screen
Components 31
Console interface
- Application entry
Bank_System_OOP.cpp - Main menu
clsMainMenuScreen.h
Access management
- Login screen
clsLoginScreen.h - User management
clsManageUsersMenu.h - User records
clsUser.h - User data
Users.txt - Login history
clsLoginRegisterScreen.h - Login log
LoginRegister.txt
Banking operations
- Client screens
clsListClients.h - Add client
clsAddNewClientScreen.h - Update client
clsUpdateClientScreen.h - Delete client
clsDeleteClient.h - Find client
clsFindClientScreen.h - Client account
clsBankClient.h - Client data
Clients.txt - Transactions menu
clsTransactionsMenu.h - Deposit screen
clsDepositScreen.h - Withdrawal screen
clsWithdrawScreen.h - Transfer screen
clsTransferScreen.h - Transfer history
clsTransferLogScreen.h - Transfer log
TransferLog.txt
Currency exchange
- Currency menu
clsCurruncyMainScreen.h - Currency calculator
clsCurrencyCalcScreen.h - Find currency
clsFindCurrency.h - Update rate
clsUpdateCurrencyRate.h - Currency records
clsCurrency.h - Currency data
Currencies.txt
Shared domain
- Input validation
clsInputValidate.h - Screen base
clsScreen.h - Person identity
clsPerson.h
Other components
- Employee
Connections 45
- Employee → Application entry: starts
- Application entry → Login screen: shows
- Login screen → User records: authenticates
- User records → User data: reads/writes
- Login screen → Main menu: opens on success
- Main menu → Client screens: dispatches
- Main menu → Add client: dispatches
- Main menu → Update client: dispatches
- Main menu → Delete client: dispatches
- Main menu → Find client: dispatches
- Main menu → Transactions menu: dispatches
- Main menu → User management: dispatches
- Main menu → Login history: dispatches
- Main menu → Currency menu: dispatches
- User management → User records: manages
- Login history → Login log: reads
- Client screens → Client account: lists
- Add client → Client account: creates
- Update client → Client account: updates
- Delete client → Client account: deletes
- Find client → Client account: searches
- Client account → Client data: reads/writes
- Transactions menu → Deposit screen: dispatches
- Transactions menu → Withdrawal screen: dispatches
- Transactions menu → Transfer screen: dispatches
- Transactions menu → Transfer history: dispatches
- Deposit screen → Client account: updates balance
- Withdrawal screen → Client account: updates balance
- Transfer screen → Client account: transfers funds
- Transfer screen → Transfer log: appends
- Transfer history → Client account: reads history
- Transfer history → Transfer log: reads
- Currency menu → Currency calculator: opens
- Currency menu → Find currency: dispatches
- Currency menu → Update rate: dispatches
- Currency calculator → Currency records: converts using rates
- Find currency → Currency records: searches
- Update rate → Currency records: updates rate
- Currency records → Currency data: reads/writes
- Add client → Input validation: validates input
- Update client → Input validation: validates input
- Find client → Input validation: validates input
- Login screen → Input validation: validates input
- Client account → Person identity: inherits identity
- User records → Person identity: inherits identity