Purwanchal University School of Science and Technology(PUSAT)
PURWANCHAL UNIVERSITY
A project report on
A Banking management system
In Partial Fullfilment of the requirement for the degree of
Bachelor of Computer Application(BCA)
First semester
Submitted by Submitted to:
Raju Gupta Co-ordinator Rakesh Thakur
Bibek Kumar Shah(311808)
Sanjay Kumar Shah
Purwanchal University School of Science and
Technology(PUSAT)
TABLE OF CONTENT
TITLE page no
Chapte1:Introduction 2
Banking management system
Chapter 2:Objective 2
Chapter 3:Background 3
Chapter 4:Requirement 4
Hardware requirement 4
Software requirement 4
Chapter 5:Development 5
Algorithm and Flowchart 5-6
Algorithm and flowchart of banking management system 6-7
Chapter6:Source code 8-16
coding output 17-20
Chapter 7:Forms of a program 21
Forms 21-22
Principles 22
Chapter 8:Testing 23
Chapter 9:Future Enhancement 24
Chapter 10:Conclusion 25
Chapter 11:Reference 25
ACKNOWLEDGMENT
According to the course of study of B.C.A First semester determined by P. U, a
computer project is to be carried out for the partial fulfillment of the
requirements for the Bachelor in Computer Application. Therefore, as students
of the course we have developed a small desktop application "Banking
Management System”.
First of all we would like to thank our supervisor, Professor Ajay Kumar Shah
for his valuable guidance and encouragement throughout the project. We also
thank him for helping us out in difficulties by showing the right way and for the
valuable suggestions which were very crucial for the success of our project and
our sincere gratitude go to all the faculty members of department of Computer
Application for their encouraging support and guidance. We feel very glad for
getting such an opportunity to accomplish the B.C.A First semester project and
feeling the experience of the team environment and team spirit. This gave us
insight knowledge about the practical aspect of the various stages and
procedures of software development project.
This report consists of explanation on the requirements and design of the new
system. The requirements are started in different forms such as natural
languages and diagrams to provide the clear picture of each requirement. We
are very thankful towards Purbanchal University School of Science and
Technology for facilitating the completion of entire project work.
Finally, we would like to express deep sense of gratitude for their constant support,
continuous encouragement, and valuable suggestions throughout the duration of the project.
We are sure that this project report helps in better understanding of the subject matter.
Chapter 1
Introduction
The project “Banking System” is an application which provides essential
banking functionalities, including creating new account, update your existing
account, processing transaction, and generating account statements.
The primary purpose of developing this banking system is to provide a
platform where users can simulate common banking operations without the
complexities of a real-world banking environment.
Chapter 2
Objectives
1. To develop a software solution that assists banks in effectively
managing their operations.
2. To involve features such as registration of account,
banking transaction like deposit, withdraw and transfer.
3. To providing a seamless and user-friendly experience for customers.
4. To making it easier for them to manage their accounts and perform
transaction.
Background study
As this has been mentioned above already regarding the problems of
traditional banking system . This is technological world. The world is
developing rapidly. So we thought of the problem regarding lack of
accessibility, slow processes and different customer issues. This should be
replaced. So to replace this we have tried to develop simple program
through the use of C language. We have tried to develop the program with
the knowledge of c language that we have gained from our course study in
the last 6 month. So we have been bounded in a limit as we only have little
knowledge and it takes lots of knowledge and years of practice to develop a
master piece.
We have tried to give 100% in this project. Our respected Associate
professor taught us the basic concepts of addition, storing data and many
other things related to the subject matter. So we had a base of project but we
needed some other core concepts to build an effective program. So we tried
to add some extra features. So we studied the background about what kind
of project we are going to develop and learnt about the functions and made
logics according to it. Now we went on making the projects and in the
journey on preparing a special project on banking.
Online banking, we got new ideas and logic to implement which would
make our program run effectively and look attractive somehow it took about
20 days to complete the projects. So now we think the project is satisfying
according to our group members and our efforts on it can conclude
something at last.
Chapter 4
REQUIREMENTS
Hardware and software requirements
Computer based application needs hardware as well as software to develop and
run project successfully. A good performance of hardware and software makes
the project successful.
Minimum hardware requirement for efficient operation of this project are as
follows:
Processor Intel i5-1135G7
Memory module 128 MB or more
Hard disk 4 GB or more
Printer Any
Keyboard Any
Mouse Any
Fig: Hardware requirement
Minimum software requirement for efficient operation of this project
Operating system Windows 10 pro
Fig: Software requirement
The following environment were used for the development of this project
OS windows 10x64, IDE: Dev c+
Chapter 5
DEVELOPMENT
ALGORITHMN AND FLOWCHART
1. Algorithm
Algorithm is a step-by-step procedure, which defines a set of instructions
to be executed in a certain order to get the desired output.
Advantages of algorithm
a. It is a step-wise representation of a solution to a given problem.
b. It is easy to understand.
c. An algorithm uses a definite procedure.
d. It is not dependent on any programming language.
Disadvantages of algorithm
a. Algorithms are time-consuming.
b. Big tasks are difficult to put in algorithms.
c. Difficult to show branching and looping in algorithms.
2. Flowchart
Flowchart is a diagrammatic representation of a sequence of logical steps
of a program.
Advantages of flowchart
a. Effective communication.
b. Effective analysis.
c. Easy debugging and efficient testing.
Disadvantages of flowchart
1. Alterations: It can become a hassle when using flowcharts.
2. Logic Complexity: When a process is relatively complex, this can
make process is relatively complex, this can make process flowchart look
messy and clumsy.
ALGORITHM of Bank Management System
Step1: Start
Step 2: Display main menu: "Register an account" or "Login".
Step 3: If "Register": Collect name, phone, and password; create a file
named <name>bank.txt to store the details.
Step 4: If "Login": Input name and password; open corresponding
<name>bank.txt file and validate credentials.
Step 5: End If the user chooses to exit or upon completing transactions.
Fig: flowchart
Chapter 6
CODING
Coding: Coding, sometimes called computer programming is how we
communicate with computers.
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
struct user {
int phone[50];
int ac[50];
char password[50];
char name[30];
float balance;
};
void create();
int main()
{
struct user usr,usr1;
FILE *fp;
char filename[50],pword[50],nam[30];
int opt,choice,phone[50];
char cont = 'y';
float amount;
printf("\n\t=====================================\n");
printf("\t=== Bank Management System - Menu ===\n");
printf("\t=====================================\n");
printf("\nWhat do you want to do?");
printf("\n\n1. Register an account");
printf("\n2. Login to an account");
printf("\n\nYour choice:\t");
scanf("%d",&opt);
if(opt == 1)
create();
if(opt==2)
{
system("clear");
printf("\nName:\t");
scanf("%s",nam);
printf("Password:\t");
scanf("%s",pword);
strcpy(filename,nam);
fp = fopen(strcat(filename,"bank.txt"),"r");
if(fp == NULL)
printf("\nAccount number not registered");
else
fread(&usr,sizeof(struct user),1,fp);
fclose(fp);
if(strcmp(pword,usr.password)==0)
printf("\n\t\tWelcome %s",usr.name);;
while(cont == 'y')
system("clear");
printf("\n\nPress 1 for balance inquiry");
printf("\nPress 2 for depositing cash");
printf("\nPress 3 for cash withdrawl");
printf("\nPress 4 for online transfer");
printf("\nPress 5 for password change");
printf("\n\nYour choice:\t");
scanf("%d",&choice);
switch(choice)
case 1:
printf("\nYour current balance is Rs.
%.2f",usr.balance);
break;
case 2:
printf("\nEnter the amount:\t");
scanf("%f",&amount);
usr.balance += amount;
fp = fopen(filename,"w");
fwrite(&usr,sizeof(struct user),1,fp);
if(fwrite != NULL) printf("\nSuccesfully deposited.");
fclose(fp);
break;
case 3:
printf("\nEnter the amount to withdraw:\t");
scanf("%f",&amount);
if( amount<usr.balance )
usr.balance-=amount;
printf("\nSuccesfully
withdraw\n.");
else
{
printf("insufficient
balance");
fp = fopen(filename,"ab");
fwrite(&usr,sizeof(usr),1,fp);
fclose(fp);
break;
case 4:
printf("\nPlease enter the name to transfer the balance:\
t");
scanf("%s",nam);
printf("\nPlease enter the amount to transfer:\t");
scanf("%f",&amount);
strcpy(filename,nam);
fp = fopen(strcat(filename,"bank.txt"),"r");
if(fp == NULL) printf("\nAccount number not
registered");
else {
fread(&usr1,sizeof(struct user),1,fp);
fclose(fp);
if(amount > usr.balance) printf("\nInsufficient
balance");
else {
fp = fopen(filename,"w");
usr1.balance += amount;
fwrite(&usr1,sizeof(struct user),1,fp);
fclose(fp);
if(fwrite != NULL){
printf("\nYou have succesfully transfered Rs.%.2f
to %s",amount,phone);
strcpy(filename,usr.name);
fp = fopen(strcat(filename,"bank.txt"),"w");
usr.balance -= amount;
fwrite(&usr,sizeof(struct user),1,fp);
fclose(fp);
break;
case 5:
printf("\nPlease enter your new password:\t");
scanf("%s",pword);
fp = fopen(filename,"w");
strcpy(usr.password,pword);
fwrite(&usr,sizeof(struct user),1,fp);
if(fwrite != NULL)
printf("\nPassword succesfully changed");
break;
default:
printf("\nInvalid option");
printf("\nDo you want to continue the transaction [y/n]\
t");
scanf("%s",&cont);
else {
printf("\nInvalid password");
return 0;
void create(){
FILE *fp;
struct user usr;
char filename[50];
system("clear");
printf("Enter your account holder's name:\t");
scanf("%s",usr.name);
printf("Enter your phone number:\t");
scanf("%d",usr.phone);
printf("Enter your password:\t");
scanf("%s",usr.password);
usr.balance = 0;
strcpy(filename,usr.name);
fp = fopen(strcat(filename,"bank.txt"),"w");
fwrite(&usr,sizeof(struct user),1,fp);
if(fwrite != 0){
printf("\n\nAccount succesfully registered");
}else {
printf("\n\nSomething went wrong please try again");
fclose(fp);
Coding output
Fig:1
Fig:2
Fig :3
Fig:4
Fig: 5
Chapter 7
Forms of C program
#include – It includes the content of the file specified in the input stream to
the compiler and then continue with the rest of original file.
< stdio .h> - It is a header file which has the necessary information to
include the input/output related functions in program.
<conio.h> - It is also a header file that includes clrscr() and getch()
functions screen whenever the program is compiled.
Int main – In the int main, main () function is the entry point of program
and the void keyboard have any return value.
Clrscr() – It is used to clear the output.
Printf() –It is library function which is used to print
the(character ,string ,float ,integer ,etc )onto the output screen.
Scanf() –It is also a library function that reads formatted data from the
standard input. It is used to take input from a user.
Getch() –It holds the output console until a key is pressed. It does not use
any buffer to store the input character.
Return 0 –It is used to return the value, it is only written in program when
there is int main function.
If statement –if the text expression is true then, statements inside the
parenthesis are executed otherwise the execution of the statement is
skipped.
If…else statement –it is used when we wants to execute some good code if
the text expression is true and execute some other code if the text
expression is false.
If…else…if statement –if the text expression is true, it will execute the code
before else part but, if it is false, the control of program jumps to the else
part and check text expression and if it is false the last statement is
executed.
Do…while –firstly the code inside the body is executed and the text
expression is checked , if it is true, code inside the body of do are executed
again and the process continues until test expression becomes false.
Switch statement- Switch case is used for executing one confition from
multiple conditions.
Principles of C
Prefer maintainability
Avoid magic
Recognize and avoid dangerous patterns
Header file
Program comment
Executable statements
Chapter 8
TESTING
Testing is the process of running a system with the intention of finding errors. It
enhances the integrity of a system by testing the mistakes in design and errors in
the code. Testing must be well planned. A partially tested system is as bad as an
untested system. And the price of untested and under tested system is high. The
user tests the system in order to ensure the successful running of code and make
changes according to their needs.
In programming, test cases allows you to run your program for multiple times to
see the output from different inputs.
1.If we press 1,it will register the new account in bank
2. If we press 2,it will give the option for login the existing account
3. After the registration of new account if we login the account then we have to
press 2.
4. After the login, if we press 1,it will gives you the option for balance inquiry.
5. If we press 2,it will gives you the option for deposit balance in your account.
6. If we press 3, it will give you the option for withdraw money from the
account.
7. If we press 4, it will give the option transfer amount .
8. If we press 5, it will give the option for change the password of account.
Chapter 9
FUTURE ENHANCEMENT
No program is free of bugs and no program is 100% completed. There is always
a room for improvement and enhancement. Similarly, this project also has some
bugs and fixes we can do in future. But the obvious thing is that the future of
banking management system is absolutely going digital and bright. When
enormous time, energy, resources are saved and mainly the banking transaction
will be fair.
It can be made more secure by following methods:
a) Fingerprinting
b) Real time notification
c)Regulatory compilation
Fingerprint authentication provides an added layer of security as fingerprint are
unique to each individuals. The second method is real-time notification, users
receives immediate alerts about transaction and the third method is regulatory
compilation, it would be provide feature for banks must ensure their systems
comply with local, regional, and international banking regulation.
Chapter 10
CONCLUSION
The bank management system application offers an efficient platform for managing
banking operations, ensuring streamlined transactions, improved customer service,
and enhanced security measures. This digital solution not only optimizes daily
banking tasks but also provides a foundation for future technological advancements
in the banking sector. It is very easy to use and it is very less time consuming.
Chapter 11
REFERENCES
W3SCHOOL
Greekword.com
First-semester book
Google