Front C+++++++ Merged
Front C+++++++ Merged
2023-2024
ASSIGNMENT PROJECT
on
“Define a class called Bank with all data members like customer name, address,
phone no., nominee, account nos., no. of accounts and their types, balance
amount in each of them. Define constructors, display functions and other member
functions to perform operations like updating customer data, debit and credit
transactions, search for a record given customer name/account no./phone no.”
BACHELOR OF ENGINEERING
in
ELECTRICAL AND ELECTRONICS ENGINEERING
Under the Guidance of
Dr .G .Sudha
Associate Professor and Head
Dept. of Electrical and Electronics Engineering
Submitted by
ADITYA PATEL 1BI23EE001
ANTAREEP SHARMA 1BI23EE006
KAILASH S 1BI23EE024
RISHI DRABLA 1BI23EE045
//PROBLEM STATEMENT
The program simulates a basic banking system where customers can be added
with their personal details and multiple accounts Each account can perform
transactions like credit (deposit) and debit (withdrawal) Customers and their
account details can be displayed, and searches can be performed based on
customer name, phone number, or account number
Program Components
1 Data Structures:
Customer Structure: Holds details such as name, address, phone number, date
of birth, email, identification type, number of accounts, and an array of `Account`
structures
2 Functionality:
3 Example Usage:
Detailed Analysis
Pros:
Modular Design: The program is structured into functions for specific tasks (eg,
adding customers, handling accounts), promoting code reusability and
maintainability
Cons:
Static Data Storage: Uses static arrays for customers and accounts
(`MAX_CUSTOMERS` and `MAX_ACCOUNTS`), which may limit scalability for larger
systems
Simplistic Account Management: Accounts have basic attributes like balance and
interest rate, lacking more complex features like transaction history or account
status tracking
Minimal Security Measures: The program does not address security concerns such
as user authentication or secure data handling, which are crucial in realworld
banking applications
Potential Improvements:
Security Enhancements: Incorporate security measures like encryption for sensitive data and user
authentication for accessing accounts
User Interface: Develop a userfriendly interface (eg, commandline menu or graphical interface) to
improve usability and interaction with the banking system
Conclusion
Add a `dob` attribute to the `Customer` structure to store the date of birth.
2. Email Address:
Include an `email` attribute in the `Customer` structure to store the customer's email address.
3. Identification Details:
Add attributes like `idType` (type of identification document) and `idNumber` (identification number).
4. Account Status:
Introduce a `status` attribute in the `Account` structure to indicate whether the account is active,
closed, or suspended.
Removing Attributes:
1. Nominee:
-If nominee details are not needed, remove the `nominee` attribute from the `Customer` structure.
If customers are only allowed a single account, remove the array of `Account` structures from the
`Customer` structure (`accounts[MAX_ACCOUNTS]`).
Other Considerations:
Extend the `Account` structure to include more details like interest rate, overdraft limit, or transaction
history.
Implement additional attributes or methods for security purposes, such as PIN numbers for account
access.
3. Transaction Types:
4. Data Validation:
Implement validation mechanisms for attributes like phone numbers, email addresses, and
identification numbers to ensure data integrity.
Additional Attributes: The `Customer` structure now includes `dob` (date of birth), `email`, `idType` (type
of identification), and `idNumber` (identification number).
Modified Functions: Functions like `addCustomer` and `displayCustomer` have been updated to handle
these additional attributes.
Account Enhancements: The `Account` structure now includes `interestRate` to represent the interest
rate for accounts that earn interest.