.
(PROJECT CO-ORDINATOR)
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
3.4Testing
- Input & Output Screens
3.5Implementation
- User Manual
3.6Maintenance
4. Limitations
5. References
6. Suggestions
INTRODUCTION
PROJECT INIATION
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.
Requirement Analysis
Using:
• Interviews
• Surveys
• Direct observation
I. FROM PEOPLE
Project Justification
Phases of SDLC
System Analysis
System Design
Coding
System Testing
System Implementation
System Maintenance
FEASIBILITY STUDY
Questions:-
Feasibility Consideration
1) ECONOMIC FEASIBILITY
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.
ALTERNATIVES
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.
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.
Plan
The followings plan was made for the development of the software:-
First a prototype was developed and used to know more about the
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:
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?
VERIFICATION VERIFICATION
CODING OPERATION
VERIFICATION VERIFICATION
VERIFICATION VERIFICATION
BANK MANAGEMENT SYSTEM
Opening
Date
Name Add
Balanc
A/c e
no.
USER /
ADMINISTRATOR
Grant access
Grant super
USER /
ADMINISTRATOR
User access
INITIAL.DAT
If
ok
SHOW
CUSTOMER
DETAIL
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
1. SEE ACCOUNT
ESC
USER / 1.1
ADMINISTRATOR ACCEPT
CHOICE
1.1.2
ACCEPT
CHOICE
1.1.2.1
ACCEPT
CHOICE
INTIAL.DAT
2.LIST FO ACCOUNTS
ESC
USER / 2.1
ADMINISTRATOR ACCEPT
CHOICE
2.1.1
DISPLAY
ALL
ACCOUNT
INTIAL .DAT
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
INTIAL.DAT
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
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
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.
STRUCTURE CHART
BANKING MANAGEMENT
1
QUIT
1.7
SEE ACCOUNT
I.1
DISPLAY A/C
INFORMATION
1.1.1.1
LIST OF ACCOUNT
1.2
TRANSACTION
1.3
ENTER A/C NO
1.3.1
DEPOSIT WITHDRAW
1.3.1.1 1.3.1.2.2
OPEN NEW
ACCOUNT
1.4
VERIFYING INTIAL
NAME ADDRESS PERSON DEPOSIT
1.4.1 1.4.2 1.4.3 1.4.4
EDIT ACCOUNT
1.5
MODIFY MODIFY
NAME ADDRESS DELETE A/C
1.5.1.1.1 1.5.1.1.2 1.5.2.1.1
HELP
1.6
DATA DICTIONARY
1. INITIAL.DAT- This data file contains all the information about account. For
2. BANKING.DAT- This data file contains all the information about member for
3. TEMP.DAT- This data file is used while deleting some information from
A. void gra1()
B. void gra2()
C. void box(int, int)
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
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.
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.
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.
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 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.
Int no of days ( int ,int ,int .int .int , int):- This function returns the difference between
Two dates.
Void box for display(int):- This function draws the box for displaying records from file
banking.dat
#include <iostream.h>
#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;
} ;
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 ;
} ;
cout <<c ;
}
}
}
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) ;
}
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 ;
}
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 ;
}
}
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() ;
}
file.close() ;
return count ;
}
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 ;
}
return t_balance ;
}
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 ;
}
getch() ;
}
}
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() ;
}
int location ;
location = (recno-1) * sizeof(acc) ;
file.seekp(location) ;
file.write((char *) this, sizeof(acc)) ;
file.close() ;
}
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) ;
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() ;
}
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() ;
}
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() )
{
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) ;
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) ;
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) ;
}
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 ;
}
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() ;
}
}
d1 = 1 ;
m1++ ;
}
if (m1 > 12)
{
m1 = 1 ;
y1++ ;
}
}
return days ;
}
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 ;
}
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) ;
}
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
void main(void)
{
control c ;
c.help() ;
c.main_menu() ;
}
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.
USER MANUAL
• Installation
• How to use
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.
• 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
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.
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.
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.
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.
• 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.
REFERENCES