Banking System
Banking System
TO PROBLEM AREA
INTRODUCTION TO PROBLEM AREA
Definition of Bank
Bank refers to “an institution that deals in money. This institution accepts deposits from
the people and gives loans to those who are in need. Besides dealing in money,
banks these days perform various other functions such as credit creation, agency job and
general services”.
In the world of T.G Hart “a banker is one who, in the ordinary course of his business,
receives money which plays by honoring cheques of person from whom or on whose
account he receives It”
According to White Head” A bank is defined as an institution which collects surplus
funds from the public, safeguards them, and makes them available to the true owner when
required but also lends sums not required by their true owner to those who are in need of
funds and can provide security”
• Any other form of business which the Central Government may, by notification in
the Official Gazette, specify as a form of business in which it is lawful for a
banking company to engage.
No banking company shall engage in any form of business other than those referred to
above
commercial and industrial activities are well knitted with the banks. One cannot imagine
the cessation of banking activities even for a day. There may be an economic crisis in the
country if banks stop functioning for some days. Commercial banks are the major source
of short term finance for working capital .In addition they also provide a whole range of
other services including capital market advisory services, foreign exchange service,
BANKS IN INDIA
India has a well developed banking system. Most of the banks in India were founded by
Indian entrepreneurs and visionaries in the pre-independence era to provide financial
assistance to traders, agriculturists and budding Indian industrialists. Indian banks have
played a significant role in the development of Indian economy by inculcating the habit
of saving in Indians and by lending finance to Indian industry.
The Indian banking can be broadly categorized into nationalized (government owned),
private banks and specialized banking institutions. The Reserve Bank of India acts as
centralized body monitoring any discrepancies and shortcomings in the system. Since the
nationalization of banks in 1969, the public sector banks or the nationalized banks have
acquired a place of prominence and hae since then seen tremendous progress. The need to
become highly customer focused has forced the slow-moving public sector banks to
adopt a fast track approach. The Indian banks are now quoting at higher valuation when
compared to banks in other Asian countries (viz. Hong Kong, Singapore, Philippines etc.)
that have major problems linked to huge Non Performing Assets (NPAs) and payment
defaults. Co-operative banks are nimble footed in approach and armed with efficient
branch networks focus primarily on the ‘high revenue’ niche retail segments.
The Indian banking has come from a long way from being a sleepy business institution to
a highly proactive and dynamic entity. This transformation has been largely brought
about by the large dose of liberalization and economic reforms that allowed banks to
explore new business opportunities rather than generating revenues from conventional
streams (i.e. borrowing and lending). The banking in India is highly fragmented with 30
banking units contributing to almost 50per cent of deposits and 60per cent of advances.
Indian nationalized banks (banks owned by the government) continue to be the major
lenders in the economy due to their sheer size and penetrative networks which assures
them high deposit mobilization
All the banks in India were earlier private banks. They were founded in the pre-
independence era to cater to the banking needs of the people. But after nationalisation of
banks in 1969 public sector banks came to occupy dominant role in the banking structure.
Private sector banking in India received a welcome in 1994 when Reserve Bank
(FIG.1)of India encouraged setting up of private banks as part of its policy of
liberalisation of the Indian Banking Industry. Housing Development Finance Corporation
Limited (HDFC) was amongst the first to receive an 'in principle' approval from the
Reserve Bank of India (RBI) to set up a bank in the private sector.
Innovations in Indian Banking Industry.
and foreign operators. There is a constant growth in this industry. There has been a
.Their success made large traditional banks follow suit by indtroducing technology to
retain profitable customers. Private sector banks are now also focusing on integrating IT
strategy and business strategy for enhancement of efficiency and productivity. It related
services in banks
1.ATMs:
Automated Teller Machines (ATMs) enable bank customers to withdraw money
from their checking or savings accounts by inserting an ATM card and a private
electronic code into an ATM machine. The ATM machine enables bank customers to
access their money 24 hours a day and seven days a week wherever ATMs are located,
including in foreign countries.
In contemporary era, banks have sought media through which they would serve their
clients more cost-effectively as well as increase the utility to their clientele. Their main
concern has been to serve clients more conveniently, and in the process increase profits
and competitiveness. Electronic and communications technologies have been used
extensively in banking for many years to advance agenda of banks. In India, banks with
ATM offerings have got themselves them networked and this has increased their utility to
customers.
The ATM has been the most successful delivery medium for consumer banking in this
country. Customers consider it as important in their choice of banks, and banks that
delayed the implementation of their ATM systems, have suffered irreparably. ATMs have
been able to entrench the one-branch philosophy in this county, by being networked, so
people do not necessarily have to go to their branch to do some banking.. Though ATMs
have enjoyed great success because of their great utility, it has been recognized that it is
possible for banks to improve their competitive stance and profitability by providing their
clients with even more convenience.
2.Internet Banking
Online banking (or Internet banking) allows customers to conduct financial
transactions on a secure website operated by their retail or virtual bank, credit union or
building society. Transactional (e.g., performing a financial transaction such as an
account to account transfer, paying a bill, wire transfer... and applications... apply for a
loan, new account, etc.)
3.Telebanking
Telephone banking is a service provided by a financial institution which allows its
customers to perform transactions over the telephone. With the obvious exception of cash
withdrawals and deposits, it offers virtually all the features of an automated teller
machine: account balance information and list of latest transactions, electronic bill
payments, funds transfers between a customer's accounts, etc.
4.Core Banking Solutions Core Banking Solution (CBS)
CBS is networking of branches, which enables Customers to operate their
accounts, and avail banking services from any branch of the Bank on CBS network,
regardless of where he maintains his account. The customer is no more the customer of a
Branch. He becomes the Bank’s Customer. Thus CBS is a step towards enhancing
customer convenience through anywhere and anytime Banking.
5.Credit/Debit/ kisan / Smart card
Credit cards are one of the most widely used financial products. The extensive
usage of credit cards outside the US has happened only recently. A credit card lets you
make purchases for which you are billed later. Most credit card accounts allow you to
carry a balance from one billing cycle to the next; however, customers have to pay
interest on that balance. Usually, he has to pay at least a certain amount of your balance
each time you receive a bill.
6.Mobile Banking
Mobile Banking refers to financial services with the help of mobile
telecommunication devices. The scope of offered services may include facilities to
conduct bank and stock market transactions, to administer accounts and to access
customized information."
7.Cash Management Services
Cash Management Services helps you make optimum use of your working capital,
leveraging the float between faster collections and just-in-time payments. Vast network
across the length and breadth of the country uses superior technology based solutions to
deliver speedy, efficient collections. Customer gets customised daily transaction reports
and online reports. CMS solutions are customized to your specific needs for the most
productive use of your cash flow.
8.Electronic fund transfer/electronic clearing system
An Electronic Funds Transfer at the Point of Sale is an on-line system that allows
customers to transfer funds instantaneously from their bank accounts to merchant
accounts when making purchases (at purchase points).
Opening of account
An account can be opened with a minimum initial deposit of Rs. 500/-, by properly
introduced persons, by signing the bank’s standard account opening form, in the presence
of an authorized officer. A person can sign in a language, other than Hindi or English.
A saving account may be opened:-
1.By an individual
2.In the name of minor by his/her guardian, who shall be required to give in writing.
3.By a minor of the age of 10 years or above on his/her furnishing.
4.By two or more persons in their joint names payable to either or any one or moreor all
of them or survior/surviors, former or survior(s).
5.By a society, club, association, trust, charitable/educational institution, provided it.
6.By the societies/institution/association which are not liable to pay income tax
UNDER THE INCOME TAX ACT, 1961.
A saving fund account, can also be opened by an illiterate person by putting his/her
thumb impression, on the bank’s prescribed form in the presence of an authorised officer
of the bank, and attested by him and witnessed by an independent person known to the
bank. A blind person can also open a saving account, singly or jointly.
Pass book:-
A pass book is issued for each account. The account number appearing on the pass book,
must be quoted on every withdrawal slip, cheque, pay-in-slip and communication
addressed to the bank. Entries in the pass book are made in the bank by a clerk and
authenticated by a checking official of the bank.
Withdrawals of money:-
He/she can withdraw amount any time in year. No withdrawals should be made for less
than Rs. 5/- , unless the account is intended to be closed. Withdrawals against cheque and
other instruments, tendered for collection and deposit are not allowed till, these are
realised.
Cheque book:-
Cheque book are issued to depositors on requisition. Application for the cheque book
should be prescribed by the depositors, presonally or through a massenger known to
bank.
For the purpose of applying for a new cheque book, the printed requisition form, inserted
in the previous cheque book is used. No cheque book is issued to an illiterate person.
Interest:-
Interest is the calculated on the minimum balance, on any day, between the close of 10 th
day and the end of each calender month and is credited to the account.
Closing of account :-
While applying for the closing of the account, the pass book and unused cheque forms, if
any are returned to the bank. The passbook after completion, may be returned to
depositor, if so desired.
The bank may close account, without assigning any reason, after giving two week’s
notice in writing to the depositors. At closing of his/her account, interest due, is applied
by debit to the interest accrued on savings account’s and the balance of the account, made
over to the depositors, against the usual withdrawal slip.
OBJECTIVES OF THE
PROJECT
OBJECTIVES OF THE PROJECT
Problem definition is the initial phase of system development life cycle, which deals with
a very important question, i.e. what is the necessity for the change and to identify and
understand the problem areas and domains.
Problem definition includes the attempts made by software developer to identify what
information is to be processed and performance are required, what system behavior be
expected, what interfaces are to be established, what design constraints exists and what
validation criteria are required to define a successful system.
The techniques for gaining this information include observation of problem task and
actual performance of task by the planner. The key requirements of the system and
software are identified.
LIMITATIONS OF
EXISTING SYSTEM
LIMITATIONS OF EXISTING SYSTEM
In the manual system there are many disadvantages so that the new proposed
system is
In the manual system all the records are maintained manually i.e. the all records
are stored in registered and then from one step to all steps all the process done on
registers. The registers are then passed out from one table to another table and
hence the time is consumed
There may be mistake by the persons like the mistake of wrong entry in records,
i.e. wrong transaction of wrong account number may be possible.
There may be mistake in entering the amount because some time the amount is
not entered in neat way and there may be mismanagement of cash.
Long procedure for issuing the drafts and payment which is the main and
necessary part of banking system for the professionals.
As in these days ATM machines are used for transactions like withdrawing which
is only possible through ATM (any time and any where money). In manual
system there is the main drawback of time limit. If a person required the money
after banking time as an emergency it is not possible.
SYSTEM ANALYSIS &
DESIGN
SYSTEM ANALYSIS AND DESIGN
System design is the foundation for all program implementation. It is the most important
phase of software development. It requires a careful planning, logical thinking on the part
of the system designer. Designing a software means to plan and decide how the various
components of software are going to achieve their desired goals. It is a detail
concentration or solution of how to approach to creation of new system. In other words, it
translates user oriented document specification into programmer oriented document.
System design for the proposed system is composed of several steps :
1. INPUT DESIGN
2. OUTPUT DESIGN
3. FILE DESIGN
1. INPUT DESIGN
Once the analysis and design of the system has done, it would be necessary to identify the
data that are required to be processed to produce the outputs. Input is one of the most
important phases of the operation of the computerized system and creates sometimes a
major problem. The input data is lifeblood of a system and have to be analyzed and
designed with utmost care and consideration. Input design features can ensure the
reliability of the system and generate correct reports home user can interact efficiently
with the system.
2.OUTPUT DESIGN
Outputs are required primarily to produce the result of the processing to the user. They
are also used to provide permanent copy of their results for the latest consultation.
In this system all the information related to customer about his name, address, phone no,
balance etc. It is stored in a database. Similarly all the information related to the
transactions, about the transaction type, mode, date etc. It is stored in another table. All
the information related to the customer or about the transactions can be seen through
reports in six different ways in this project. Different reports are as follows:
♦ Account report - in this according to the account no. And the pin code, information
about that particular account will be displayed. If pin code is not correctly entered then
error message will be given by the system.
♦ Transaction report – in this according to the given transaction id complete information
about that transaction will be displayed.
♦ Day report – all the transactions done on a given date will be displayed through this
report.
♦ Deposit report – all the deposits done on a given account and on a given date will be
displayed.
♦ Withdraw report – all the withdrawals done on a given account and n a given date will
be displayed.
♦ Pass book – in this all the transactions done on a particular account, whether deposit,
withdraw or transfer, till date will be displayed. Also the final balance is also
displayed of that particular account.
3.FILE DESIGN
It includes the structure of database files used in the project entries and output
report is received on the computer. The major effect will be considered with master file
but the other file need to be carefully enumerated. The Two files name
“BANKING.DAT” & “INITIAL.DAT” are used and the following major data attributes
are used in the files:
struct trans
PROPOSED SYSTEM
PROPOSED SYSTEM
1. Opening of account
2. Updating of account
3. Closing of account
4. Return to main menu
The first option “opening of account “ in the depositor’s submenu helps to enter the
new depositor’s record, it displays the depositor’s account number itself and prompts for
depositor’s name, address, telephone number, occupation, mode of operation, particulars of
nominee, some required information in case of minor’s account and particulars of
introducer, it also create a new and separate record for each depositor, , it will not accept
blank while getting the information about introducer, it also accept only given choices for
mode of operation. If any other illegal choice is given, it gives appropriate message and
again prompts for mode of operation. After entering all the required information in account
opening module, it prompts for saving of these informations if yes is given then it asks for
deposition amount. It can op[en an account only for amount greater than or equal to Rs.
500/- , after entering the deposition amount a new record is created for new depositor.
The second option “updation of record “ is used to modify the existing depositor’s
record, firstly it asks for depositor’s account number to be modified. If it finds that
account number, it displays that record and prompts for modification. It can modify
entries namely depositor’s name, address telephone number, mode of operation.
Particulars of nominee., after performing modification it asks for saving new
information, if yes is given then it updates the existing record of that particular account
number otherwise previous information will remain the part of record.
The third option “closing of account” is used to close any account. First of all it asks for
account number to be closed. When it finds that account, it displays the record and ask
for closing of account. If yes is given here, it checks for the balance amount for that
account. If there is some balance then to close the account it prompts for the withdrawal
of balance amount,. After making the withdrawn it changes the current balance to zero
for that account and deletes that account.
The last option in the depositor’s submenu as the name suggests is for return is for
return to main menu.
2. Amount transaction :-
The second option in the main menu is concerned with daily amount transactions. It also
contains the following option :-
1. To deposit
2. To withdraw
3. Return to main menu
The first option is for the deposition of amount. Firstly it prompts for the account
number in which amount is to be deposited. It can’t accept blank here. If it finds that
particular account number, it displays the depositor (s) name, address and prompts for
entering particulars i.e. mode of transaction e.g. by cash or cheque etc. If cheque is
given here, then it asks for cheque number can’t be blank. After that it asks for the
amount to be deposited. It can’t accept deposition amount of less than Rs.5/-. After that
it prompts for the saving this entry. If we press “y’ then it saves the entry in transaction
record file and asks for making more transcation.
The second option “ to withdraw “ is used for withdrawal of money from account.
Similarly as in above case, by giving only depositor’s account number, its name and
address appears on the screen. After that it accept particulars and amount be withdrawn.
No withdrawals will be made for less than Rs.5/-. It does not allow you to withdraw
more money than the correct balance in your account.
4. 3. Interest calculation :-
This is third and very important option, because every depositor deposits his amount for
interest. This program will calculate the interest on the minimum balance amount
deposited in the month on any day between the end of 10 th day and end of each calendar
month at the rate of 4.0 percent. It will ask for the month and date of month for which
interest is to be calculated. By taking month and date, it works automatically, takes
minimum amount and calculates the interest and credit interest to each depositor’s
account. If interest is already calculated it can’t do further and after giving appropriate
message it exits from the program.
4. Reports :-
1. Depositor’s report
2. Transaction report
3. Return to main menu
From the first option we can see the list of depositors. We can also get the information
for specific account form first option. It can also provide us the option to take hard copy
of all these information’s. Similarly by the second option “ transaction report “ we Can
take the information on the transactions performed in the particular period of time.
Period is specified by giving date from (is the date from which report is required) and
date to (is the date to which report is required). It also provides the option for getting
the transaction information for specific account. In this case also it asks for the period
for which rep9ort is required i.e. it asks for date from and date to. It also provides the
option to take the printout of these reports.
5. Exit :-The last option in the main menu is to exit from the program. If we don’t
want to do further we can select exit to come out from the program.
CODING
CODING
/*----------------------------------------------------------------------
THIS IS THE PROGRAME FOR MAINTAINING THE DATA BASE OF
CUSTOMERS ACCOUNTS DETAILS IN A BANK
-----------------------------------------------------------------------*/
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<dos.h>
FILE *fp,*ft;
int recsize;
char choice,any,ch,eno[23];
double dep,withdraw;
double a,n;
struct date d;
/*-----------------------FUNCTION DEFINITIONS---------------------*/
void acc_info(cust *p);
void add();/* to add new account*/
void list();
void transac();/*to make transactions(deposit/withdrawal)*/
void del(); /* to delete a perticular account*/
void report(); /* to print report on customer balance*/
float calculate_interest(cust *p); /*To calculate intrest*/
int no_of_days(int d1, int m1, int y1, int d2, int m2, int y2);
void calbig();
void intro();
void calwin(); /* these 4 functions*/
void load();
void calbox(); /* for creating appearance*/
void box(int a, int b, int c, int d); /* appearance effects*/
/*------------------------------------------------------------------------*/
void main()
{
int k ;
char pass[10] = {"bank"}; /* Password of the Program.*/
char p[10]; /* Variable for the Password.*/
char ps;
char choice;
int i = 0, c = 45,d1,m1,y1;
textcolor(GREEN);
clrscr();
load();
intro();
getch();
if(strcmp(p,pass) == 0)
{
gotoxy(28,18);
textcolor(YELLOW + BLINK);
cprintf("YOU ARE SUCCESSFULY LOGGED IN... ");
delay(1000);
}
else
{
gotoxy(27,18);
cprintf("SORRY! ACCESS DENIED..... ");
gotoxy(27,20);
cprintf("LET'S TRY AGAIN [Y]/[N] : ");
choice = getche();
if (choice == 'Y'|| choice == 'y'||choice == '\r')
goto password;
else
exit(0);
}
} /*end of pass word block*/
fp = fopen("bank.txt","rb+");
if (fp == NULL)
{
fp = fopen("bank.txt","wb+");
if (fp==NULL)
{
puts("cannot create a file ");
exit(1);
}
}
while(1)
{
/* _setcursortype(_SOLIDCURSOR);*/
calwin(); textbackground(BLACK); clrscr(); /*yellow*/
calwin(); textbackground(LIGHTGRAY); clrscr();
window(19,7,64,39);
delay(300); textbackground(BLACK); textcolor(BROWN); clrscr();
window(18,6,62,37);/*blue window*/
textbackground(LIGHTBLUE); textcolor(GREEN); clrscr(); delay(100);
gotoxy(12,2); cprintf("================== \n");
highvideo(); textcolor(WHITE+BLINK);
gotoxy(11,3); cprintf(" W O R L D B A N K\n");
textcolor(GREEN);
gotoxy(12,4); cprintf("==================\n");
gotoxy(4,6); cprintf("M A I N - M E N U \n");
gotoxy(4,7); cprintf("#################");
getdate(&d);
d1 = d.da_day ;
m1 = d.da_mon ;
y1 = d.da_year ;
gotoxy(34,6); cprintf("%d-%d-%d",d1,m1,y1);
gotoxy(4,9); cprintf("A-> Adding a new Account\n");
gotoxy(4,12); cprintf("L-> List all Accounts\n");
gotoxy(4,15); cprintf("T-> Transaction [Deposit/Withdraw]\n");
gotoxy(4,18); cprintf("D-> Delete any \n");
gotoxy(4,21); cprintf("F-> Find an Account\n");
gotoxy(4,24); cprintf("R-> Reports \n");
gotoxy(4,27); cprintf("E-> Exit \n ");
gotoxy(4,29); cprintf("Enter your choice [A,L,T,D,F,R,E] :");
fflush(stdin); ch = getchar();
switch(toupper(ch))
{
case 'A' :
calwin();
textbackground(BLUE); textcolor(BLACK);clrscr();
add();
break;
/*---------------------------------------------------------------*/
case 'L':
calwin();delay(100);
textbackground(LIGHTCYAN); textcolor(BLACK); clrscr();
list();
break;
/*--------------------------------------------------------------*/
case 'T':
calwin();
textbackground(WHITE); textcolor(BLACK); clrscr();
transac();
break;
/*----------------------------------------------------------*/
case 'D' :
calwin();
del();
break;
/*--------------------------------------------------------------*/
case 'F':
/* _setcursortype(_NOCURSOR);*/
k=valid();
if(k==2)
{
rewind(fp);
while(fread(&p1,sizeof(p1),1,fp)==1)
{
if(strcmp(p1.cus_ac_no,eno)==0)
{
acc_info(&p1);
}
}
}
else
{
calbox(); highvideo(); textcolor(WHITE+BLINK);
gotoxy(15,12); cprintf(" THIS IS INVALD NUMBER.");
gotoxy(18,14); cprintf(" TRY AGAIN");
getch();
}
break;
/*--------------------------------------------------------------*/
case 'R':
calbig();
gotoxy(4,12); cprintf("=============================================");
gotoxy(14,14);cprintf("REPORT OF WORLD BANK CUSTOMERS");
gotoxy(4,16); cprintf("=============================================");
gotoxy(4,21); cprintf(" Enter the Range of Customer Balance to view Details :");
gotoxy(7,23);cprintf("Rs :");
gotoxy(13,23);scanf("%lf",&n);
report(n);
break;
/*------------------------------------------------------------*/
case 'E':
intro();
highvideo(); textcolor(LIGHTGRAY+BLINK);
gotoxy(24,5); cprintf("THANK YOU FOR USING THIS SOFTWARE");
highvideo(); textcolor(GREEN);
getch();
fclose(fp);
exit(1);
break;
/*--------------------------------------------------------------*/
default :
/* _setcursortype(_NOCURSOR);*/
window(23,43,57,49); textbackground(BLACK); clrscr();
window(22,42,56,48);
textbackground(BLUE); clrscr();highvideo(); textcolor(WHITE+BLINK);
gotoxy(5,3); cprintf(" SORRY WRONG CHOICE....");
gotoxy(5,5); cprintf(" PRESS ANY KEY TO CONTINUE....");
getch();
calwin(); clrscr();
break;
}/*end of switch*/
}/*end of while*/
} /*end of void main*/
/*-----------------------------------------------------------------*/
void calwin() /* Painting of whole screen*/
{
window(1,1,80,50); clrscr();
}
/*-----------------------------------------------------------------*/
while(fread(&p1,sizeof(p1),1,fp)==1)
{
if(strcmp(p1.cus_ac_no,eno)==0)
{
k=2;
break;
}
}
return(k);
}
/*-----------------------------------------------------------------------*/
void acc_info(cust *p)/*Printing of an Account Details*/
{
calbox();
/* _setcursortype(_NOCURSOR);*/
gotoxy(8,2); cprintf("============================================\n");
gotoxy(8,3); cprintf("......Customer's Infermation .......");
gotoxy(8,4); cprintf("============================================\n");
gotoxy(7,7); cprintf("|-> Customer Account number is:- %s",p->cus_ac_no);
gotoxy(7,10); cprintf("|-> Customer Name is:-%s",p->cus_name);
gotoxy(7,13); cprintf("|-> Customer Address is:- %s",p->cus_add);
gotoxy(7,16); cprintf("|->Customer Phone number is:- %s",p->cus_ph_no);
p->cus_bal+=calculate_interest(p);
gotoxy(7,19); cprintf("|-> Customer Balence is :- %.3lf Rs",p->cus_bal);
gotoxy(7,22); cprintf("|->Account opened on :- %d-%d-%d ",p->dd,p->mm,p->yy);
highvideo(); textcolor(WHITE+BLINK);
gotoxy(7,24); cprintf("<-->Press any key to continue");
getch();
}
/*--------------------------------------------------------------------------*/
void add()/*Addition of a new Account*/
{
int k;
clrscr();
any='y';
do{
k=valid();
if(k==2)
{
calbox(); highvideo(); textcolor(WHITE+BLINK);
/* _setcursortype(_NOCURSOR);*/
gotoxy(12,12); cprintf(" This Account number already exist ");
gotoxy(19,14); cprintf(" Try again ");
getch();
break;
}
calbox( );
strcpy(p1.cus_ac_no,eno);
gotoxy(5,5); cprintf(" Enter customer name : ");
fflush(stdin); gets(p1.cus_name);
gotoxy(5,9); cprintf(" Enter customer address : ");
fflush(stdin); gets(p1.cus_add);
gotoxy(5,14); cprintf(" Enter customer phone number :");
fflush(stdin); gets(p1.cus_ph_no);
gotoxy(5,18); cprintf(" Enter the amount you want deposit :");
scanf("%lf",&p1.cus_bal);
gotoxy(5,19); cprintf(" ================================= :");
getdate(&d);
p1.dd = d.da_day ;
p1.mm = d.da_mon ;
p1.yy = d.da_year ;
fseek(fp,0,SEEK_END); fwrite(&p1,sizeof(p1),1,fp);
gotoxy(5,22); cprintf("Add another account (y/n) : ");
fflush(stdin); any = getchar();
}while(tolower(any)=='y');/*end of do while*/
/* getch();*/
}
/*----------------------------------------------------------*/
void list()/*Printing all Accounts Details*/
{
clrscr();
rewind(fp);
while(fread(&p1,sizeof(p1),1,fp)==1)
{
acc_info(&p1);
}
}
/*-----------------------------------------------------------*/
void transac()/*Updating an Account*/
{
int k,p,t,r;
clrscr();
k=valid();
rewind(fp);
if(k!=2)
{
/* _setcursortype(_NOCURSOR);*/
calbox(); highvideo(); textcolor(WHITE+BLINK);
gotoxy(12,12); cprintf(" This is not a valid number ");
gotoxy(19,14); cprintf(" Try again");
getch();
}
else
{
while(fread(&p1,sizeof(p1),1,fp)==1)
{
if(strcmp(p1.cus_ac_no,eno)==0)
{
calbox();
gotoxy(11,4); cprintf(" What do you want to do : ");
gotoxy(5,7); cprintf("1->.Deposit");
gotoxy(5,10); cprintf("2->.Withdraw");
gotoxy(5,13); cprintf("3->Exit");
gotoxy(5,17); cprintf("Enter your choice :");
fflush(stdin);
choice=getchar();
switch(choice)
{
/*-----------------------------------------------------*/
case '1':
calbox();
gotoxy(5,5); cprintf("Enter the money you want to Deposit :");
gotoxy(8,7);cprintf("Rs :");
scanf("%lf",&dep);
p1.cus_bal+=dep;
acc_info(&p1);
recsize = sizeof(p1);
fseek(fp,-recsize,SEEK_CUR); fwrite(&p1,sizeof(p1),1,fp);
getch();
break;
/*----------------------------------------------------*/
case '2':
calbox();
gotoxy(10,12); cprintf("Enter the money you want to Withdraw : ");
gotoxy(12,14);cprintf("Rs :");
gotoxy(17,14);scanf("%lf",&withdraw);
if(p1.cus_bal<withdraw)
{
/* _setcursortype(_NOCURSOR);*/
calbox(); highvideo(); textcolor(WHITE+BLINK);
gotoxy(7,12);cprintf("YOU DONT'VE THIS MUCH MONEY IN YOUR
ACCOUNT");
gotoxy(19,14); cprintf("TRY AGAIN");
getch();
}
else
{
p1.cus_bal-=withdraw;
recsize = sizeof(p1);
fseek(fp,-recsize,SEEK_CUR);
fwrite(&p1,sizeof(p1),1,fp);
acc_info(&p1);
}
break;
/*--------------------------------------------------------*/
case '3':
break;
/*--------------------------------------------------------*/
default:
/* _setcursortype(_NOCURSOR);*/
window(23,43,57,49); textbackground(BLACK); clrscr();
window(22,42,56,48);
textbackground(BLUE); clrscr();highvideo(); textcolor(WHITE+BLINK);
gotoxy(5,3); cprintf(" SORRY WRONG CHOICE....");
gotoxy(5,5); cprintf(" PRESS ANY KEY TO CONTINUE....");
getch();
calwin(); clrscr();
break;
/*---------------------------------------------------------------*/
} /*end of switch*/
}/* end of inner if*/
}/*end of while*/
}/*end of outer else*/
}/*end of Transaction function*/
/*----------------------------------------------------------*/
void del() /*Deletion of an Account*/
{
int k;
clrscr(); calbox();
k=valid();
/* _setcursortype(_NOCURSOR);*/
if(k==2)
{
calbox(); highvideo(); textcolor(WHITE+BLINK);
gotoxy(16,12); cprintf(" ARE YOU SURE ");
gotoxy(7,14); cprintf(" YOU WANT TO DELETE THIS ACCOUNT (Y/N):\n");
if(toupper(getchar())=='Y')
{
ft = fopen("temp.dat","wb+");
rewind(fp);
while(fread(&p1,sizeof(p1),1,fp) == 1)
{
if(strcmp(p1.cus_ac_no,eno)!=0)
{
fwrite(&p1,sizeof(p1),1,ft);
}
}
fclose(fp); fclose(ft);
remove("bank.txt");
rename("temp.dat","bank.txt");
fp = fopen("bank.txt","rb+");
} /*end of inner if*/
} /*end of outer if*/
else
{
calbox(); highvideo(); textcolor(WHITE+BLINK);
gotoxy(12,12); cprintf(" THIS IS NOT A VALID NUMBER ");
gotoxy(19,14); cprintf(" TRY AGAIN");
getch();
}
}
/*---------------------------------------------------------------------*/
void report(double k)
{
int count=1,i=0,temp;
calbig();
rewind(fp);
/* _setcursortype(_NOCURSOR);*/
factor_10: {
if(count%10==0)
{
temp=count;
rewind(fp); count=1;
while(fread(&p1,sizeof(p1),1,fp) == 1)
{
count++;
if(count<temp) continue;
else break;
}
}
while(fread(&p1,sizeof(p1),1,fp)==1)
{
if(p1.cus_bal>=k)
{
gotoxy(4,13);
cprintf("=============================================");
gotoxy(6,15); cprintf("Account no");
gotoxy(23,15); cprintf("Name");
gotoxy(40,15); cprintf("Balence");
gotoxy(4,17);
cprintf("=============================================");
gotoxy(6,19+i); cprintf(" %s ",p1.cus_ac_no);
gotoxy(23,19+i); cprintf(" %s ",p1.cus_name);
p1.cus_bal+= calculate_interest(&p1);
gotoxy(40,19+i); cprintf(" %.3lf",p1.cus_bal);
count++;
i=i+2;
if(count%10==0)
{
/* _setcursortype(_NOCURSOR);*/
i=0;
gotoxy(4,37); cprintf("-----------------------------------------------------");
highvideo(); textcolor(WHITE+BLINK);
gotoxy(7,38); cprintf(" <->Press any key to continue ");
getch(); calbig();
goto factor_10;
}
}/* end of inner if*/
} /*end of while*/
} /*end of factor_10 block*/
gotoxy(4,11);cprintf("customers contain Balence more than %.3lf RUPEES are :%d",k,count-
1);
getch();
}
/*---------------------------------------------------------------------*/
void calbox() /*creat small window*/
{
calwin(); textbackground(LIGHTGRAY);clrscr();
/*black window*/
window(9,9,62,35); textbackground(BLACK); textcolor(BROWN); clrscr();
/*blue window*/
window(8,8,60,33);delay(150);
textbackground(LIGHTBLUE); textcolor(GREEN); clrscr();
box(2,2,52,25);
}
/*----------------------------------------------------------------------*/
void calbig() /*creat huge window*/
{
int count=0;
window(1,1,80,50); textbackground(LIGHTCYAN);clrscr();
window(5,5,73,45); textbackground(BLACK);clrscr();
window(3,3,70,42); textbackground(BLUE);textcolor(GREEN); clrscr();
box(3,2,66,37);
rewind(fp);
while(fread(&p1,sizeof(p1),1,fp)==1)
count++;
gotoxy(15,3); cprintf(" REPORT OF WORLD BANK CUSTOMERS");
gotoxy(14,4); cprintf("##################################");
gotoxy(5,7); cprintf("Total No Of Accounts Are :- %d",count);
gotoxy(5,8); cprintf("---------------------------------");
}
/*--------------------------------------------------------*/
void intro()
{
/* _setcursortype(_NOCURSOR);*/
calwin();
textbackground(BLACK);
clrscr();
box(15,8,69,30); /*calbox();*/
highvideo(); textcolor(CYAN);
gotoxy(25,11); cprintf("\xde PROJECT ON BANKING AUTOMATION \xde");
textcolor(GREEN);
box(15,8,69,13);
highvideo(); textcolor(CYAN);
gotoxy(20,16); cprintf("COMPUTERIZED APPROACH ");
highvideo(); textcolor(CYAN);
/* gotoxy(36,19); cprintf("\xde NITESH SONDHI \xde");*/
/* gotoxy(36,21); cprintf("\xde CSC \xde ");*/
/* gotoxy(30,23); cprintf("\xde Software Engg.\xde ");*/
/* gotoxy(30,25); cprintf("\xde India \xde ");*/
/* gotoxy(30,27); cprintf("\xde mail:[email protected] \xde");gotoxy(36,19);
cprintf("\xde A.SRINIVAS REDDY \xde");*/
/* textcolor(WHITE+BLINK);*/
gotoxy(30,32);cprintf("<-> Press any key to continue");
}
/*-----------------------------------------------------------*/
void box(int a, int b, int c, int d) /*to generarate box like finishing*/
{
int i,j ;
for( i = a; i < c; i++)
{
gotoxy(i,b); printf("\xcd");
gotoxy(i,d); printf("\xcd");
}
for( j = b; j < d; j++)
{
gotoxy(a,j); printf("\xba");
gotoxy(c,j); printf("\xba");
}
gotoxy(a,b); printf("\xc9");
gotoxy(c,b); printf("\xbb");
gotoxy(a,d); printf("\xc8");
gotoxy(c,d); printf("\xbc");
}
/*----------------------------------------------------------------------*/
void load() /* For creating loading effect*/
{
int a=5,b=19,c=78,d=21,i,j,k;
calwin();
textbackground(BLACK);
clrscr();
gotoxy(38,17);
cprintf("Loading....");
box(a,b,c,d);
/* _setcursortype(_NOCURSOR);*/
textcolor(BLUE);
for(i=1;i<(c-5);i++)
{
gotoxy(a+i,b+1);
delay(60);
cprintf("\xdd");
}
for(i=1;i<(c-5);i++)
{
gotoxy(a+i,b+1);
delay(60);
cprintf("\xdb");
}
/* _setcursortype(_NOCURSOR);*/
textcolor(GREEN);
}
/*--------------------------------------------------------------------*/
int no_of_days(int d1, int m1, int y1, int d2, int m2, int y2)
{
static int months[] = {31,28,31,30,31,30,31,31,30,31,30,31} ;
int days = 0 ;
while (d1 != d2 || m1 != m2 || y1 != y2)
{
days++ ;
d1++ ;
if (d1 > months[m1-1])
{
d1 = 1 ;
m1++ ;
}
if (m1 > 12)
{
m1 = 1 ;
y1++ ;
}
}
return days ;
}
/*-------------THIS FUNCTION CALCULATES INTEREST------------------*/
float calculate_interest(cust *p)
{
int d1, m1, y1, d2, m2, y2, months=0, days ;
d1 = p->dd ;
m1 = p->mm ;
y1 = p->yy ;
getdate(&d);
d2 = d.da_day ;
m2 = d.da_mon ;
y2 = d.da_year ;
p->cus_intrst=0.0 ;
if ((y2<y1) || (y2==y1 && m2<m1) || (y2==y1 && m2==m1&& d2<d1))
return p->cus_intrst;
days = no_of_days(d1,m1,y1,d2,m2,y2) ;
_________________________________________
_ _
_ _
_ _
_ NEW ACCOUNT _
_ LIST ACCOUNTS _
_ LIST INDIVDUAL _
_ EDIT ACCOUTS _
_ TRANSACTIONS _
_ MONTHLY REPORT _
_ EXIT _
_ _
_ _
_ _
_________________________________________
¦ Date: 4/2/2014 ¦
¦ ¦
¦ Account No # 3 ¦
¦ ¦
¦ Name : RAJIV
¦ Address : OLDHAMIDA ¦
¦ Name of verifying person : SUNIL ¦
¦ Initial Deposit : 5500 ¦
¦ ¦
¦ ¦
¦ ¦
+---------------------------------------------------------------------------- +
Accounts List in Bank
===================== Date: 4/2/2014
===============================================================================
Accno# Name Address Balance
===============================================================================
1 GAGAN YNR 6000.00
2 RR FF 2000.00
3 RAJIV OLDHAMIDA 5500.00
===============================================================================
Total Balance in Bank is : 13500.00
OLDHAMIDA
Transaction in Account
Date: 4/2/2014
Accnount no. 3
Cash/Cheque : CASH
Save Transaction <Y/N> : Y
Amount Rs. 1000 Interest 0.000000
<0>=Exit
OLDHAMIDA
<0>=Exit
Enter account no. 3
Date: 3/2/2014
Modify Account Screen
Account no. 3
Name : RAJIV
Address : OLDHAMIDA
Balance : 6500.00
Name : RAJIV
Address : NEWHAMIDA
Do you want to save Changes <Y/N>: Y
Record modified
WELCOME TOBANKSYSTEM
********************
******************
****************
**************
************
**********
********
******
****
**
▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐ ▐
▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐ ▐
▐ ▐ WELCOME TO PROJECT BANKING ▐ ▐
▐ ▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐ ▐
▐ ▐
▐ In this Project you can keep record of daily banking ▐
▐ transactions. ▐
▐ ▐
▐ This program is capable of holding any no. of account. ▐
▐ ▐
▐ $ In first option you can see the account of a particular ▐
▐ person by giving simply account no. of that person. ▐
▐ ▐
▐ $ In second option you can see the list of all the accounts. ▐
▐ ▐
▐ $ Through third option you can do banking transactions ▐
▐ (Deposit/Withdraw). ▐
▐ ▐
▐ $ In Fourth option you can open new account. ▐
▐ (NOTE: Opening amount should not less than Rs.500/- ▐
▐ ▐
▐ $ In Fifth option you can modify or Delete any account. ▐
▐ ▐
▐ $ And last option is Quit (Exit to Dos). ▐
▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐▐ Press any key to continue
Account No. 3 RAJIV Date: 14/11/2014
OLDHAMIDA
OLDHAMIDA
Name : RAJIV
Address : OLDHAMIDA
Balance : 6500.00
Name : RAJIV
Address : NEWHAMIDA
Do you want to save Changes <Y/N>: Y
Record modified
This project report is based upon bank saving system. In this projects , I have tried to change
the whole manual process into computerised form. I have covered almost every problem of
existing system and proposed solution for the problems.
Although, I am not a perfect programmer of C, yet I have tried my level best to make this
project. I have prepared this project with true sincerity and hard work according to the
sources and information available.
But “nothing is perfect in this world”. My project also have certain assumptions and
limitations, which are as follows.
1. Due to shortage of time, I have skipped the report on accounts which are closed.
Therefore, from the project we can not get the information on the accounts which are
closed.
2. In this project, there is no check on the account, whether it has cheque book or not.
3. This project also suffers from the limitation of less documentation. More checks can
be included on each wrong input, but due to shortage of time I can’t give attention to
each aspect.
4. If a person feeds wrong data for any entry, then it may produce wrong results.
5. Whenever system is working and power is switched off, data can be lost.
6. if more than one transaction is made on same date, then the main data base file does
not show repeated date entries.
FUTURE SCOPE
FURTHER SCOPE
The presented project report is on “Banking System”. I have tried my level best to make
this project. This proposed project report is computerized. Because the presented system
is manual and the file handing become easier in computerized system. It is very flexible
and easy to understand and I find that the banking becomes more efficiently. so I
developed this project report in this language. In this project report I have tried to make
an attempt to change the existing manual system of bank saving system into
computerised form. I have suggests the proposed for almost all the problems in existing
system.
In proposed system speed of calculation interest is very high. Record maintained is easy
because all records are stored in seperate file. Error detection is easy because data is
stored in one place. We can easily get reports on depositor’s or transactions we want
modification can be easily performed. Duplicacy of data is reduced. User should not have
any difficulty while operating the computer system. The present system is friendly and
even a person who is not from computer background can operate it easily. The proper
menu arrangement is made for the user of this system.
REFERENCES
REFERENCES
I have used so many references from the magazines, internet, books etc. The books
followed by me for this project are given below:
Books
2 Avadh SAD
Programming
Websites
1. Websites: www.ccodesprojects.com
www.howstuffworks.com
www.systemproj.com