NAME : MIAN HABIB ULLAH
SAP ID : 65067
COURSE : PROGRAMMING FUNDAMENTAL
PROGRAM : BSSE-1A
PROJECT PARTNER : MALAIKA ISHFAQ ( 66492 )
Project Proposal: Bank Management System in C++
1. Project Overview:
The Bank Management System is a simple console application developed in C++ to
manage basic banking operations. This system will allow users to create and
manage accounts, deposit and withdraw money, view account details, and search
for specific accounts. It provides an efficient way to manage account information
and transactions in a secure and organized manner.
2. Project Objectives:
• To develop a C++ program that simulates basic banking operations.
• To implement a system that manages customer accounts securely.
• To create a user-friendly console interface for banking functions.
3. Features:
The Bank Management System will have the following core features:
• Create New Account: Allows the user to create a new bank account by
providing essential details such as name, account number, and initial
deposit.
• Show All Accounts: Displays a list of all bank accounts, including basic
details for each account.
• Search Account: Searches for an account using the account number and
displays account details if found.
• Deposit Money: Allows a deposit of money into a specific account.
• Withdraw Money: Allows withdrawal of money from a specific account if
there are sufficient funds.
• Exit: Exits the program safely, saving all data if required.
4. Functional Requirements:
• Account Creation:
o Input: Account holder's name, account number, and initial balance.
o Output: Confirmation message after account creation.
• Display All Accounts:
o Function that retrieves and displays all account information stored in the
system.
• Account Search:
o Input: Account number.
o Output: Display account details if the account exists or an error message if
not found.
• Deposit Function:
o Input: Account number and deposit amount.
o Process: Validate account existence and update balance.
o Output: Confirmation of successful deposit or an error if the account
doesn’t exist.
• Withdraw Function:
o Input: Account number and withdrawal amount.
o Process: Check if there are sufficient funds in the account, then deduct the
amount.
o Output: Confirmation of successful withdrawal or an error if there are
insufficient funds.
• Exit Program:
Ends the program and ensures data is saved if necessary.
5. Technical Specifications:
• Programming Language: C++
• IDE: Code::Blocks or Visual Studio (any standard C++ compiler)
• Data Structure: Basic structures or classes to hold account information (e.g.,
structs or classes for accounts).
6. Proposed Methodology:
• Design Phase: Outline the system structure, create class definitions, and design
methods.
• Development Phase: Code each feature, starting from account creation and
proceeding through display, search, deposit, and withdrawal functionalities.
• Testing Phase: Test each feature individually, then test the full system for
correct functionality and data handling.
7. Expected Outcome:
The completed Bank Management System will be able to handle basic banking
operations reliably and will provide a clean console-based user interface for users to
interact with the bank's features.