Você está na página 1de 125

BANK MANAGEMENT SYSTEM

To Whom It May Concern

This is to certify that _____________ has successfully completed


this project in partial fulfillment _______________________,
under my supervision.

.
(PROJECT CO-ORDINATOR)

Anuj Singh Chauhan


Page: 3
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

Index
Acknowledgment
Certificate
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
Anuj Singh Chauhan
Page: 4
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

3.4Testing
- Input & Output Screens
3.5Implementation
- User Manual
3.6Maintenance
4. Limitations
5. References
6. Suggestions

Anuj Singh Chauhan


Page: 5
Reg. No:- 503478
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.
Anuj Singh Chauhan
Page: 6
Reg. No:- 503478
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.
Anuj Singh Chauhan
Page: 7
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

PROJECT INIATION

Identify a problem or an opportunity.


Analyzing the current system in the light of the
problem/opportunity.
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:


Anuj Singh Chauhan
Page: 8
Reg. No:- 503478
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.

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
Anuj Singh Chauhan
Page: 9
Reg. No:- 503478
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
• Establishing trust between user & IS.
Anuj Singh Chauhan
Page: 10
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

• 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
• Similar system in other organizations
• Standard software solutions
• Description of similar system in publications

III. FROM EXPERIMENTAL METHODS

Anuj Singh Chauhan


Page: 11
Reg. No:- 503478
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.

Project Justification

Analyst prepares alternative systems and decides


which to propose by doing COST/BENEFIT
analysis.

Anuj Singh Chauhan


Page: 12
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

Anuj Singh Chauhan


Page: 13
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

System Development Life cycle

The structured sequence of operation required imaging developing and


Making operational a new information system it’s a cycle because the
System will need replacement and
Development, cycle will begin.

Phases of SDLC

Anuj Singh Chauhan


Page: 14
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

System Analysis
System Design
Coding
System Testing
System Implementation
System Maintenance

Anuj Singh Chauhan


Page: 15
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

PROBLEM FACED IN THE CURRENT SYSTEM

• In the current system data related to


banking is maintained by writing it on to various
registers.
• Registers may lost or damage.

Anuj Singh Chauhan


Page: 16
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

• 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.

FEATURES PROPOSED IN THE CURRENT


SYSTEM
Anuj Singh Chauhan
Page: 17
Reg. No:- 503478
BANK MANAGEMENT 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 field’s 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.

Anuj Singh Chauhan


Page: 18
Reg. No:- 503478
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

Anuj Singh Chauhan


Page: 19
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

Questions:-

1. What are the user’s 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 organization’s
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

Anuj Singh Chauhan


Page: 20
Reg. No:- 503478
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 a proposed system. More
commonly known s cost/benefit

Anuj Singh Chauhan


Page: 21
Reg. No:- 503478
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.

Anuj Singh Chauhan


Page: 22
Reg. No:- 503478
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

Anuj Singh Chauhan


Page: 23
Reg. No:- 503478
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
Anuj Singh Chauhan
Page: 24
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

most of the computers. The system can be upgraded


and maintained easily to keep in tune with specific
needs of the customer. The memory required by this
software will not be much, so we won’t 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.

Anuj Singh Chauhan


Page: 25
Reg. No:- 503478
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:-

Anuj Singh Chauhan


Page: 26
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

 The software can be made exactly as per the


needs of the management.
 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.

Anuj Singh Chauhan


Page: 27
Reg. No:- 503478
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
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:

Anuj Singh Chauhan


Page: 28
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

- 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 system’s 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
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?

Anuj Singh Chauhan


Page: 29
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

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,PROJECT
SYSTEM who understand the parts
FEASIBILITY
of PLANNING
the business that are relevant to the project and are skilled in system
analysis and design process.
VALIDATION
WATER FALL MODEL VALIDATION

SYSTEM DESIGN DETAIL DESIGN

VERIFICATION VERIFICATION

CODING OPERATION

VERIFICATION VERIFICATION

Anuj Singh Chauhan


INSTALLATION TESTING AND
Page: 30
Reg. No:- 503478 INTEGRATION

VERIFICATION 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:-
The software used by the programmer for developing our project
named “Bank Management System” is as follows:-
Anuj Singh Chauhan
Page: 31
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

1. Coding of the project – C++


2. Components of the project – C++
Maintenance and recording of data – Datafiles

Anuj Singh Chauhan


Page: 32
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

ENTITY RELATIONSHIP DIAGRAM

Opening
Date
Name Add
Balanc
A/c e
no.

USER CREAT CUSTOMER


Anuj Singh Chauhan
E Page: 33
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

DATA FLOW DIAGRAM

ZERO LEVEL OR CONTEXT DIAGRAM

USER /
ADMINISTRATOR

Grant access

Request for a/c details Reports

Queries Request for access


BANKING
Request for member details PROJECT
Anuj Singh Chauhan
Page: 34
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

Grant super
USER /
ADMINISTRATOR
User access

1st LEVEL DFD

INITIAL.DAT

USER / Request for a/c info. VERIFY


ADMINISTRATOR A/c
NUMBER

If
ok

Anuj Singh Chauhan ACCEPT


Page: 35 CHOICE
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

SHOW
CUSTOMER
DETAIL

Anuj Singh Chauhan


Page: 36
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

2ND LEVEL DFD

INTIAL.DAT

ACCEPT CHOICE
FORM
USER / PROCESSING USER
ADMINISTRATOR OR
ADMINISTRATOR

7
QUIT
4
1 2
3 OPEN
SEE LIST
TRANSA NEW 6
A/C’S OF A/C
CTION A/C HELP

5
EDIT A/C

Anuj Singh Chauhan


Page: 37
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

1. SEE ACCOUNT

ESC

USER / 1.1
ADMINISTRATOR ACCEPT
CHOICE

1.1.2
ACCEPT
CHOICE

1.1.2.1
ACCEPT
CHOICE

INTIAL.DAT

Anuj Singh Chauhan Page: 38


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

2.LIST FO ACCOUNTS

ESC

USER / 2.1
ADMINISTRATOR ACCEPT
CHOICE

2.1.1
DISPLAY
ALL
ACCOUNT

INTIAL .DAT

Anuj Singh Chauhan Page: 39


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

3.TRANSACTIONS

USER / 3.1
ADMINISTRATOR ACCEPT
CHOICE

3.1.1
ENTER
A/C NO.

3.2.1.1
D DEPOSIT W
OR
WITHDRAW

3.1.1.1.1 3.1.1.1.2
CASH CASH/CHE
/CHEQUE QUE

Save transaction in the file

INTIAL.DAT

Anuj Singh Chauhan Page: 40


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

4.OPEN NEW ACCOUNT

USER / 3.1.1.1.2
ADMINISTRATOR CASH/CHE
QUE

4.1.4
4.1.2 3.1.1.1.2
4.1.1 INTIAL
ADDRES CASH/C
NAME DEPOSI
S HEQUE
T

BANKING.DAT

Anuj Singh Chauhan Page: 41


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

5.EDIT ACCOUNT

5.1
USER / ACCEPT
ADMINISTRATOR CHOICE

5.1.1 5.1.2
5.1.3
MODIFY CLOSE
QUIT
A/C A/C

5.I.1.1 5.1.2.1
MODIFY ENTER
A/C A/C NO.

5.1.1.1.2
5.1.1.1.1 5.1.2.1.1
MODIFY
MODIFY DELETE
ADDRES
NAME RECORD
S

BANKING.DAT

Anuj Singh Chauhan Page: 42


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

6.HELP

ESC
5.1.2.1
USER / ENTER
ADMINISTRATOR A/C NO.

6.1.1
HELP
ABOUT 6.1.1
A/C NO.. HELP
ABOUT
6.1.1 MODIFY
6.1.1 HELP
HELP ABOUT
6.1.1
ABOUT NEW
HELP
LIST OF A/C
ABOUT
A/C.. TRANS.

Anuj Singh Chauhan Page: 43


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

STRUCTURE CHART

BANKING MANAGEMENT
1

QUIT
1.7

SEE ACCOUNT TRANSACTION EDIT HELP


I.1 1.3 1.5 1.6

LIST OF A/C OPEN A NEW A/C


1.2 1.4
1.2

Anuj Singh Chauhan Page: 44


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

SEE ACCOUNT
I.1

SEE A/C NO.


I.1.1

DISPLAY A/C
INFORMATION
1.1.1.1

Anuj Singh Chauhan Page: 45


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

LIST OF ACCOUNT
1.2

DISPLAY ALL THE INFORMATION


1.2.1

Anuj Singh Chauhan Page: 46


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

TRANSACTION
1.3

ENTER A/C NO
1.3.1

DEPOSIT WITHDRAW
1.3.1.1 1.3.1.2.2

CASH CHEQUE CASH CHEQUE


1.3.1.1.1 1.3.1.1.2 1.3.1.2.2 1.3.1.2.2

Anuj Singh Chauhan Page: 47


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

OPEN NEW
ACCOUNT
1.4

VERIFYING INTIAL
NAME ADDRESS PERSON DEPOSIT
1.4.1 1.4.2 1.4.3 1.4.4

Anuj Singh Chauhan Page: 48


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

EDIT ACCOUNT
1.5

MODIFY A/C CLOSE A/C QUIT


1.5.1 1.5.2 1.5.3

ENTER A/C NO. ENTER A/C NO


1.5.1.1 1.5.2.1

MODIFY MODIFY
NAME ADDRESS DELETE A/C
1.5.1.1.1 1.5.1.1.2 1.5.2.1.1

Anuj Singh Chauhan Page: 49


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

HELP
1.6

ABOUT ALL ABOUT ABOUT NEW ABOUT


ABOUT A/C A/C TRANSACTION A/C MODIFY A/C
1.6.1 1.6.2 1.6.3 1.6.4 1.6.5

Anuj Singh Chauhan Page: 50


Reg. No:- 503478
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 , customer’s 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)

Anuj Singh Chauhan Page: 51


Reg. No:- 503478
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.

Anuj Singh Chauhan Page: 52


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

Variable name Data type Size Information Stored


Acc no Integer variable 2 Account no
Name Array of char 30 Name of the customer
Address Array of char 60 Add of the customer
Balance Float variable 1 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.

Anuj Singh Chauhan Page: 53


Reg. No:- 503478
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.

Anuj Singh Chauhan Page: 54


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

Variable name Data type Size Information stored


Acc no Integer variable 2 Account number
Type Character 10 Type of the withdrawal
variable
dd ,mmm ,yy Integer variable 2 Date
Tran Character array 1 Deposit or withdrawal
Interest Float variable 2 Interest
Amount Float variable 2 Amount
Balance Float variable 2 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.

Anuj Singh Chauhan Page: 55


Reg. No:- 503478
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

Anuj Singh Chauhan Page: 56


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

/*Program to bank account management*/

#include <iostream.h>

Anuj Singh Chauhan Page: 57


Reg. No:- 503478
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
Anuj Singh Chauhan Page: 58
Reg. No:- 503478
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 box_for_list(void) ;
int accno ;
char name[30], address[60] ;
float balance ;
int dd, mm, yy;
} ;

Anuj Singh Chauhan Page: 59


Reg. No:- 503478
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 accno ;
char type[10] ;
int dd, mm, yy ;
char 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) ;
Anuj Singh Chauhan Page: 60
Reg. No:- 503478
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 ;
Anuj Singh Chauhan Page: 61
Reg. No:- 503478
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) ;
Anuj Singh Chauhan Page: 62
Reg. No:- 503478
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) ;
Anuj Singh Chauhan Page: 63
Reg. No:- 503478
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')
{
Anuj Singh Chauhan Page: 64
Reg. No:- 503478
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)
Anuj Singh Chauhan Page: 65
Reg. No:- 503478
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 ;
Anuj Singh Chauhan Page: 66
Reg. No:- 503478
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) ;
Anuj Singh Chauhan Page: 67
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

delay(10) ;
gotoxy(10,6);
cout <<"This Bank can keep record of
daily banking" ;
delay(10) ;
gotoxy(10,7);
cout <<"transactions. " ;
delay(10) ;
gotoxy(10,9);
cout <<" This Bank is capable of holding any
no. of account." ;
delay(10) ;
gotoxy(10,11);
cout <<"- With OPTION-1 you can see the
account of a 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" ;
Anuj Singh Chauhan Page: 68
Reg. No:- 503478
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) ;
Anuj Singh Chauhan Page: 69
Reg. No:- 503478
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 ;
}
Anuj Singh Chauhan Page: 70
Reg. No:- 503478
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() ;
Anuj Singh Chauhan Page: 71
Reg. No:- 503478
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] ;
Anuj Singh Chauhan Page: 72
Reg. No:- 503478
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() ;
Anuj Singh Chauhan Page: 73
Reg. No:- 503478
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) ;
Anuj Singh Chauhan Page: 74
Reg. No:- 503478
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. NAME OF
PERSON 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) ;
Anuj Singh Chauhan Page: 75
Reg. No:- 503478
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..." ;
Anuj Singh Chauhan Page: 76
Reg. No:- 503478
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)) ;
Anuj Singh Chauhan Page: 77
Reg. No:- 503478
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 ;
Anuj Singh Chauhan Page: 78
Reg. No:- 503478
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);
Anuj Singh Chauhan Page: 79
Reg. No:- 503478
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() ;
Anuj Singh Chauhan Page: 80
Reg. No:- 503478
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) ;
Anuj Singh Chauhan Page: 81
Reg. No:- 503478
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" ;
Anuj Singh Chauhan Page: 82
Reg. No:- 503478
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
HAVE GREATER THAN 25 CHARACTERS") ;
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) ;
Anuj Singh Chauhan Page: 83
Reg. No:- 503478
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')
Anuj Singh Chauhan Page: 84
Reg. No:- 503478
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 ;
Anuj Singh Chauhan Page: 85
Reg. No:- 503478
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 ;
Anuj Singh Chauhan Page: 86
Reg. No:- 503478
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 ;
Anuj Singh Chauhan Page: 87
Reg. No:- 503478
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)
{
Anuj Singh Chauhan Page: 88
Reg. No:- 503478
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) ;

Anuj Singh Chauhan Page: 89


Reg. No:- 503478
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" ;
Anuj Singh Chauhan Page: 90
Reg. No:- 503478
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) ;
Anuj Singh Chauhan Page: 91
Reg. No:- 503478
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')
Anuj Singh Chauhan Page: 92
Reg. No:- 503478
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 ;
Anuj Singh Chauhan Page: 93
Reg. No:- 503478
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) ;
Anuj Singh Chauhan Page: 94
Reg. No:- 503478
BANK MANAGEMENT SYSTEM

cprintf("DATE PARTICULAR
DEPOSIT WITHDRAW 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)


{
Anuj Singh Chauhan Page: 95
Reg. No:- 503478
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)))
Anuj Singh Chauhan Page: 96
Reg. No:- 503478
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..." ;
Anuj Singh Chauhan Page: 97
Reg. No:- 503478
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])
{
Anuj Singh Chauhan Page: 98
Reg. No:- 503478
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 ;
Anuj Singh Chauhan Page: 99
Reg. No:- 503478
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)


{
Anuj Singh Chauhan Page: 100
Reg. No:- 503478
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" ;
Anuj Singh Chauhan Page: 101
Reg. No:- 503478
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) ;
Anuj Singh Chauhan Page: 102
Reg. No:- 503478
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 ;
Anuj Singh Chauhan Page: 103
Reg. No:- 503478
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) ;
Anuj Singh Chauhan Page: 104
Reg. No:- 503478
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) ;
cprintf("\7INVALID DATA
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') ;
Anuj Singh Chauhan Page: 105
Reg. No:- 503478
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. " ;
Anuj Singh Chauhan Page: 106
Reg. No:- 503478
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) ;
Anuj Singh Chauhan Page: 107
Reg. No:- 503478
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) ;
Anuj Singh Chauhan Page: 108
Reg. No:- 503478
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() ;
}

Anuj Singh Chauhan Page: 109


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

Anuj Singh Chauhan Page: 110


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

Anuj Singh Chauhan Page: 111


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

Anuj Singh Chauhan Page: 112


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

Anuj Singh Chauhan Page: 113


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

Anuj Singh Chauhan Page: 114


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

Anuj Singh Chauhan Page: 115


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

Anuj Singh Chauhan Page: 116


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

Anuj Singh Chauhan Page: 117


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

Anuj Singh Chauhan Page: 118


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

Anuj Singh Chauhan Page: 119


Reg. No:- 503478
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

• Installation
• How to use

Anuj Singh Chauhan Page: 120


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

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:-

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.

Anuj Singh Chauhan Page: 121


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

• 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.

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.

Anuj Singh Chauhan Page: 122


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

Anuj Singh Chauhan Page: 123


Reg. No:- 503478
BANK MANAGEMENT SYSTEM

SYSTEM MAINTENANCE

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

Anuj Singh Chauhan Page: 124


Reg. No:- 503478
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.

Anuj Singh Chauhan Page: 125


Reg. No:- 503478
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.

Anuj Singh Chauhan Page: 126


Reg. No:- 503478
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.

Anuj Singh Chauhan Page: 127


Reg. No:- 503478

Você também pode gostar