How dev-mir2011/bank-management-system-cpp works
This is a single-user, console-based bank management application. Staff enter through the main menu, then manage accounts, perform authenticated banking operations, inspect transaction history, or use the admin panel for reports. Account and transaction records persist in CSV files; separate text files hold admin credentials and identifier counters. The graph preserves the documented account, transaction, history, and admin capabilities. Some source excerpts are partial, so uncertain internal calls are omitted.
Main entry points: account.cpp Account management · admin.cpp Admin panel · transaction_csv.cpp Transaction CSV access · account_csv.cpp Account CSV access
Components 16
Console entry
- Main menu
BankManagementSystem/src/main.cpp
Banking operations
- Account management
BankManagementSystem/src/account.cpp - Transaction menu
BankManagementSystem/src/transactions.cpp - Admin panel
BankManagementSystem/src/admin.cpp - Account model
BankManagementSystem/src/account.cpp - Transaction record
BankManagementSystem/src/transaction.cpp
PIN security
- PIN authentication
BankManagementSystem/src/authentication.cpp - PIN hashing
BankManagementSystem/src/hash_pin.cpp
File persistence
- Account CSV access
BankManagementSystem/src/account_csv.cpp - Transaction CSV access
BankManagementSystem/src/transaction_csv.cpp - Account records
BankManagementSystem/data/accounts.csv - Transaction log
BankManagementSystem/data/transactions.csv - Admin credentials
BankManagementSystem/data/admin.txt - Account number counter
BankManagementSystem/data/last_account_no.txt - Transaction ID counter
BankManagementSystem/data/last_transaction_id.txt
Other components
- Bank staff
Connections 23
- Bank staff → Main menu: uses
- Main menu → Account management: opens accounts
- Main menu → Transaction menu: opens history
- Main menu → Admin panel: opens admin
- Account management → Account model: creates
- Account management → PIN authentication: checks PIN
- Account management → Account CSV access: reads and updates
- Account management → Transaction CSV access: logs activity
- Account management → Transaction record: creates records
- Account management → Account number counter: allocates numbers
- Account management → Transaction ID counter: allocates IDs
- PIN authentication → Account CSV access: reads PIN hash
- PIN authentication → PIN hashing: hashes PIN
- Transaction menu → PIN authentication: checks PIN
- Transaction menu → Account CSV access: validates accounts
- Transaction menu → Transaction CSV access: reads history
- Admin panel → Admin credentials: checks password
- Admin panel → Account CSV access: reports accounts
- Admin panel → Transaction CSV access: reports transactions
- Admin panel → Account management: checks status
- Account CSV access → Account records: reads and writes
- Transaction CSV access → Transaction log: reads and writes
- Transaction CSV access → Transaction ID counter: assigns IDs