0% found this document useful (0 votes)
4 views

Bank Management System

System pdf

Uploaded by

alishbaaamir457
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Bank Management System

System pdf

Uploaded by

alishbaaamir457
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

FAZAIA BILQUIS COLLEGE OF EDUCATION

FOR WOMEN PAF NUR KHAN RWP

DATA STRUCTURE
PROJECT: BANK MANAGEMENT SYSTEM
SUBMITTED TO: MISS AYISHA BASHIR

SUBMITTED BY:
ALISHBA AMIR
RUBAB AKHTAR
NAZISH GHAFOOR
KINZA MUQADDAS
BANK MANAGEMENT SYSTEM
INTRODUCTION:

The Banking Management System is a console-based application designed to facilitate the


management of bank accounts. It includes functionalities such as adding new accounts, displaying
all account details, searching for specific accounts, performing deposits and withdrawals, and
saving/loading account data to/from a file. The program ensures user-friendly interaction with
clear prompts and formatted output.

FEATURES:

1. Add Account

 Users can create a new bank account by entering:


o Account holder's name.
o Unique account number.
o Initial balance.
 The account details are stored in a dynamically managed list (vector).

2. Show All Accounts

 Displays a list of all account holders.


 Users can specify the number of accounts they want to display.
 Outputs are formatted into a table with columns:
o Name.
o Account Number.
o Balance.
 Handles invalid user input gracefully by showing all accounts if an incorrect number is
entered.

3. Search Account

 Allows searching for an account using its unique account number.


 Displays the account holder’s name, account number, and balance if found.
 Outputs a clear message if the account does not exist.

4. Deposit Money

 Users can deposit a specified amount into an account by providing the account number.
 The system validates the account number before proceeding.
 Displays a confirmation message upon successful completion.
5. Withdraw Money

 Enables users to withdraw money from a specific account by providing the account
number.
 Checks for sufficient balance before processing the transaction.
 Outputs appropriate success or failure messages.

6. Save and Load Accounts

 The system allows saving all account details to a file and loading them back during
startup.

7. User-Friendly Interface

 Clear, concise prompts guide users through the operations.


 The screen clears after each operation for a clean interface.
 Includes input validation and error handling for invalid or unexpected input.

Implementation Details

1. Classes and Data Structures

 BankAccount Class:
o Represents individual bank accounts.
o Attributes: Name, Account Number, and Balance.
o Methods: Deposit, Withdraw, and accessors for attributes.
 BankManagement Class:
o Manages multiple accounts using a vector.
o Methods for adding, searching, displaying, depositing, and withdrawing funds.
o File operations for persistent storage.

2. File Handling

 Data persistence is managed through file input/output streams.


 The program reads account data from accounts.txt at startup and saves updates upon
exiting.

3. Formatting

 iomanip is used for formatted output to create a neat tabular view for account details.
 Displays monetary values with two decimal places.
Code:
Sample Run

Menu Options:

1. Add Account

2. Show All Accounts

3. Search Account

4. Deposit Money

5. Withdraw Money

6. Exit

Account Display:

Name Account Number Balance

-------------------------------------------------------

John Doe 1001 1500.50

Jane Smith 1002 3000.00

-------------------------------------------------------
Deposit Example:

Enter Account Number to Deposit Money: 1001

Enter Amount to Deposit: 500.50

500.50 Deposited Successfully.

Advantages:

1. Efficiency: Fast data management using vectors.


2. User Experience: Clean interface and formatted output enhance readability.
3. Data Persistence: File handling ensures account data is retained between sessions.
4. Scalability: The system can manage a large number of accounts.

Limitations:

1. Security: No authentication mechanism (e.g., login or password protection).


2. Error Handling: Limited validation for file formatting during data loading.
3. Concurrency: The system does not support multiple users simultaneously.

Future Enhancements:

1. Authentication: Add user login and password protection.


2. Graphical Interface: Transition from a console application to a GUI-based system.
3. Transaction History: Maintain a record of all transactions for each account.
4. Sorting & Filtering: Allow sorting accounts by balance or name and filtering by criteria.
5. Data Validation: Implement robust validation for input data and file formatting.

Conclusion

The Banking Management System provides a robust and user-friendly solution for managing
bank accounts. It demonstrates key programming concepts, including object-oriented
programming, file handling, and formatted output. While it is a functional prototype, future
enhancements can transform it into a comprehensive banking solution.

You might also like