Mini Project Report 1.0
Mini Project Report 1.0
CHAPTER 1...................................................................................................................................1
Introduction
1.1 Introduction
1.2 Motivation of the Project
1.3 Problem description
CHAPTER 2 ..................................................................................................................................4
Literature Survey
2.1 Existing System
2.2 Proposed System
2.3 Objectives of the Proposed System
CHAPTER 3...................................................................................................................................8
System Requirement Specifications
3.1 Hardware Requirements
3.2 Software Requirements
CHAPTER 4 ………………………………………………………………………………….....12
Processing and validation
CHAPTER 5.................................................................................................................................12
System Design
5.1 Flowchart
5.2 Functional diagram
5.3 ER diagram
5.4 Algorithm
CHAPTER 6.................................................................................................................................18
Implementation
6.1 System Modules
6.2 Benefits
CHAPTER 7.................................................................................................................................38
Results
CHAPTER 8.................................................................................................................................39
8.1 Conclusion
8.2 Future Enhancement
8.3 References & bibliography
LIST OF FIGURES
Figure No. Figure Name Page No.
The purpose of this project is to fulfil the requirements of customers using the
banking for payment process. The design and development of this banking
management system provides more secured approach in managing customer's
bank account information which strengthens the bonds between banks and
their customers by providing the right solutions that uses a multi-level security
to improve customer satisfaction. C programming language has been used to
develop this project.
The Domain "Banking Management System " does the function of the normal
banking system. It can store the account information like customer name,
account number, IFSC code, 4-digit pin code / password, creating an account,
deposit, withdrawal, and many more. The objective of this project is to create a
program which performs all the necessary functions and create a user-friendly
UI which could be implemented in many places.
The beneficial part of this project is that it allows the customer to login to his
account using his credentials and displays the account balance, allowing them
to deposit and withdrawal cash and lets the customer change their pin number
and view balance all on the go.
Banking Management System AY-2021-22
CHAPTER 1
INTRODUCTION
• The banking software is expensive so this cheap alternative is simple and easy
to make with proper encryption and safe transactions.
• The existing system software has a complex code.
2. Programming Language - C
1. Main menu:
All the requirements should be filled with proper details such as account
number, account holders name, IFSC code, 4-digit pin and initial deposit
amount.
This required an amount customer want to deposit or withdraw and show the
current balance after executing customer's requirement and display if there’s
insufficient balance in case of withdrawal.
6. Uniqueness:
Each account number should be unique throughout all the existing records.
Name should be of character type and account number should be of digit.
Character and digits are not allowed.
7. Change pin:
There’s an option to change 4-digit pin where if the customer feels that his old
4-digit pin is exposed outside to others, they can change their pin by selecting
this option.
8. Checking of size:
9. Security:
5.1 Flowchart
5.3 ER diagrams
5.4 Algorithm
Step-1: Start
Step-3: In create a new account all the details of the customer is collected like
name, contact number and then an account is generated with 4-digit pin and
initial deposit is collected.
Step-5: If the entered login credentials is wrong, the customer has to re-enter
the login credentials, else if the login credentials is correct the main menu is
displayed.
Step-6: Options like view account information, view balance, cash deposit,
cash withdrawal, change pin and exit option is displayed and customer is
allowed to select an option of their choice.
Step-8: Stop
void create()
{ FILE *fp=fopen("record.dat","a+");
system("cls");
printf("Enter the customer name: ");
scanf("%s",new.name);
printf("Enter Account Number: ");
scanf("%llu",&new.acc_no);
printf("Enter the IFSC code: ");
scanf("%s",new.ifsc);
printf("Enter the amount: ");
scanf("%ld",&new.amount);
printf("Enter the UPI HANDLER: ");
scanf("%s",new.upih);
Retry:
printf("Enter the 4 Digit UPI PIN: ");
scanf("%d",&new.pin);
printf("Please enter pin once again: ");
scanf("%d",&new.pin1);
if(new.pin==new.pin1)
{
fprintf(fp,"%s %llu %s %ld %s %d\
n",new.name,new.acc_no,new.ifsc,new.amount,new.upih,encrypt(new.pin));
printf("New Account of the customer is created in the record \n\n");
system("PAUSE");
fclose(fp);
}
else
{
printf("Pin is not matching\n");
goto Retry;
}
}
void login()
{
int j;
system("cls");
printf("1. Account information \n");
printf("2. View balance \n");
printf("3. Cash withdrawl \n");
printf("4. Deposit\n");
printf("5. Change pin \n");
printf("6. logout\n");
printf("Please select any one option: ");
fflush(stdin);
scanf("%d",&j);
switch(j)
{
case 1:
system("cls");
acc_info();
system("PAUSE");
login();
case 2:
system("cls");
view_bal();
system("PAUSE");
login();
case 3:
system("cls");
cash_t();
system("PAUSE");
login();
case 4:
system("cls");
dep();
system("PAUSE");
login();
case 5:
system("cls");
c_pin();
system("PAUSE");
login();
case 6:
exit(0);
}
}
void acc_info()
{ int found=0;
FILE *ptr = fopen("record.dat","r+");
acc_no_1=entry.acc_no;
Retry2:
while(fscanf(ptr,"%s %llu %s %ld %s
%d",new.name,&new.acc_no,new.ifsc,&new.amount,new.upih,&new.pin)!=EOF)
{
if(new.acc_no==entry.acc_no)
{
printf("CUSTOMER NAME:\n \t%s\n ACCOUNT NUMBER:\n \t
%llu\n IFSC CODE:\n \t%s\n BALANCE:\n \t%ld\n \
n",new.name,new.acc_no,new.ifsc,new.amount);
found=1;
break;
}
}
if(!(found))
{
printf("Entered account number does not exist in our database\n");
goto Retry2;
}
fclose(ptr);
}
void view_bal()
{
int found;
FILE *ptr = fopen("record.dat","r+");
acc_no_1=entry.acc_no;
found=0;
Retry2:
while(fscanf(ptr,"%s %llu %s %ld %s
%d",new.name,&new.acc_no,new.ifsc,&new.amount,new.upih,&new.pin)!=EOF)
{
if(new.acc_no==entry.acc_no)
{
printf("\nAccount balance: %ld\n\n",new.amount);
found=1;
break;
}
}
if(!(found))
{
printf("You entered %llu and does not match with our database\
n",entry.acc_no);
goto Retry2;
}
fclose(ptr);
}
void cash_t()
{
int found=0;
FILE *old,*newrec;
old=fopen("record.dat","r");
newrec=fopen("new.dat","w");
acc_no_1=entry.acc_no;
Retry3:
void dep()
{
int found=0;
FILE *old,*newrec;
old=fopen("record.dat","r");
newrec=fopen("new.dat","w");
Retry4:
acc_no_1=entry.acc_no;
void c_pin()
{
int found=0;
FILE *old,*newrec;
old = fopen("record.dat","r");
newrec= fopen("new.dat","w");
entry.acc_no=acc_no_1;
Retry4:
int stuff=new.pin;
if(new.acc_no==entry.acc_no)
{
found=1;
Retry5:
printf("Enter the current pin : ");
scanf("%d",&entry.pin);
if(encrypt(entry.pin)==new.pin)
{
printf("Enter the new pin : ");
scanf("%d",&stuff);
printf("The Pin has been successfully changed\n\n");
}
else
{
printf("The pin you entered did not match with our Data
Base\n");
goto Retry5;
}
}
fprintf(newrec,"%s %llu %s %ld %s %d\
n",new.name,new.acc_no,new.ifsc,new.amount,new.upih,encrypt(stuff));
}
if(!(found))
{
printf("Entered data does not match with our Data Base\n\n");
goto Retry4;
}
fclose(old);
fclose(newrec);
remove("record.dat");
rename("new.dat","record.dat");
}
6.2 BENEFITS
Provide flexibility
For better performance.
Reducing man power.
For doing work more accurately.
Faster performance.
Code complexity is reduced when compared to the existing system.
It allows the customer to change their pin.
Data is encrypted and it is therefore safe and secure for transactions
and keep the customer’s data secured.
Flow of code is easy to understand, maintain and modify.
It allows users to access their account with a unique pin code that
lets them to withdraw and deposit money according to their own
convenience.
CHAPTER 7
EXPERIMENTAL RESULTS
8.1 Conclusion
This banking system will serve as usual approach to deposit and withdraw the
money for the customers.
It reduces the time taken by the user to save the money.
The system developed is user friendly.
It reduces manual work.
Program Weakness:
As we know that, no any program can be 100% reliable and efficient. So there
are also some drawbacks from our system which are as follows:
It cannot perform all the required functions as bank required, it's simply a record
of account of customer.
System is not sharply a graphical user interface. There is just use of some text
color.
It’s not a multiuser and multitasking program. It can't perform various task at a
single time.
Program Strength:
We can add UI to the existing system to make it look colorful and user
friendly.
We can send a message to the account holder every time when their account is
logged into any system.
Loan option can be created along with the chart of interest rate.
A bulletin can be displayed at the top regarding the latest news.
Tollfree number details can be displayed at one corner, so that if the customer
has any concerns, they can clear it.
A chat with our executive option can be displayed where the customer can
share their queries.
Select language option can be created for the user to select their convenient
language for understanding.
Currency converter can be added.
We can make it more secured by adding data encryption.
Data can be encrypted with 64-bit encryption.
Captcha can be added to for human verification on the login page.
We can add additional features like customers monthly spending and earnings
using graphs and charts.
Customers credit score can be displayed.
geekforgeeks.com
wikipedia.com
ctutorials.com
Banking websites
udemy.com
Coding with Harry
coursera.com
hackerrank.com
hackerearth.com
github.com
Programming with C by Bjarne Stroustrup
Let us C by Yashwant Kanetkar