BANK MANAGEMENT
BANK MANAGEMENT
Approved by AICTE, New Delhi & Affiliated to JNTU, Hyderabad).Accredited by NAAC with ‘A++’ Grade (Cycle- III),
NBA
Tier –I Accredited(B.Tech – CE, EEE, ME, ECE & CSE, M.Tech – Structural Engg, Electrical Power Systems,
Thermal Engg.IIC – Four Star Rating, NIRF Rank Band 250-300, ARIIA Band Performer,
Maisammaguda(H), Medchal - Malkajgiri District, Secunderabad, Telangana State – 500100, www.mrec.ac.in
D . NIKSHITH (24J41A67L6)
BACHELOR OF TECHNOLOGY
in
This is to certify that the project report entitled, “Bank Management System” is a bonafide
record of Mini Project work done during the even semester of the academic year 20242025 by
in partial fulfilment of the requirements for the award of the degree of Bachelor of
1. Introduction
2. Requirements
3. Implementation
4. Testing
5. Conclusion
INTRODUCTION
The Bank Management System is a console-based application designed to simulate basic
banking operations. It serves as a practical demonstration of how programming concepts in the
C language can be applied to solve real-world problems. This mini-project is ideal for beginners
to intermediate learners who want to enhance their skills in C programming and understand
how to implement structured and modular code.
The system focuses on providing essential banking functionalities, including creating customer
accounts, managing deposits and withdrawals, and viewing account details. The project
emphasizes the use of fundamental programming constructs such as file handling, data
structures, functions, loops, and conditional statements.
Objectives
1. To simulate basic banking operations such as account creation, deposit, withdrawal, and
balance inquiry.
2. To demonstrate the use of file handling for data storage and retrieval, ensuring persistent
data across sessions.
3. To implement user-friendly menus and interactive features to enhance the usability of the
application.
4. To explore modular programming by dividing the application into manageable functions.
1. Account Creation: Allows users to open a new bank account by providing basic details
such as name, account number, and initial deposit.
2. Deposit Money: Enables users to deposit money into their accounts and updates their
balance accordingly.
3. Withdraw Money: Facilitates withdrawal of money while ensuring sufficient balance in
the account.
4. Balance Inquiry: Displays the current balance and account details of a specific user.
5. Account Management: Allows viewing and modifying account details if required.
Programming Language: C
Compiler: GCC, Clang, or any C compiler (Code::Blocks, Dev-C++, Turbo C, etc.)
Integrated Development Environment (IDE): (Optional) Code::Blocks, Visual Studio
Code, or any text editor.
Operating System: Windows, macOS, or Linux.
2. Hardware Requirements
3. Functional Requirements
1. Account Management:
Create new accounts with details such as:
Account holder's name
Unique account number
Initial deposit amount
View account details of an individual user.
2. Transaction Management:
Deposit money into an account.
Withdraw money from an account (check for sufficient balance).
Display current account balance.
3. Data Persistence:
Store all account information in files (e.g., .txt files) for long-term data retention.
Read and update account details from the file during operations.
4. User Interface:
Provide a text-based menu system for user interaction.
Ensure ease of navigation and clear prompts for input.
5. Security Features:
Validate inputs such as account numbers and amounts.
Prevent invalid operations (e.g., withdrawing more than the balance).
4. Non-Functional Requirements
Performance:
The application should handle multiple accounts efficiently.
File operations (read/write) must be quick and error-free.
Scalability:
The design should allow easy extension to add features such as account deletion or loan
management.
Usability:
Clear instructions for all operations.
Error messages for invalid inputs or operations.
Standard Libraries:
<stdio.h> for input/output operations.
<stdlib.h> for memory allocation and miscellaneous functions.
<string.h> for string manipulations.
<stdbool.h> for Boolean operations (optional).
File Handling:
Use file I/O functions (fopen, fclose, fprintf, fscanf, etc.) to manage account data.
This set of requirements ensures the project is well-defined, manageable, and achieves its
intended goals.
IMPLEMENTATION
The implementation of the Bank Management System in C involves breaking down the system
into modules, each handling a specific functionality. Here's how you can structure and
implement it:
1. System Modules
a. Main Menu
b. Account Creation
c. Deposit Money
e. Balance Inquiry
2. Key Functions
3. Additional Considerations
Error Handling:
Handle invalid inputs and file-related errors gracefully.
Show appropriate error messages.
Security Measures:
Mask sensitive inputs like PIN codes (if included).
Prevent invalid operations like over-withdrawing.
Extensibility:
Add features like account deletion, password protection, or interest calculation.
TESTING
SOURCE CODE :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
float balance;
};
// Function prototypes
void createAccount();
void depositMoney();
void withdrawMoney();
displayMenu();
int main() {
int choice;
scanf("%d", &choice);
switch (choice) {
case 1:
createAccount();
break; case 2:
depositMoney();
break; case 3:
withdrawMoney();
break;
case 4:
viewAccount();
break; case 5:
exit(0);
break; default:
return 0;
createAccount() {
if (file == NULL) {
return;
scanf("%d", &newAccount.accountNumber);
&newAccount.balance);
fclose(file);
depositMoney() {
return;
scanf("%d", &accountNumber);
if (account.accountNumber == accountNumber) {
found = 1; printf("Enter
&depositAmount); account.balance
+= depositAmount;
break;
if (!found) { printf("Account
not found.\n");
fclose(file);
}
// Function to withdraw money void
withdrawMoney() {
if (file == NULL) {
return;
file)) { if (account.accountNumber ==
accountNumber) {
&withdrawAmount);
printf("Insufficient balance.\n");
} else {
account.balance -= withdrawAmount;
break;
}
if (!found) { printf("Account
not found.\n");
fclose(file);
viewAccount() {
int accountNumber;
int found = 0;
if (file == NULL) {
return;
scanf("%d", &accountNumber);
if (account.accountNumber == accountNumber) {
account.balance);
break;
}
found.\n");
fclose(file);}
OUTPUTS :
…
Conclusion
Moreover, this system is a foundational step toward building more complex and
featurerich applications in the future. With additional features like account
deletion, password protection, transaction history, or integrating a database, this
project can be scaled to simulate a fully-fledged banking application.
Overall, the Bank Management System not only enhances coding skills but
also encourages problem-solving, logical thinking, and the ability to design
user-friendly systems that can have practical applications in everyday life.