Sie sind auf Seite 1von 130

BANK MANAGEMENT SYSTEM

A PROJECT REPORT
ON
BANK MANAGEMENT
SYSTEM C++

Page: 3
Reg. No:-

BANK MANAGEMENT SYSTEM

To Whom It May Concern

This is to certify that . (. Reg. No : )


Has successfully completed this project in partial fulfillment of A
Level examination conducted by Society, under my
supervision.

.
(PROJECT CO-ORDINATOR)

Page: 4
Reg. No:-

BANK MANAGEMENT SYSTEM

Index
Certificate
Acknowledgment
1. Introduction
-objective & Goal
2. Project Initiation
3. SDLC
3.1 System Analysis
-Problem in the Current system
-Feature of the proposed system
-Feasibility Study
-Gantt Chart
-Methodology used
-Hardware & Software Requirements
3.2 Design
-ER Diagram
-DFD
-Structure chart
- Data Dictionary
3.3Source code
3.4Testing
- Input & Output Screens
Page: 5
Reg. No:-

BANK MANAGEMENT SYSTEM

3.5Implementation
- User Manual
3.6Maintenance
4. Limitations
5. References
6. Suggestions

Page: 6
Reg. No:-

BANK MANAGEMENT SYSTEM

CERTIFICATE
This is to certify that .. Institute assigned Mr.
, Registration Number-
the project BANKING. He has submitted this project report in
accordance with the third year syllabi requirements of Bachelor
of Computer Application by .., Amritsar for the
academic year 2007-2008.

(Project Guide)

(Head Of The Department)

Page: 7
Reg. No:-

BANK MANAGEMENT SYSTEM

ACKNOWLEGEMENT
I consider it a privilege to express through the pages of this report,
a few words of gratitude and respect to all those guided and
inspired in the completion of the project.
It was a pleasure working at the library of our college. I found the
library to be very useful. I m thankful to the librarian for allowing
me to access the facilities available.
I m deeply indebted to our guide
who
constantly encouraged me and I tender my utmost gratitude and
appreciation for the her invaluable guidance and suggestions. I m
also thankful to our program director respected
for providing such an excellent teacher and a well organized
laboratory.
I wish to express my indebtedness to the rest of the staff of the
organization for their help and encouragement. Their untiring
enthusiasm and zeal has always inspired me in my project.
Last but not the least I m thankful to my parents who were and
always be a guiding spirit for all the efforts I do for my studies. All
the good word, in which I may express my feelings, are less to
thank them. Please pardon me, if by mistaken I have forgotten to
thank someone for the support in his/her support to this project.

Page: 8
Reg. No:-

BANK MANAGEMENT SYSTEM

INTRODUCTION
This software will be provided as a tool to the INDIAN BANK.
The
BANK

has

been

working

for

Accounts

information

Withdrawal(through Cash/Cheque). Deposit amount. In this


Software you can keep record for daily Banking transactions.
THE OBJECTIVE is to prepare a software or application, which
could maintain data & provide a user friendly interface for
retrieving customer related details just in few seconds, with 100%
accuracy. Software is completely computerized, so it is not time
consuming process. No paper work required & can be
implemented further .
The application should also facilitate the addition of new Customer
A/c, deletion of A/c& modification of existing customer A/C. To
Search for every individual accounts for a particular customer,
show all transaction & any account should be opened with
minimum Rest. 500 etc.

Page: 9
Reg. No:-

BANK MANAGEMENT SYSTEM

OBJECTIVE & GOALS

The objective & goals of the proposed system are:

To allow only authorized user to access various


functions and processed available in the system.

Locate any A/C wanted by the user.

Reduced clerical work as most of the work done by


computer.

Provide greater speed & reduced time consumption.

To increase the number of A/C and customer.

This will reduced the manual workload and give information


instantly. The software will maintain the list of A/C and customer
record and balance status.
The software will be user friendly so that even a beginner can
operate the package and thus maintain the status of A/C and
balance status easily.

Page: 10
Reg. No:-

BANK MANAGEMENT SYSTEM

PROJECT INIATION
1.1

Identify a problem or an opportunity.

1.2

Analyzing the current system in the light


of the problem/opportunity.

1.3

Justification of a new system or a


modification of the old to meet the needs of the
users.

1.1 Problem Definition


Recognition of problem
A new opportunity that the present system cannot handle pressures
Managers, non- managers or environment elements usually
recognize problems very rarely by information specialists.
Managers find out where the problem exists & what the cause
might be.

In defining the problem:


Page: 11
Reg. No:-

BANK MANAGEMENT SYSTEM

a.

Find what makes the situation problematic by:

Observing the process

Interviewing the participants

Examining reports and documentation

b.

Define the human activity system (ROOT DEFINITION)

Means of transformation of info

Actors

Owners of the system

Customer of the system

Environmental constraints

c.

Form a model of activities and compare it with ROOT

DEFINITON
d.

Find a consensus solution changes will be

structural procedural and in attitudes.


1.2

Requirement Analysis

Calculation of the gap between the present performance of the


system and of the best possible one and finding out the system that
can fill in this gap
Page: 12
Reg. No:-

BANK MANAGEMENT SYSTEM

Using:

Interviews

Surveys

Direct observation

Information requirement of system:

Data to be collected and processed

Output to be produced

The way to make it available for the users

While Determining Information Requirements :


I.

FROM PEOPLE

Interviewing: Preferred because:

Two- way communication including


body language

Stimulates enthusiasm

Page: 13
Reg. No:-

BANK MANAGEMENT SYSTEM

Establishing trust between user & IS.

Different or opposing ideas can be


expressed.

But answer will be:

Incomplete

Inaccurate

Not clear

Incorrect emphasis

II. FROM EXISTING SYSTEM

The existing procedure that are going to be


replaced

III.

Similar system in other organizations

Standard software solutions

Description of similar system in publications

FROM EXPERIMENTAL METHODS


Page: 14

Reg. No:-

BANK MANAGEMENT SYSTEM

Prototype: Combination

of HW & SW

exhibiting some features of the information system, but


incomplete.

IV.

FROM UTILIZING SYSTEM


Analyst is part of the organization where the new
system will be used and information transformation
in this part.

1.3

Project Justification
Analyst prepares alternative systems and decides
which to propose by doing COST/BENEFIT
analysis.

Page: 15
Reg. No:-

BANK MANAGEMENT SYSTEM

Page: 16
Reg. No:-

BANK MANAGEMENT SYSTEM

System Development Life cycle


The structured sequence of operation required imaging developing and
Making operational a new information system its a cycle because the
System will need replacement and
Development, cycle will begin.

Page: 17
Reg. No:-

BANK MANAGEMENT SYSTEM

Phases of SDLC
1

System Analysis

System Design

Coding

System Testing

System Implementation

System Maintenance

Page: 18
Reg. No:-

BANK MANAGEMENT SYSTEM

PROBLEM FACED IN THE CURRENT SYSTEM

Page: 19
Reg. No:-

BANK MANAGEMENT SYSTEM

In the current system data related to


banking is maintained by writing it on to various
registers.

Registers may lost or damage.

Any unauthorized person can access


confidential data.

Any information cannot be easily


e\searched.

Each A/C and customer is assigned a


unique code. Whenever a new book or member is
added then librarian has to search whether that code
is previously existing or not.

When a particular A/c is to be


modified for one or more fields the user can be
modified.

There is time wastage in data


accessing, data entry and while data retrieving from
the banking register.

Page: 20
Reg. No:-

BANK MANAGEMENT SYSTEM

FEATURES PROPOSED IN THE CURRENT


SYSTEM
Any information can be easily searched.
All records of A/c`s and customer are stored in
separate files. Which
Are maintained constantly update by system.
Particular A/c information can be modified.
A particular customer record can be modified for one
or more fields customer name, address by providing
A/c number.
A customer record can be easily deleted by providing
A/c number.
The proposed system provides faster data access, data
entry and retrieval.
The proposed system is more efficient, fast, reliable,
user friendly.
Over and above the proposed system does not have
any possibility of data loss during processing.
Page: 21
Reg. No:-

BANK MANAGEMENT SYSTEM

FEASIBILITY STUDY

Depending on the result of the initial investigation the survey was


expanded to a more detailed feasibility study.
Feasibility is the process of defining exactly what is and what
strategic issue needs to be considered to access its feasibility, or
likelihood of succeeding. Feasibility studies are useful both when
starting a new business and identifying a new opportunity for an
existing business.
Feasibility study is a test of a system proposal according to its
workability and impact on the organization, ability to meet user
needs and effective use of resources.
The feasibility study conducted for this project mainly gives
answer to these

Page: 22
Reg. No:-

BANK MANAGEMENT SYSTEM

Questions:1. What are the users demonstrable needs and how


does a candidate system meet them?
2. What resources are available for the given candidate
system? Is the problem worth solving?
3. What is likely impact of the candidate system on the
organization?
4. How well does it fit within the organizations master
plan?
Answer to this question revolves around investigation and
evaluation of the problem, identification and the description of the
candidate system, specification of performance and the cost of
each system and the final selection of best system.
The objective of this feasibility study is not solving the problem
but acquire a sense of scope. During the study of the problem
Page: 23
Reg. No:-

BANK MANAGEMENT SYSTEM

definition was crystallized and aspect of the problem to be


included in the system is determined.

Feasibility Consideration
The were three key consideration involved in this feasibility
analysis each consideration has reviewed to depict how it relates to
the system effort.
They are as follows:1. Economic feasibility
2. Technical feasibility
3. Operational feasibility

1) ECONOMIC FEASIBILITY
Economic analysis is the most frequently used technique for
evaluating the effectiveness of
commonly known s cost/benefit

Page: 24
Reg. No:-

a proposed system. More

BANK MANAGEMENT SYSTEM

Analysis in this procedure we determine the benefits and


saving that are
Expected in this procedure we determine the benefits and
saving that are expected from the proposed system and
compare the cost; we take a decision and implement the new
proposed system.
The manual efforts involved in maintaining the A/c and
customer information, the withdrawal, the deposit and
balance calculation, is tremendous. This is so because the
volume of information to be handled is tremendous.
Maintaining the records of these many customers is not easy
and the manpower involved is great. With the help of
computers it is very easy to maintain the detail of book and
library and to keep track of available books.
In case of computerization, the cost involvement is not very
high. As it is used to be about 5-7 years back. All banking
management needs initially is a desktop computer, a printer
and a UPS to maintain continuous supply of electricity.

Page: 25
Reg. No:-

BANK MANAGEMENT SYSTEM

A single operator can handle many queries. On an average, it


should not take more 10-15 minutes to enter the information
of a customer.
As part of the feasibility study, an estimate is made whether
the identified user needs may be satisfied using the current
software and hardware. This study decides that whether or
not the proposed system will be cost effective from a
business point of view.
In this case, user has one head clerk who does all the work.
So the one clerk has maintain records regarding new A/c and
deletion of A/c addition and deletion of customer, balance
amount etc.

Since the volume of information to be handled by a single


person is tremendous. An analysis of the various alternatives
suggested by the software development team follows in
subsequent pages.
ALTERNATIVES

Page: 26
Reg. No:-

BANK MANAGEMENT SYSTEM

1. Hire more staff


2.

Develop a computerized system using VISUAL


BASIC & SQL server as database provider.

3.

Develop a computerized system using VISUAL


BASIC & ORACLE as the database provider.

4.

Develop a computerized system using C++ &


maintaining data file i.e. *.dat for database.

Develop a system using C++ and maintaining dat files ( .dat ) for
database.
The last option suggested was to develop a Banking management
system using Turbo C++ and storing the data in dat files that are
easily.
Its Advantages are:1.

The system will be platform independent and


there will be no need is for purchasing other very
expensive software. The Turbo C++ compiler is
easily and freely available and is compatible with
most of the computers. The system can be upgraded
and maintained easily to keep in tune with specific
Page: 27

Reg. No:-

BANK MANAGEMENT SYSTEM

needs of the customer. The memory required by this


software will not be much, so we wont have to
upgrade the present system (computer).
2.

The last alternatives suggested by the software


development team are the cheapest possible one .
Since the Banking already has a computer the only
major expenditure signaled out. The software is text
based so no formal training will have to be imparted.
The compiler is freely available. The only
expenditure that needs to be done is money cost of
software team.

Page: 28
Reg. No:-

BANK MANAGEMENT SYSTEM

RESULT
From the above analysis, the development team suggested that the
Banking management should decide to implement the fourth
alternative. i.e. that of developing a new software system using
Turbo C++ and maintaining data in DAT files.
The system will be developed using Turbo C++. The programming
language is c++. Thus without much of an expenditure the bank
will get the perfect software according to their needs.
The system will be very easy to understand and implement. The
management can ask the team for specific reports to be generated
and can also decide on the kinds of interface that it needs.
The various advantage of using DOS executable software is as
follows:

The software can be made exactly as per the


needs of the management.
Page: 29

Reg. No:-

BANK MANAGEMENT SYSTEM

No specific training is required to use the


software. The use just has to enter the fields
according to requirements.

Besides, a graphical user interface (GUI) will


be much more demanding on memory.

No overburdening of work for clerk since


most of the work will be performed by the system by
the system itself.

And lastly, the cost of development is very


less compared to other alternatives.

Page: 30
Reg. No:-

BANK MANAGEMENT SYSTEM

Plan

The followings plan was made for the development of the


software: First a prototype was developed and used to know more
about the requirements of the baking management.
The compiler was then installed which is easily available.
The acquired software can be used to execute the up
gradation plans of the library over the next five years.
Since c++ language is used to design the interface. Thus
interface can be designed exactly as per the requirements.
2.

Technical Feasibility

Page: 31
Reg. No:-

BANK MANAGEMENT SYSTEM

This is concerned with specifying equipment and software that will


successfully satisfy the user requirement. The technical needs of
the system may vary considerably, but might include:
-

The facility to produce outputs in a given time

Response time under certain conditions.

Ability to process a certain volume of transaction at a


particular speed.

Facility to communicate data to distant location.

After examining technical feasibility, we give more importance to


the configuration of the system than the actual make of hardware.
The configuration gives the complete picture about the systems
requirements:
Ten to twelve workstations are required, these units should be
interconnected through LAN so that they could operate and
communicate smoothly. They should have enough speeds of input
and output to achieve a particular quality of printing.
3.

Operational Feasibility

Page: 32
Reg. No:-

BANK MANAGEMENT SYSTEM

It is mainly related to human organizational and political aspects.


The points to be considered are:
- What changes will be brought with the system?
- What organizational structures are distributed?
- What new skills will be required? Do the existing staff
members have theses skills?
- If not, can they be trained in due course of time?
Generally project will not be rejected simply because of
operational infeasibility but such considerations are likely to
critically affect the nature and scope of the eventual
recommendations.

For operational feasibility study we appointed a small group of


people who are familiar with information system techniques, who
understand the parts of the business that are relevant to the
project and are skilled in system analysis and design process.

Page: 33
Reg. No:-

BANK MANAGEMENT SYSTEM

SYSTEM
FEASIBILITY

PROJECT
PLANNING

VALIDATION

VALIDATION

WATER FALL MODEL


SYSTEM DESIGN

DETAIL DESIGN

VERIFICATION

VERIFICATION

CODING

OPERATION

VERIFICATION

INSTALLATION
Reg. No:-

VERIFICATION

VERIFICATION

Page: 34

TESTING AND
INTEGRATION
VERIFICATION

BANK MANAGEMENT SYSTEM

Hardware and Software Used

The hardware used by the programmer for developing our project


named Fast food management system is as follows:i.

Pentium III computer -700 mhz

ii.

Motherboard Intel chipset 800

iii.

Hard disk capacity -5 GB

iv.

RAM 64 MB

v.

Monitors Color monitor with VGA card having a resolution


640 X 480

Software Used:-

Page: 35
Reg. No:-

BANK MANAGEMENT SYSTEM

The software used by the programmer for developing our project


named Bank Management System is as follows:1. Coding of the project C++
2. Components of the project C++
Maintenance and recording of data Datafiles

Page: 36
Reg. No:-

BANK MANAGEMENT SYSTEM

ENTITY RELATIONSHIP DIAGRAM

Name

Balanc
e

A/c
no.
Page: 37
Reg. No:-

Add

Opening
Date

BANK MANAGEMENT SYSTEM

USER

CREAT
E

CUSTOMER

DATA FLOW DIAGRAM


ZERO LEVEL OR CONTEXT DIAGRAM

USER /
ADMINISTRATOR

Grant access
Request for a/c details

Reports
BANKING
PROJECT
Page: 38

Reg. No:-

BANK MANAGEMENT SYSTEM


Queries

Request for access

Request for member details

Grant super
User access

USER /
ADMINISTRATOR

1st LEVEL DFD

INITIAL.DAT

USER /
ADMINISTRATOR

Request for a/c info.

VERIFY
A/c
NUMBER

If
ok
Page: 39
Reg. No:-

BANK MANAGEMENT SYSTEM

ACCEPT
CHOICE

SHOW
CUSTOMER
DETAIL

Page: 40
Reg. No:-

BANK MANAGEMENT SYSTEM

2ND LEVEL DFD

INTIAL.DAT

USER /
ADMINISTRATOR

PROCESSING

ACCEPT CHOICE
FORM
USER
OR
ADMINISTRATOR

7
QUIT
1
SEE
A/CS

2
LIST
OF A/C

3
TRANSA
CTION

4
OPEN
NEW
A/C

6
HELP

5
EDIT A/C

Page: 41
Reg. No:-

BANK MANAGEMENT SYSTEM

1. SEE ACCOUNT

ESC

USER /
ADMINISTRATOR

1.1
ACCEPT
CHOICE

1.1.2
ACCEPT
CHOICE

1.1.2.1
ACCEPT
CHOICE

INTIAL.DAT

Page: 42

BANK MANAGEMENT SYSTEM

2.LIST FO ACCOUNTS

ESC

USER /
ADMINISTRATOR

2.1
ACCEPT
CHOICE

2.1.1
DISPLAY
ALL
ACCOUNT

INTIAL .DAT

Page: 43

BANK MANAGEMENT SYSTEM

3.TRANSACTIONS

3.1
ACCEPT
CHOICE

USER /
ADMINISTRATOR

3.1.1
ENTER
A/C NO.

3.2.1.1
DEPOSIT
OR
WITHDRAW

3.1.1.1.1
CASH
/CHEQUE

3.1.1.1.2
CASH/CHE
QUE

Save transaction in the file


INTIAL.DAT

Page: 44

BANK MANAGEMENT SYSTEM

4.OPEN NEW ACCOUNT

3.1.1.1.2
CASH/CHE
QUE

USER /
ADMINISTRATOR

4.1.1
NAME

4.1.2
ADDRES
S

3.1.1.1.2
CASH/C
HEQUE

4.1.4
INTIAL
DEPOSI
T

BANKING.DAT

Page: 45

BANK MANAGEMENT SYSTEM

5.EDIT ACCOUNT

5.1
ACCEPT
CHOICE

USER /
ADMINISTRATOR

5.1.1
MODIFY
A/C

5.1.2
CLOSE
A/C

5.I.1.1
MODIFY
A/C

5.1.1.1.1
MODIFY
NAME

5.1.3
QUIT

5.1.2.1
ENTER
A/C NO.

5.1.1.1.2
MODIFY
ADDRES
S

5.1.2.1.1
DELETE
RECORD

BANKING.DAT

Page: 46

BANK MANAGEMENT SYSTEM

6.HELP

ESC
5.1.2.1
ENTER
A/C NO.

USER /
ADMINISTRATOR

6.1.1
HELP
ABOUT
A/C NO.
6.1.1
HELP
ABOUT
LIST OF
A/C.

6.1.1
HELP
ABOUT
TRANS.

6.1.1
HELP
ABOUT
NEW
A/C

6.1.1
HELP
ABOUT
MODIFY

Page: 47

BANK MANAGEMENT SYSTEM

STRUCTURE CHART

BANKING MANAGEMENT
1

QUIT
1.7

SEE ACCOUNT
I.1

LIST OF A/C 1.2


1.2

TRANSACTION
1.3

EDIT
1.5

HELP
1.6

OPEN A NEW A/C


1.4

Page: 48

BANK MANAGEMENT SYSTEM

SEE ACCOUNT
I.1

SEE A/C NO.


I.1.1

DISPLAY A/C
INFORMATION
1.1.1.1

Page: 49

BANK MANAGEMENT SYSTEM

LIST OF ACCOUNT
1.2

DISPLAY ALL THE INFORMATION


1.2.1

Page: 50

BANK MANAGEMENT SYSTEM

TRANSACTION
1.3

ENTER A/C NO
1.3.1

DEPOSIT
1.3.1.1

CASH
1.3.1.1.1

WITHDRAW
1.3.1.2.2

CHEQUE
1.3.1.1.2

CASH
1.3.1.2.2

CHEQUE
1.3.1.2.2

Page: 51

BANK MANAGEMENT SYSTEM

OPEN NEW
ACCOUNT
1.4

NAME
1.4.1

ADDRESS
1.4.2

VERIFYING
PERSON
1.4.3

INTIAL
DEPOSIT
1.4.4

Page: 52

BANK MANAGEMENT SYSTEM

EDIT ACCOUNT
1.5

MODIFY A/C
1.5.1

CLOSE A/C
1.5.2

ENTER A/C NO.


1.5.1.1

ENTER A/C NO
1.5.2.1

MODIFY
NAME
1.5.1.1.1

MODIFY
ADDRESS
1.5.1.1.2

QUIT
1.5.3

DELETE A/C
1.5.2.1.1

Page: 53

BANK MANAGEMENT SYSTEM

HELP
1.6

ABOUT A/C
1.6.1

ABOUT ALL
A/C
1.6.2

ABOUT
TRANSACTION
1.6.3

ABOUT NEW
A/C
1.6.4

ABOUT
MODIFY A/C
1.6.5

Page: 54

BANK MANAGEMENT SYSTEM

DATA DICTIONARY

This project I have 3 data files.


1. INITIAL.DAT- This data file contains all the information about account. For
example initial deposit, deposited amount withdrawal amount ,interest amount
,account number, opening account date etc.
2. BANKING.DAT- This data file contains all the information about member for
example account number, customer name , customers address etc.
3. TEMP.DAT- This data file is used while deleting some information from
INITIAL.DAT or from BANKING.DAT.

In This project 1 have used global functions:


A. void gra1()
B. void gra2()
C. void box(int, int)

Page: 55

BANK MANAGEMENT SYSTEM

These global function are use to display some graphics in program segment.
In this project 1 have used 4 classes:
A. shape
B. control
C. initial
D. account

A.shape-the class contain function related to draw box etc.


Following are the public member function of this class:
Void line hor. (int, int, int , char):-This function helps to draw horizontal line.
Void line ver (int, int, int , char):- This function helps to draw vertical lines.
Void box (int, int, int , char):- This function helps to draw box lines.
B.Control- This class control all the function in the menu.
Following are the member function of their class:
Void main_menu (void)- This function helps to display main menu.
Void help(void)- This function helps to display help about project.
Void edit_menu(void)- This function helps to display edit menu.
C.Initial- This class contain function related to initial deposit.

Page: 56

BANK MANAGEMENT SYSTEM

Variable name
Acc no
Name
Address
Balance

Data type
Integer variable
Array of char
Array of char
Float variable

Size
2
30
60
1

Information Stored
Account no
Name of the customer
Add of the customer
balance

Size- number of Bytes allocated to Variable.

Following are the member function of this class:


Void add to file (int , char t_name [30], char t_address [60],float):- This function
adds the given data into the file initial.dat
Void display_list(void):- This function display the list of account in file initial.dat.
Void delete account (int):-This function deletes records for the given account no. from
the file initial.dat.
void update balance(int,float):- This function update balance for the given account no.
in the file initial.dat.
void modify(void):- This function gives the data to modify the record in the file
initial.dat.
int last acc no.(void):- This function return last account no. in the file initial.dat.
int found account(int):- This function returns 1 if the given account no. found in the file
initial.dat.
char *return name(int):- This function return name for the given account no. in the file
initial.dat.

Page: 57

BANK MANAGEMENT SYSTEM

char *return address(int):-This function return address for the given a/c no. in the file
initial.dat.
float give balance(int):- This function return balance for the given account no. in the file
initial.dat.
int record no(int):-This function return record no. of the given account no. in the file
initial.dat.
void display(int):-This function display the account for given account no. from the file
initial.dat.
void modify account(int , char t_name[30], char_t address[60]):- This function
modifies the record for the given data in the file initial.dat
void box for_list(void):- This function display draws the box for the list of accounts.
D.Account:- This class contain function related to transactions.

Page: 58

BANK MANAGEMENT SYSTEM

Variable name
Data type
Acc no
Integer variable
Type
Character
dd ,mmm ,yy
Tran
Interest
Amount
Balance

variable
Integer variable
Character array
Float variable
Float variable
Float variable

Size
2
10

Information
stored
Account number
Type of the withdrawal

2
1
2
2
2

Date
Deposit or withdrawal
Interest
Amount
Balance

Size:- Number of bytes allocated to variable.


Following are the member function of This class.
Void new account(void):- This function accept the data to add records in the file
banking.dat.
void close account(void):- This function close the account (delete account).
Void display account (void):- This function display records from the file banking.dat.
Void transaction(void):-This function makes transaction(deposit /withdraw)
Void clear(int , int):- This function clear the given row and colmn.
Void add to file (int , int , int , int , char , char t-type[10], float ,float, float):- This
function adds the given data into the file banking.dat.
Void delete account (int ):- This function deletes the record for given account no. from
file banking.dat.
Page: 59

BANK MANAGEMENT SYSTEM

Int no of days ( int ,int ,int .int .int , int):- This function returns the difference between
Two dates.
Float calculate interest (int , float):- This function calculate interest.
Void display(int):- This function is used to delete the information of a member.
Void box for display(int):- This function draws the box for displaying records from file
banking.dat

Page: 60

BANK MANAGEMENT SYSTEM

/*Program to bank account management*/


#include <iostream.h>
Page: 61

BANK MANAGEMENT SYSTEM

#include <fstream.h>
#include <process.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <conio.h>
#include <dos.h>
class shape
{
public :
void l_hor(int, int, int, char) ;
void l_ver(int, int, int, char) ;
void box(int,int,int,int,char) ;
} ;
class control
{
public :
void main_menu(void) ;
void help(void) ;
private :
void edit_menu(void) ;
} ;
class acc
Page: 62

BANK MANAGEMENT SYSTEM

{
public :
void add_to_file(int, char t_name[30], char
t_address[60], float);
void display_list(void) ;
void delete_account(int) ;
void update_balance(int, float,int ,int ,int) ;
float calculate_interest(int, float) ;
void modify(void) ;
int

last_accno(void) ;

int

found_account(int) ;

char *return_name(int) ;
char *return_address(int) ;
float give_balance(int) ;
int

recordno(int) ;

void display(int) ;
private :
void

modify_account(int, char t_name[30],

char t_address[60]) ;
void
int
char

box_for_list(void) ;
accno ;
name[30], address[60] ;

float balance ;
int dd, mm, yy;
} ;

Page: 63

BANK MANAGEMENT SYSTEM

class account
{
public: void new_account(void) ;
void close_account(void) ;
void display_account(void) ;
int

no_of_days(int, int, int, int, int, int) ;

void transaction(void) ;
void clear(int,int) ;
private:
void

add_to_file(int, int, int, int, char,

char t_type[10], float, float, float);


void

delete_account(int) ;

void

display(int) ;

void

box_for_display(int) ;

int
char
int
char

accno ;
type[10] ;
dd, mm, yy ;
tran ;

float interest, amount, balance ;


} ;
void shape :: l_hor(int column1, int column2, int
row, char c)
{
for (column1; column1<=column2; column1++)
{
gotoxy(column1,row) ;
Page: 64

BANK MANAGEMENT SYSTEM

cout <<c ;
}
}
void shape :: l_ver(int row1, int row2, int column,
char c)
{
for (row1; row1<=row2; row1++ )

gotoxy(column,row1) ;
cout <<c ;
}
}
void shape :: box(int column1, int row1, int
column2, int row2, char c)
{
char ch=218 ;
char c1, c2, c3, c4 ;
char l1=196, l2=179 ;
if (c == ch)
{
c1=218 ;
c2=191 ;
c3=192 ;
c4=217 ;
l1 = 196 ;
l2 = 179 ;
Page: 65

BANK MANAGEMENT SYSTEM

}
else
{
c1=c ;
c2=c ;
c3=c ;
c4=c ;
l1 = c ;
l2 = c ;
}
gotoxy(column1,row1) ;
cout <<c1 ;
gotoxy(column2,row1) ;
cout <<c2 ;
gotoxy(column1,row2) ;
cout <<c3 ;
gotoxy(column2,row2) ;
cout <<c4 ;
column1++ ;
column2-- ;
l_hor(column1,column2,row1,l1) ;
l_hor(column1,column2,row2,l1) ;
column1-- ;
column2++ ;
row1++ ;
row2-- ;
l_ver(row1,row2,column1,l2) ;
Page: 66

BANK MANAGEMENT SYSTEM

l_ver(row1,row2,column2,l2) ;
}
void control :: main_menu(void)
{
char ch ;
while (1)
{
clrscr() ;
shape s ;
s.box(10,5,71,21,219) ;
s.box(9,4,72,22,218) ;
textcolor(BLUE) ;
textbackground(WHITE) ;
gotoxy(32,7) ;
cprintf(" B A N K I N G ") ;
gotoxy(35,9) ;
cprintf(" OPTIONS ") ;
textcolor(GREEN) ;
textbackground(BLUE) ;
gotoxy(30,11) ;
cout <<"1: SEE ACCOUNT" ;
gotoxy(30,12) ;
cout <<"2: LIST OF ACCOUNTS" ;
gotoxy(30,13) ;
cout <<"3: TRANSACTIONS" ;
gotoxy(30,14) ;
Page: 67

BANK MANAGEMENT SYSTEM

cout <<"4: OPEN NEW ACCOUNT" ;


gotoxy(30,15) ;
cout <<"5: EDIT ACCOUNTS" ;
gotoxy(30,16) ;
cout <<"6: HELP" ;
gotoxy(30,17) ;
cout <<"0: QUIT" ;
gotoxy(30,19) ;
cout <<"Enter your choice: " ;
ch = getche() ;
if (ch == 27)
break ;
else
if (ch == '1')
{
account a ;
a.display_account() ;
}
else
if (ch == '2')
{
acc ini ;
ini.display_list() ;
}
else
if (ch == '3')
{
Page: 68

BANK MANAGEMENT SYSTEM

account a ;
a.transaction() ;
}
else
if (ch == '4')
{
account a ;
a.new_account() ;
}
else
if (ch == '5')
edit_menu() ;
else
if (ch == '6')
help() ;
else
if (ch == '0')
break ;
}
}
void control :: edit_menu(void)
{
char ch ;
while (1)
Page: 69

BANK MANAGEMENT SYSTEM

{
clrscr() ;
shape s ;
s.box(10,5,71,21,219) ;
s.box(9,4,72,22,218) ;
textcolor(BLUE) ;
textbackground(WHITE) ;
gotoxy(34,10) ;
cprintf(" EDIT MENU ") ;
textcolor(GREEN) ;
textbackground(BLUE) ;
gotoxy(31,12) ;
cout <<"1: MODIFY ACCOUNT" ;
gotoxy(31,13) ;
cout <<"2: CLOSE ACCOUNT" ;
gotoxy(31,14) ;
cout <<"0: QUIT" ;
gotoxy(31,16) ;
cout <<"Enter your choice: " ;
ch = getche() ;
if (ch == 27)
break ;
else
if (ch == '1')
{
acc ini ;
Page: 70

BANK MANAGEMENT SYSTEM

ini.modify() ;
break ;
}
else
if (ch == '2')
{
account a ;
a.close_account() ;
break ;
}
else
if (ch == '0')
break ;
}
}
void control :: help(void)
{
clrscr() ;
shape s ;
s.box(2,1,79,25,218) ;
s.box(25,2,54,4,219) ;
textcolor(GREEN) ;
gotoxy(27,3); cprintf("WELCOME TO
INDIAN BANK") ;
textcolor(GREEN) ;
Page: 71

BANK MANAGEMENT SYSTEM

delay(10) ;
gotoxy(10,6);
cout <<"This Bank can keep
daily

record

of

banking" ;

delay(10) ;
gotoxy(10,7);
cout <<"transactions.

" ;

delay(10) ;
gotoxy(10,9);
cout <<"
no. of

This Bank is capable of holding any

account." ;

delay(10) ;
gotoxy(10,11);
cout <<"- With OPTION-1 you can see the
account of

perticular" ;

delay(10) ;
gotoxy(10,12);
cout <<"

person by giving simply account

no. of that person." ;


delay(10) ;
gotoxy(10,14);
cout <<"- With OPTION-2 you can see the
List of all the accounts." ;
delay(10) ;
gotoxy(10,16);
cout <<"- With OPTION-3 you can do
banking transactions" ;
Page: 72

BANK MANAGEMENT SYSTEM

delay(10) ;
gotoxy(10,17);
cout <<"

(Deposit/Withdraw)." ;

delay(10) ;
gotoxy(10,19);
cout <<"- With OPTION-4

you can Open

New Account." ;
delay(10) ;
gotoxy(10,20);
cout <<"

(NOTE: Opening amount should

not be less than Rs.500/-" ;


delay(10) ;
gotoxy(10,22);
cout <<"- With OPTION-5 you can Modify
or Delete any account." ;
delay(10) ;
gotoxy(10,24);
cout <<"- With OPTION-6 you can call
help. " ;
delay(10) ;
textcolor(BLUE+BLINK) ;
textbackground(WHITE) ;
gotoxy(26,25) ; cprintf(" Press any key to
continue ") ;
textcolor(GREEN) ; textbackground(BLUE) ;
gotoxy(25,2) ;
Page: 73

BANK MANAGEMENT SYSTEM

getch() ;
}
int acc :: last_accno(void)
{
fstream file ;
file.open("ACC.DAT", ios::in) ;
file.seekg(0,ios::beg) ;
int count=0 ;
while (file.read((char *) this, sizeof(acc)))
count = accno ;
file.close() ;
return count ;
}
int acc :: recordno(int t_accno)
{
fstream file ;
file.open("ACC.DAT", ios::in) ;
file.seekg(0,ios::beg) ;
int count=0 ;
while (file.read((char *) this, sizeof(acc)))
{
count++ ;
if (t_accno == accno)
break ;
}
Page: 74

BANK MANAGEMENT SYSTEM

file.close() ;
return count ;
}
void acc :: display(int t_accno)
{
shape s ;
s.box(8,7,73,11,219) ;
fstream file ;
file.open("ACC.DAT", ios::in) ;
file.seekg(0,ios::beg) ;
while (file.read((char *) this, sizeof(acc)))
{
if (t_accno == accno)
{
gotoxy(8,5) ;
cout <<"ACCOUNT NO. " <<accno ;
gotoxy(10,8) ;
cout <<"Name

: " <<name ;

gotoxy(10,9) ;
cout <<"Address : " <<address ;
gotoxy(10,10) ;
cout <<"Balance : " <<balance ;
break ;
}
}
file.close() ;
Page: 75

BANK MANAGEMENT SYSTEM

}
char *acc :: return_name(int t_accno)
{
fstream file ;
file.open("ACC.DAT", ios::in) ;
file.seekg(0,ios::beg) ;
char t_name[30] ;
while (file.read((char *) this, sizeof(acc)))
{
if (accno == t_accno)
{
strcpy(t_name,name) ;
break ;
}
}
file.close() ;
return t_name ;
}
char *acc :: return_address(int t_accno)
{
fstream file ;
file.open("ACC.DAT", ios::in) ;
file.seekg(0,ios::beg) ;
char t_address[60] ;
Page: 76

BANK MANAGEMENT SYSTEM

while (file.read((char *) this, sizeof(acc)))


{
if (accno == t_accno)
{
strcpy(t_address,address) ;
break ;
}
}
file.close() ;
return t_address ;
}
float acc :: give_balance(int t_accno)
{
fstream file ;
file.open("ACC.DAT", ios::in) ;
file.seekg(0,ios::beg) ;
float t_balance ;
while (file.read((char *) this, sizeof(acc)))
{
if (accno == t_accno)
{
t_balance = balance ;
break ;
}
}
file.close() ;
Page: 77

BANK MANAGEMENT SYSTEM

return t_balance ;
}
int acc :: found_account(int t_accno)
{
fstream file ;
file.open("ACC.DAT", ios::in) ;
file.seekg(0,ios::beg) ;
int found=0 ;
while (file.read((char *) this, sizeof(acc)))
{
if (accno == t_accno)
{
found = 1 ;
break ;
}
}
file.close() ;
return found ;
}
void acc :: box_for_list()
{
shape s ;
s.box(2,1,79,25,218) ;
s.l_hor(3,78,3,196) ;
s.l_hor(3,78,5,196) ;
Page: 78

BANK MANAGEMENT SYSTEM

s.l_hor(3,78,23,196) ;
textbackground(WHITE) ;
gotoxy(3,4) ;
for (int i=1; i<=76; i++) cprintf(" ") ;
textbackground(BLUE) ;
textcolor(BLUE) ; textbackground(WHITE) ;
gotoxy(4,4) ;
cprintf("ACCOUNT NO.
PERSON

NAME OF

BALANCE");

textcolor(GREEN) ; textbackground(BLUE) ;
int d1, m1, y1 ;
struct date d;
getdate(&d);
d1 = d.da_day ;
m1 = d.da_mon ;
y1 = d.da_year ;
gotoxy(4,2) ;
cout <<"Date: " <<d1 <<"/" <<m1 <<"/" <<y1 ;
}
void acc :: display_list(void)
{
clrscr() ;
box_for_list() ;
int row=6, flag ;
fstream file ;
file.open("ACC.DAT", ios::in) ;
Page: 79

BANK MANAGEMENT SYSTEM

while (file.read((char *) this, sizeof(acc)))


{
flag = 0 ;
delay(10) ;
gotoxy(7,row) ;
cout <<accno ;
gotoxy(25,row) ;
cout <<name ;
gotoxy(57,row) ;
cout <<balance ;
row++ ;
if (row == 23)
{
flag = 1 ;
row = 6 ;
gotoxy(4,24) ;
cout <<"Press any key to continue..." ;
getch() ;
clrscr() ;
box_for_list() ;
}
}
file.close() ;
if (!flag)
{
gotoxy(4,24) ;
cout <<"Press any key to continue..." ;
Page: 80

BANK MANAGEMENT SYSTEM

getch() ;
}
}
void acc :: add_to_file(int t_accno, char
t_name[30], char t_address[60], float t_balance)
{
accno = t_accno ;
strcpy(name,t_name) ;
strcpy(address,t_address) ;
balance = t_balance ;
fstream file ;
file.open("ACC.DAT", ios::out | ios::app) ;
file.write((char *) this, sizeof(acc)) ;
file.close() ;
}
void acc :: delete_account(int t_accno)
{
fstream file ;
file.open("ACC.DAT", ios::in) ;
fstream temp ;
temp.open("temp.dat", ios::out) ;
file.seekg(0,ios::beg) ;
while ( !file.eof() )
{
file.read((char *) this, sizeof(acc)) ;
Page: 81

BANK MANAGEMENT SYSTEM

if ( file.eof() )
break ;
if ( accno != t_accno )
temp.write((char *) this, sizeof(acc)) ;
}
file.close() ;
temp.close() ;
file.open("ACC.DAT", ios::out) ;
temp.open("temp.dat", ios::in) ;
temp.seekg(0,ios::beg) ;
while ( !temp.eof() )
{
temp.read((char *) this, sizeof(acc)) ;
if ( temp.eof() )
break ;
file.write((char *) this, sizeof(acc)) ;
}
file.close() ;
temp.close() ;
}
void acc :: update_balance(int t_accno, float
t_balance,int d1,int m1,int y1)
{
int recno ;
recno = recordno(t_accno) ;
fstream file ;
Page: 82

BANK MANAGEMENT SYSTEM

file.open("ACC.DAT", ios::out | ios::ate) ;


balance = t_balance ;
dd=d1;
mm=m1;
yy=y1;
int location ;
location = (recno-1) * sizeof(acc) ;
file.seekp(location) ;
file.write((char *) this, sizeof(acc)) ;
file.close() ;
}
void acc :: modify_account(int t_accno, char
t_name[30], char t_address[60])
{
int recno ;
recno = recordno(t_accno) ;
fstream file ;
file.open("ACC.DAT", ios::out | ios::ate) ;
if(strlen(t_name)==0)
strcpy(name,name) ;
else
strcpy(name,t_name);
if(strlen(t_address)==0)
strcpy(address,address);
else
strcpy(address,t_address);
Page: 83

BANK MANAGEMENT SYSTEM

int location ;
location = (recno-1) * sizeof(acc) ;
file.seekp(location) ;
file.write((char *) this, sizeof(acc)) ;
file.close() ;
}
void acc :: modify(void)
{
clrscr() ;
char t_acc[10] ;
int t, t_accno ;
gotoxy(71,1) ;
cout <<"<0>=Exit" ;
gotoxy(5,5) ;
cout <<"Enter the account no. " ;
gets(t_acc) ;
t = atoi(t_acc) ;
t_accno = t ;
if (t_accno == 0)
return ;
clrscr() ;
if (!found_account(t_accno))
{
gotoxy(5,5) ;
cout <<"\7Account not found" ;
getch() ;
Page: 84

BANK MANAGEMENT SYSTEM

return ;
}
shape s ;
s.box(2,2,79,24,218) ;
s.l_hor(3,78,4,196) ;
s.l_hor(3,78,22,196) ;
gotoxy(71,1) ;
cout <<"<0>=Exit" ;
textbackground(WHITE) ;
gotoxy(3,3) ;
for (int i=1; i<=76; i++) cprintf(" ") ;
textbackground(BLUE) ;
textcolor(BLUE+BLINK) ;
textbackground(WHITE) ;
gotoxy(30,3) ;
cprintf("MODIFY ACCOUNT SCREEN") ;
textcolor(GREEN) ; textbackground(GREEN);
int d1, m1, y1 ;
struct date d;
getdate(&d);
d1 = d.da_day ;
m1 = d.da_mon ;
y1 = d.da_year ;
gotoxy(62,5) ;
cout <<"Date: "<<d1 <<"/" <<m1 <<"/" <<y1 ;
char ch ;
display(t_accno) ;
Page: 85

BANK MANAGEMENT SYSTEM

account a ;
do
{
a.clear(5,13) ;
gotoxy(5,13) ;
cout <<"Modify this account (y/n): " ;
ch = getche() ;
if (ch == '0')
return ;
ch = toupper(ch) ;
} while (ch != 'N' && ch != 'Y') ;
if (ch == 'N')
return ;
int modified=0, valid ;
char t_name[30], t_address[60] ;
gotoxy(5,15) ;
cout <<"Name

: " ;

gotoxy(5,16) ;
cout <<"Address : " ;
do
{
a.clear(15,15) ;
a.clear(5,23) ;
gotoxy(5,23) ;
cout <<"ENTER NAME or PRESS
<ENTER> FOR NO CHANGE" ;
Page: 86

BANK MANAGEMENT SYSTEM

valid = 1 ;
gotoxy(15,15) ;
gets(t_name) ;
strupr(t_name) ;
if (t_name[0] == '0')
return ;
if (strlen(t_name) > 25)
{
valid = 0 ;
gotoxy(5,23) ;
cprintf("\7NAME SHOULD NOT
H AVE GREATER TH AN 25 CH ARACTERS " ) ;
getch() ;
}
} while (!valid) ;
if (strlen(t_name) > 0)
modified = 1 ;
do
{
a.clear(15,16) ;
a.clear(5,23) ;
gotoxy(5,23) ;
cout <<"ENTER ADDRESS or PRESS
<ENTER> FOR NO CHANGE" ;
valid = 1 ;
gotoxy(15,16) ;
gets(t_address) ;
Page: 87

BANK MANAGEMENT SYSTEM

strupr(t_address) ;
if (t_address[0] == '0')
return ;
if (strlen(t_address) > 55)
{
valid = 0 ;
gotoxy(5,23) ;
cprintf("\7SHOULD NOT BE
BLANK OR GREATER THAN 50
CHARACTERS") ;
getch() ;
}
} while (!valid) ;
if (strlen(t_address) > 0)
modified = 1 ;
if (!modified)
return ;
a.clear(5,23) ;
do
{
a.clear(5,18) ;
gotoxy(5,18) ;
cout <<"Do you want to save changes
(y/n): " ;
ch = getche() ;
if (ch == '0')
Page: 88

BANK MANAGEMENT SYSTEM

return ;
ch = toupper(ch) ;
} while (ch != 'N' && ch != 'Y') ;
if (ch == 'N')
return ;
modify_account(t_accno,t_name,t_address) ;
gotoxy(5,21) ;
cout <<"\7Record Modified" ;
gotoxy(5,23) ;
cout <<"Press any key to continue..." ;
getch() ;
}
void account :: clear(int col, int row)
{
for (int i=col; i<=78; i++)
{
gotoxy(i,row) ;
cout <<" " ;
}
}
void account :: add_to_file(int t_accno, int d1, int
m1, int y1, char t_tran, char t_type[10], float
t_interest, float t_amount, float t_balance)
{
fstream file ;
Page: 89

BANK MANAGEMENT SYSTEM

file.open("TRANSACT.DAT", ios::app) ;
accno = t_accno ;
dd = d1 ;
mm = m1 ;
yy = y1 ;
tran = t_tran ;
strcpy(type,t_type) ;
interest = t_interest ;
amount = t_amount ;
balance = t_balance ;
file.write((char *) this, sizeof(account)) ;
file.close() ;
}
void account :: delete_account(int t_accno)
{
fstream file ;
file.open("TRANSACT.DAT", ios::in) ;
fstream temp ;
temp.open("temp.dat", ios::out) ;
file.seekg(0,ios::beg) ;
while ( !file.eof() )
{
file.read((char *) this, sizeof(account)) ;
if ( file.eof() )
break ;
Page: 90

BANK MANAGEMENT SYSTEM

if ( accno != t_accno )
temp.write((char *) this,
sizeof(account)) ;
}
file.close() ;
temp.close() ;
file.open("TRANSACT.DAT", ios::out) ;
temp.open("temp.dat", ios::in) ;
temp.seekg(0,ios::beg) ;
while ( !temp.eof() )
{
temp.read((char *) this, sizeof(account)) ;
if ( temp.eof() )
break ;
file.write((char *) this, sizeof(account)) ;
}
file.close() ;
temp.close() ;
}
void account :: new_account(void)
{
char ch ;
int i, valid ;
clrscr() ;
acc ini ;
Page: 91

BANK MANAGEMENT SYSTEM

shape s ;
s.box(2,2,79,24,218) ;
s.l_hor(3,78,4,196) ;
s.l_hor(3,78,22,196) ;
gotoxy(71,1) ;
cout <<"<0>=Exit" ;
textbackground(WHITE) ;
gotoxy(3,3) ;
for (i=1; i<=76; i++) cprintf(" ") ;
textbackground(BLUE) ;
textcolor(BLUE+BLINK) ;
textbackground(WHITE) ;
gotoxy(32,3) ;
cprintf("OPEN NEW ACCOUNT") ;
textcolor(GREEN) ; textbackground(BLUE) ;
int d1, m1, y1 ;
struct date d;
getdate(&d);
d1 = d.da_day ;
m1 = d.da_mon ;
y1 = d.da_year ;
int t_accno ;
t_accno = ini.last_accno() ;
t_accno++ ;
if (t_accno == 1)
{
Page: 92

BANK MANAGEMENT SYSTEM

ini.add_to_file(t_accno,"abc","xyz",1.1) ;
ini.delete_account(t_accno) ;

add_to_file(t_accno,1,1,1997,'D',"INITIAL",1.1
,1.1,1.1) ;
delete_account(t_accno) ;
}
char t_name[30], t[10], t_address[60] ;
float t_bal=0.0, t_balance=0.0 ;
gotoxy(5,6) ;
cout <<"Date : "<<d1 <<"/" <<m1 <<"/" <<y1 ;
gotoxy(5,8) ;
cout <<"Account no. # " <<t_accno ;
gotoxy(5,10) ;
cout <<"Name

: " ;

gotoxy(5,11) ;
cout <<"Address : " ;
gotoxy(5,12) ;
cout <<"Name of Verifying person : " ;
gotoxy(5,14) ;
cout <<"Initial Deposit : " ;
do
{
clear(15,10) ;
clear(5,23) ;
Page: 93

BANK MANAGEMENT SYSTEM

gotoxy(5,23) ;
cout <<"ENTER NAME OF THE PERSON" ;
valid = 1 ;
gotoxy(15,10) ;
gets(t_name) ;
strupr(t_name) ;
if (t_name[0] == '0')
return ;
if (strlen(t_name) == 0 || strlen(t_name) >
25)
{
valid = 0 ;
gotoxy(5,23) ;
cprintf("\7NAME SHOULD NOT BE
BLANK OR GREATER THAN 25
CHARACTERS") ;
getch() ;
}
} while (!valid) ;
do
{
clear(15,11) ;
clear(5,23) ;
gotoxy(5,23) ;
cout <<"ENTER ADDRESS OF THE
PERSON" ;
Page: 94

BANK MANAGEMENT SYSTEM

valid = 1 ;
gotoxy(15,11) ;
gets(t_address) ;
strupr(t_address) ;
if (t_address[0] == '0')
return ;
if (strlen(t_address) == 0 ||
strlen(t_address) > 55)
{
valid = 0 ;
gotoxy(5,23) ;
cprintf("\7SHOULD NOT BE
BLANK OR GREATER THAN 50
CHARACTERS") ;
getch() ;
}
} while (!valid) ;
do
{
char vari[30] ;
clear(31,12) ;
clear(5,23) ;
gotoxy(5,23) ;
cout <<"ENTER NAME OF THE
VERIFYING PERSON" ;
valid = 1 ;
gotoxy(31,12) ;
Page: 95

BANK MANAGEMENT SYSTEM

gets(vari) ;
strupr(vari) ;
if (vari[0] == '0')
return ;
if (strlen(vari) == 0 || strlen(vari) > 25)
{
valid = 0 ;
gotoxy(5,23) ;
cprintf("\7SHOULD NOT BE
BLANK OR GREATER THAN 25
CHARACTERS") ;
getch() ;
}
} while (!valid) ;
do
{
clear(23,14) ;
clear(5,23) ;
gotoxy(5,23) ;
cout <<"ENTER INITIAL AMOUNT TO
BE DEPOSITED" ;
valid = 1 ;
gotoxy(23,14) ;
gets(t) ;
t_bal = atof(t) ;
t_balance = t_bal ;
if (t[0] == '0')
Page: 96

BANK MANAGEMENT SYSTEM

return ;
if (t_balance < 500)
{
valid = 0 ;
gotoxy(5,23) ;
cprintf("\7SHOULD NOT BE
LESS THAN 500

RUPEES ") ;

getch() ;
}
} while (!valid) ;
clear(5,23) ;
do
{
clear(5,17) ;
valid = 1 ;
gotoxy(5,17) ;
cout <<"Do you want to save the
record (y/n) : " ;
ch = getche() ;
if (ch == '0')
return ;
ch = toupper(ch) ;
} while (ch != 'N' && ch != 'Y') ;
if (ch == 'N')
return ;
float t_amount, t_interest ;
t_amount = t_balance ;
Page: 97

BANK MANAGEMENT SYSTEM

t_interest = 0.0 ;
char t_tran, t_type[10] ;
t_tran = 'D' ;
strcpy(t_type,"INITIAL") ;
ini.add_to_file(t_accno,t_name,t_address,t_bal
ance) ;
ini.update_balance(t_accno,t_balance,d1,m1,y1);
add_to_file(t_accno,d1,m1,y1,t_tran,t_type,t_inter
est,t_amount,t_balance) ;
}
void account :: box_for_display(int t_accno)
{
shape s ;
s.box(2,1,79,25,218) ;
s.l_hor(3,78,4,196) ;
s.l_hor(3,78,6,196) ;
s.l_hor(3,78,23,196) ;
textbackground(WHITE) ;
gotoxy(3,5) ;
for (int i=1; i<=76; i++) cprintf(" ") ;
textbackground(BLUE) ;
textcolor(BLUE) ; textbackground(WHITE) ;
gotoxy(4,5) ;
Page: 98

BANK MANAGEMENT SYSTEM

cprintf("DATE
DEPOSIT

WITHDRAW

PARTICULAR
INTEREST

BALANCE") ;
textcolor(GREEN) ; textbackground(BLUE) ;
int d1, m1, y1 ;
struct date d;
getdate(&d);
d1 = d.da_day ;
m1 = d.da_mon ;
y1 = d.da_year ;
gotoxy(63,2) ;
cout <<"Date: " <<d1 <<"/" <<m1 <<"/" <<y1 ;
gotoxy(4,2) ;
cout <<"Account no. " <<t_accno ;
acc ini ;
char t_name[30] ;
strcpy(t_name,ini.return_name(t_accno)) ;
char t_address[60] ;
strcpy(t_address,ini.return_address(t_accno)) ;
gotoxy(25,2) ;
cout <<t_name ;
gotoxy(25,3) ;
cout <<t_address ;
}
void account :: display_account(void)
{
Page: 99

BANK MANAGEMENT SYSTEM

clrscr() ;
char t_acc[10] ;
int t, t_accno ;
gotoxy(71,1) ;
cout <<"<0>=Exit" ;
gotoxy(5,5) ;
cout <<"Enter the account no. " ;
gets(t_acc) ;
t = atoi(t_acc) ;
t_accno = t ;
if (t_accno == 0)
return ;
clrscr() ;
acc ini ;
if (!ini.found_account(t_accno))
{
gotoxy(5,5) ;
cout <<"\7Account not found" ;
getch() ;
return ;
}
box_for_display(t_accno) ;
int row=7, flag ;
fstream file ;
file.open("TRANSACT.DAT", ios::in) ;
while (file.read((char *) this,
sizeof(account)))
Page: 100

BANK MANAGEMENT SYSTEM

{
if (accno == t_accno)
{
flag = 0 ;
delay(10) ;
gotoxy(4,row) ;
cout <<dd <<"/" <<mm <<"/" <<yy ;
gotoxy(16,row) ;
cout <<type ;
if (tran == 'D')
gotoxy(30,row) ;
else
gotoxy(42,row) ;
cout <<amount ;
gotoxy(56,row) ;
printf("%.2f",interest);//DONE BY US
gotoxy(66,row) ;
printf("%.2f",balance);//DONE BY US
row++ ;
if (row == 23)
{
flag = 1 ;
row = 7 ;
gotoxy(4,24) ;
cout <<"Press any key
to continue..." ;
Page: 101

BANK MANAGEMENT SYSTEM

getch() ;
clrscr() ;
box_for_display(t_accno) ;
}
}
}
file.close() ;
if (!flag)
{
gotoxy(4,24) ;
cout <<"Press any key to continue..." ;
getch() ;
}
}
int account :: no_of_days(int d1, int m1, int y1,
int d2, int m2, int y2)
{
static int month[] =
{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 > month[m1-1])
{
Page: 102

BANK MANAGEMENT SYSTEM

d1 = 1 ;
m1++ ;
}
if (m1 > 12)
{
m1 = 1 ;
y1++ ;
}
}
return days ;
}
float acc :: calculate_interest(int t_accno, float
t_balance)
{
account ini;
fstream file ;
file.open("ACC.DAT", ios::in) ;
file.seekg(0,ios::beg) ;
int d1, m1, y1, days ;
while (file.read((char *) this, sizeof(acc)))
{
if (accno == t_accno)
{
d1 = dd ;
m1 = mm ;
y1 = yy ;
Page: 103

BANK MANAGEMENT SYSTEM

break ;
}
}
int d2, m2, y2 ;
struct date d;
getdate(&d);
d2 = d.da_day ;
m2 = d.da_mon ;
y2 = d.da_year ;
float t_interest=0.0 ;
if ((y2<y1) || (y2==y1 && m2<m1) ||
(y2==y1 && m2==m1 && d2<d1)/*done by us*/
|| (y2==y1 && m2==m1 && d2==d1))/**/
return t_interest ;
days = ini.no_of_days(d1,m1,y1,d2,m2,y2) ;
int months=0 ;
if (days >= 30)
{
months = days/30 ;
t_interest = ((t_balance*2)/100) * months ;
}
file.close() ;
return t_interest ;
}
void account :: transaction(void)
{
Page: 104

BANK MANAGEMENT SYSTEM

clrscr() ;
char t_acc[10] ;
int t, t_accno, valid ;
gotoxy(71,1) ;
cout <<"<0>=Exit" ;
gotoxy(5,5) ;
cout <<"Enter the account no. " ;
gets(t_acc) ;
t = atoi(t_acc) ;
t_accno = t ;
if (t_accno == 0)
return ;
clrscr() ;
acc ini ;
if (!ini.found_account(t_accno))
{
gotoxy(5,5) ;
cout <<"\7Account not found" ;
getch() ;
return ;
}
shape s ;
s.box(2,2,79,24,218) ;
s.l_hor(3,78,4,196) ;
s.l_hor(3,78,22,196) ;
gotoxy(71,1) ;
cout <<"<0>=Exit" ;
Page: 105

BANK MANAGEMENT SYSTEM

textbackground(WHITE) ;
gotoxy(3,3) ;
for (int i=1; i<=76; i++) cprintf(" ") ;
textbackground(BLUE) ;
textcolor(BLUE+BLINK) ;
textbackground(WHITE) ;
gotoxy(29,3) ;
cprintf("TRANSACTION IN ACCOUNT") ;
textcolor(GREEN) ; textbackground(BLUE) ;
int d1, m1, y1 ;
struct date d;
getdate(&d);
d1 = d.da_day ;
m1 = d.da_mon ;
y1 = d.da_year ;
gotoxy(5,6) ;
cout <<"Date : "<<d1 <<"/" <<m1 <<"/" <<y1 ;
gotoxy(5,8) ;
cout <<"Account no. # " <<t_accno ;
char t_name[30] ;
char t_address[60] ;
float t_balance ;
strcpy(t_name,ini.return_name(t_accno)) ;
strcpy(t_address,ini.return_address(t_accno)) ;
t_balance = ini.give_balance(t_accno) ;
s.box(25,10,75,13,218) ;
Page: 106

BANK MANAGEMENT SYSTEM

gotoxy(27,11) ;
cout <<"Name

: " <<t_name ;

gotoxy(27,12) ;
cout <<"Address: " <<t_address ;
gotoxy(5,15) ;
cout <<"Last Balance : Rs." <<t_balance ;
char

t_tran, t_type[10], tm[10] ;

float t_amount, t_amt ;


do
{
clear(5,18) ;
valid = 1 ;
gotoxy(5,18) ;
cout <<"Deposit or Withdraw (D/W) : " ;
t_tran = getche() ;
if (t_tran == '0')
return ;
t_tran = toupper(t_tran) ;
} while (t_tran != 'D' && t_tran != 'W') ;
do
{
clear(5,19) ;
clear(5,23) ;
gotoxy(5,23) ;
cout <<"ENTER TRANSACTION BY
CASH OR CHEQUE" ;
valid = 1 ;
Page: 107

BANK MANAGEMENT SYSTEM

gotoxy(5,19) ;
cout <<"(Cash/Cheque) : " ;
gets(t_type) ;
strupr(t_type) ;
if (t_type[0] == '0')
return ;
if (strcmp(t_type,"CASH") &&
strcmp(t_type,"CHEQUE"))
{
valid = 0 ;
gotoxy(5,23) ;
cprintf("\7ENTER CORRECTLY
") ;
getch() ;
}
} while (!valid) ;
do
{
clear(5,21) ;
clear(5,23) ;
gotoxy(5,23) ;
cout <<"ENTER AMOUNT FOR
TRANSACTION" ;
valid = 1 ;
gotoxy(5,21) ;
cout <<"Amount : Rs." ;
gets(tm) ;
Page: 108

BANK MANAGEMENT SYSTEM

t_amt = atof(tm) ;
t_amount = t_amt ;
if (tm[0] == '0')
return ;
if ((t_tran == 'W' && t_amount >
t_balance) || (t_amount < 1))
{
valid = 0 ;
gotoxy(5,23) ;
c p r i n t f ( " \ 7 I N VAL I D D ATA
ENTERED

") ;

getch() ;
}
} while (!valid) ;
char ch ;
clear(5,23) ;
do
{
clear(40,20) ;
valid = 1 ;
gotoxy(40,20) ;
cout <<"Save transaction (y/n): " ;
ch = getche() ;
if (ch == '0')
return ;
ch = toupper(ch) ;
} while (ch != 'N' && ch != 'Y') ;
Page: 109

BANK MANAGEMENT SYSTEM

if (ch == 'N')
return ;
float t_interest=0.00 ;
t_interest =
ini.calculate_interest(t_accno,t_balance) ;
if (t_tran == 'D')
t_balance = t_balance + t_amount +
t_interest;
else
t_balance = (t_balance - t_amount) +
t_interest;
ini.update_balance(t_accno,t_balance,d1,m1,y1)
;
add_to_file(t_accno,d1,m1,y1,t_tran,t_type,t_inter
est,t_amount,t_balance) ;
}
void account :: close_account(void)
{
clrscr() ;
char t_acc[10] ;
int t, t_accno ;
gotoxy(71,1) ;
cout <<"<0>=Exit" ;
gotoxy(5,5) ;
cout <<"Enter the account no. " ;
Page: 110

BANK MANAGEMENT SYSTEM

gets(t_acc) ;
t = atoi(t_acc) ;
t_accno = t ;
if (t_accno == 0)
return ;
clrscr() ;
acc ini ;
if (!ini.found_account(t_accno))
{
gotoxy(5,5) ;
cout <<"\7Account not found" ;
getch() ;
return ;
}
shape s ;
s.box(2,2,79,24,218) ;
s.l_hor(3,78,4,196) ;
s.l_hor(3,78,22,196) ;
gotoxy(71,1) ;
cout <<"<0>=Exit" ;
textbackground(WHITE) ;
gotoxy(3,3) ;
for (int i=1; i<=76; i++) cprintf(" ") ;
textbackground(BLUE) ;
textcolor(BLUE+BLINK) ;
textbackground(WHITE) ;
gotoxy(30,3) ;
Page: 111

BANK MANAGEMENT SYSTEM

cprintf("CLOSE ACCOUNT SCREEN") ;


textcolor(GREEN) ; textbackground(BLUE) ;
int d1, m1, y1 ;
struct date d;
getdate(&d);
d1 = d.da_day ;
m1 = d.da_mon ;
y1 = d.da_year ;
gotoxy(62,5) ;
cout <<"Date: "<<d1 <<"/" <<m1 <<"/" <<y1 ;
char ch ;
ini.display(t_accno) ;
do
{
clear(5,15) ;
gotoxy(5,15) ;
cout <<"Close this account (y/n): " ;
ch = getche() ;
if (ch == '0')
return ;
ch = toupper(ch) ;
} while (ch != 'N' && ch != 'Y') ;
if (ch == 'N')
return ;
ini.delete_account(t_accno) ;
delete_account(t_accno) ;
gotoxy(5,20) ;
Page: 112

BANK MANAGEMENT SYSTEM

cout <<"\7Record Deleted" ;


gotoxy(5,23) ;
cout <<"Press any key to continue..." ;
getch() ;
}
void main(void)
{
control c ;
c.help() ;
c.main_menu() ;
}

Page: 113

BANK MANAGEMENT SYSTEM

Page: 114

BANK MANAGEMENT SYSTEM

Page: 115

BANK MANAGEMENT SYSTEM

Page: 116

BANK MANAGEMENT SYSTEM

Page: 117

BANK MANAGEMENT SYSTEM

Page: 118

BANK MANAGEMENT SYSTEM

Page: 119

BANK MANAGEMENT SYSTEM

Page: 120

BANK MANAGEMENT SYSTEM

Page: 121

BANK MANAGEMENT SYSTEM

Page: 122

BANK MANAGEMENT SYSTEM

Page: 123

BANK MANAGEMENT SYSTEM

IMPLEMENTATION

A crucial phase in the system life cycle is the successful implementation of the
new system design. Implementation simply means converting a new system
design into operation. This involves creating computer compatible files,
training the operating staff and installing hardware terminals, and
telecommunication network before the system is up and running.
In system implementation, user training is crucial for minimizing resistance to
change and giving the new system a chance to prove its worth. Training aids
such as user-friendly manuals, a data dictionary and job performance aids that
communicate information about the new system and help screens. Provide the
user with a good start on the new system.

USER MANUAL

Page: 124

BANK MANAGEMENT SYSTEM

Installation
How to use

Installation:- Banking project can easily be installed on to your system.

To install do the following steps


1. Insert floppy disk into floppy drive.
2. Copy "Project" folder from there and paste it to C Drive.
3. A file banking.exe is present in Project folder.
Now Banking project has installed onto your system.
To use banking project double click on banking.exe.

How to use:Page: 125

BANK MANAGEMENT SYSTEM

ACCOUNT

If you want to show an information pertaining to account then enter the


account no.
CUSTOMER

Of you want to add an information pertaining to customer then choose 4th


option OPEN NEW A/C and then enter CUSTOMER INFORMATION.
If you want to modify an information pertaining to customer then choose
the 5th option EDIT ACCOUNT and then choose 1st option & enter modify
CUSTOMER INFORMATION.
If you want to delete an information pertaining to customer then choose the
5th option EDIT ACCOUNT and then choose 2nd option & delete
CUSTOMER INFORMATION.
TRANSACTIONS

If you want to deposit/withdraw amount(cash/cheque) choose the 3rd option


TRANSACTION and then make a transaction.

Page: 126

BANK MANAGEMENT SYSTEM

HELP

In case you face any problem regarding operating BANKING PROJECT.


At the running time. Then you can use BANKING PROJECT HELP. For
using HELP choose HELP from the main menu.

Page: 127

BANK MANAGEMENT SYSTEM

SYSTEM MAINTENANCE
Page: 128

BANK MANAGEMENT SYSTEM

Maintenance is the enigma of system development. It holds the software


industry captive, tying up programming resources. Analyst and programmers
Spend far more time in maintaining programs than writing them.

Primary activities of a maintenance procedure


Maintenance activities begin where conversion leaves off. Maintenance is
handled by same planning and control used in a formal system project.
Documentation is as much a part of maintenance as it is of system
development. The source program and written procedures for the system are
acquired from the programming banking. Program changes are then tested and
submitted to the user for approval. Once ap0roved, the modified
documentation is filed with the banking management and a project completion
notice is sent to the user, signaling the termination of the project.

BACKUP & RECOVERY

Page: 129

BANK MANAGEMENT SYSTEM

In case of system crash a user may lose all his/her valuable data. To cope with
this problem backup option is given in this system.
This system provides the facility of backup and recovery. Only an
administrator can take the backup and can recover all the files.
To utilize this facility user must have floppy drive on his or her system.

Page: 130

BANK MANAGEMENT SYSTEM

LIMITATIONS

In this world every thing has its own limitations. And limitation in a project is
quite obvious. Even famous software's and operating systems have its own
limitations. For example win 3x does not support USB port. So it's a limitation
of win3x that it does not support USB port.
Due to shortage of time this project has some limitation.
Some of them are as follows:
In this project a book code cannot be more than 30,000. So it's a limitation
of this project that this system cannot maintain more than 30000 books.
Same with member, a member number cannot be more than 30000.
No checks have been made in relation to the entry of duplicate records in
book section. This limitation is also present in the function when we create
new members.
And there are some other limitations, which will be faced by USER when
he/she will use this project.

Page: 131

BANK MANAGEMENT SYSTEM

REFERENCES

For the successful completion of this project I referred few books.


I referred M.AWAD for creating ship diagram. Data flow diagram, structure
chart etc.
I referred Ashok N. Kamthane while designing the interface of this project.
I also got information form Balagurusamy, Robert Lafore and Yashavant
Kanetkar.

Page: 132