100% found this document useful (1 vote)
353 views73 pages

Bank Customer Management System C++

project for class 12

Uploaded by

vandana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
353 views73 pages

Bank Customer Management System C++

project for class 12

Uploaded by

vandana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 73

Bank Customer Management System

CONTENTS

1. Synopsis
2. System Analysis
CFD
DFD
3. Fundamental requirement
I/O Requirement
Process Requirement
Storage Requirement
Control Requirement
4. System Design
I/O Design
Process Design
Database Design
5. Coding and Testing
10. Implementation Issue
11. User manual
12. Future Enhancement
13. Conclusion
14. Bibliography

OBJECTIVES OF THE PROJECT

Objective of the project


The objective is to create application software which cans mange all about
the customers currently working in bank in order relative them from their
manual accounting system.
The various reasons which led to the conversion of the manual system of the
bank to the computerized system are as follows: Entry of information in various registers was a very hectic job for
the customer.
The entry of information causing error in entering details of
customer.
Even the redundancy of the record was also found through they had
taken certain precautions like entering the information with the
pencil, leaving the space for making the entry in future, if not
possibly confirmed about the details.
The error prone details causing the making in the other related
registers, which might some problem while producing reports.
Even a lot of times begin spent on the entering of details after
crosschecking details from various registers.
Then the security of these registers being a major problem. Even a
single page should not be teased. The n it should not get into the
hand of some unauthorized person.
And last but not least, because it is vary calculation oriented and
computerized system can be used for given current result always.
The proposed Bank Account system will make current manual system easy to
monitor, efficient and almost error free.

HARDWARE & SOFTWARE REQUIREMENT

(A)

HARDWARE REQUIREMENT-

An Intel based central processing unit capable of running any sort of


windows operating system such as Pentium based workstation.

Minimum 64 MB RAM (128 MB Desirable) at server.

Minimum 60 MB of free disk space for files.

A CD Rom drive

Minimum 48 MB of RAM at workstation.

VGA 15 color monitor for workstation.

(B)

SOFTWARE REQUIREMENTThe software requirements are as follows.

Windows 98 or Above

C editor

Microsoft word

INTRODUCTION

Bank account system involves maintaining of account related information.


This requires grater accuracy, speed that is why the proposed system is the
computerization of the existing system. The computerization system does the
job monitoring the record in easy and effective manner as stated below:

Efficiently handles customer, account related data.


Monitor transaction and makes related information.
Keeps records of customer account detail and other information.
Generates reports.
Account system involved maintaining data related different customer and his
transaction. This required greater accuracy, speed that is why the proposed
system is the computerization of the existing system. The computerized
system does the job of the monitoring the information easy and effective
manner.
.

DISCRIPTION OF EXISTING SYSTEM

In the ongoing process, the records are maintained manually and the paper
work is more.
Entering RecordEntry of each record is done manually each time the record is done
Manually .each time the record is maintained on paper and it maximizes the
maintenance of additional files.
Searching the recordDue to absence of unique identification of person the searching of record
takes much time. And in the wastage of time increase.
Deleting the RecordIn the current system there is no concept of deleting record.
Modification of RecordsIf any modification is required it is done directly on the documents being
preserved in correspondence to account information.
Sorting of RecordsAll the record of Account is maintained on papers. And if in any case we
want to see any particular record we have to search a lot of pages.

PROBLEMS
1. As

the

work

is

carried

out

manually

so

the

requirement

of

the

time

to

maintenance of record.
2. The

system

is

handled

manually

so

it

requires

lot

of

maintain the records.


3. The current system is not reliable as manually recording often leads
to mistakes and no accurate result are found.
4. No feasibility
5. As huge data is to be maintaining, so its not easy to maintain the
huge data without any error, which in turn makes the less efficient.

DISCRIPTION OF PURPOSED SYSTEM

To avoid the limitation of current system its necessary to design and


develop a new system which have the following benefit and the existing
system.
(a)Everything is automated which reduce the risk factor.
(b)Flexibility in generating of information.
(c)Quick retrieved and maintenance of data.
(d)Highly accurate.
(e)User satisfaction.

FEASIBILITY STUDY
Feasibility study is a report directed management. It evaluates the impact
of the proposed changes in the area(s) in question. The report is a formal
document for management, brief enough and sufficiently, non technical to be
understandable, yet detailed enough to provide the basis for system design.

Technical feasibility

Technical

feasibility

centers

around

the

existing

system

software, etc) into what it can sort the proposed addition.

(hardware,

Present system Vs. Candidate System

CRITERIA

PRESENT SYSTEM

System accuracy
Growth potential
Response time
User friendly

75%
Average
Average
No

CANDIDATE SYSTEM

90%
Good
Good
Yes

Economical Feasibility
Economical analysis in the most frequently used method for
evaluation the effectiveness of a candidate system. This procedure is to
determine the benefits and saving that are expected from a candidate system
and compare it with cost.

Present system Vs. Candidate System

CRITERIA

PRESENT SYSTEM

CANDIDATE SYSTEM

System Performance

Only one task can be

One computer system

performed at a time

perform more then

15 days or more
Fair

one task
In a minimum time
Very Good

User training
System Operation

Operational Feasibility
Employees of

any organization are inherently resistant to changes because

they believe that it will be very difficult to adapt in the new system.
Computers have been to facilitate changes. it is well known that
computerization has something to do with transfers, retraining and changes
in

employee job status.

Present system Vs. Candidate System

CRITERIA
Operation time

Reliability
Accuracy
Retrieval

PRESENT SYSTEM
The present system

CANDIDATE SYSTEM
It takes less time

takes more time for

in comparison to

displaying

present system.

procedures
It is less reliable
75%
It takes few minutes

It is more reliable.
95%
It takes few seconds

Feasibility Study
A study was undertaken to compare the existing manual system with
the new proposed system to be developed.

Economic Feasibility
The Bank Account System will considerably reduce the manpower and to
time

necessary

to

manage

the

process

and

generate

the

report

for

the

following imperative action to be taken place on the basis of the reports.


The proposed system will require only the Person to manage the Contacts. The
new system will generate the reports automatically optimizing the efforts
and time required.
Thus proposed system is economically feasible because it is being
developed with out having to incur the heavy development costs and it will
considerably reduce time and effort required managing the present system.
Technical Feasibility
The proposed system, which is to be developed, will be installed at
Personal Computer. Since we have to also install the computer systems with
the configuration given below:System Configuration

One PC with any version above Windows98

Turbo C editor

Switches to connect the computers Together


So

we

have

necessary

Hardware

and

Software

supporting

the

implementation of the proposed system. There is however a need of the one


technical person to effectively manage the resource in the computer. Since
there are no technical constraints the project is technically feasible.

Behavioral Feasibility
Since the new system is going to solve the difficulties that come in
the manual system of the procurement, reports in handwritten. So proposed
system is completely feasible is terms of the behavior.
Project Plan
The
framework

Objective
that

resources,

of

enables

cost

and

the
an

software
owner

schedule.

to

The

project
make

planning

reasonable

project

leader

is

to

provide

estimate

is

of

the

responsible

for

designing the system precisely according the requirement specified by the


customer. He is also responsible for maintenance of the system for certain
period of time. Since cost of maintenance is much higher than cost of
developing

system.

Thus

to

reduce

developing

and

maintenance

cost,

to

provide the system in predefine time proper planning of system is necessary.


For this project, we used the Waterfall Model. The methodology has the
following phases:

Initial Investigation
The most crucial phase of managing system projects is

planning

to

launch

system

investigation,

we

need

master

plan

detailing the steps to be taken, the people to be questioned, and outcome


expected.

The

initial

investigation

has

the

objective

of

determining

whether the users request has potential merits the major steps are
defining user requirements, studying the present system and defining the
performance expected by the candidate system to meet user requirements.
The first step in the system development life cycle is the identification
of need. There may be a user request to change, improve or enhance an
existing system. The initial investigation is one way of handling these
needs. The objective is to determine whether the request is valid and
feasible before a recommendation is reached to do nothing, improve or
modify the existing system, are to build a new one.
Thus for an effective maintenance, paper follow-up
and handling of the data resulting from different information in records,
it felt necessary to develop a

Bank account System so that monitoring

and maintenance of record data could be done.

INFORMATION GATHERING
A key parts of the system analysis is gathering information about the
present system. The developer must know that information to gather, where to
find it, how to collect it, and what to make of it.
The

proper

use

of

tools

for

gathering

information

is

the

key

to

successful analysis. The tools are


The Traditional Interview
Questionnaires
On-site Observation
The major objective of on-site observation is to get as close as possible to
the real system. In the interest to get more potential information we
personally approached the senior officials of the concerned department.
Required data are collected as forms.

Analysis phase
It includes the study of the problem and creation of the System

Requirement Specification (SRS) Document. The most crucial phase of the


managing

system

questioned,

projects

study

of

is

manual

analysis.
system

It

if

requires
it

the

exits,

and

people
on

to

the

be
site

observations. Analysis is necessary to understand the problem, the software


system is to solve
The
desired

analysis

system

must

model
do,

is

not

concise,
how

it

precise

will

done.

abstraction
Thus,

main

of

what

the

emphasis

in

analysis phase is on identifying what is needed from system. The objective


is

to

determine

whether

the

request

is

valid

and

feasible

before

recommendation is reach to do nothing , improve or modify the existing


system, or to building a new one. Thus Bank Account System is automation of
the existing manual system.
An SRS establishes the basis for agreement between the client and
the developer on what the software will do. An SRS provides references for

validation of the final product. A high quality SRS is prerequisite to high


quality software, which reduces overall development cost of system.

Design Phase

It begins when the analysis phase and thus requirements documents,


for the software to be developed has been prepared. The objective of the
design process is to be to produce a model or representation of the system,
which is used to build the system. The design of the system is essentially a
blueprint or plan for solution for system.
Design process for software system has two levels:
1. System Design
2. Object Design

The System Design is the high-level strategy for solving the problem and
building a solution. System design includes decisions about the organization
of the system into subsystem, the allocation of the subsystem to hardware
and software component and major conceptual and policy decisions that for
the detailed design.
The Object Design phase determines the full definitions of the classes and
the

association

used

in

the

implementations

as

well

as

interfaces

and

algorithms of the methods used to implement operations.

Implementation
developed

in

of the project required the design of the system


the

design

phase

of

the

project

to

be

coded

and

implemented. The modules defines in the design phase are coded in C


language.
modules

Integration phase requires the integration of the various


developed

in

the

project

implementation

phases.

In

implementation, it is important to follow good software engineering


practice so that tracing to the design is straightforward and so that
the implemented system remains flexible and extensible, thus it reduce
cost of maintenance and enhancement of the system.

Testing Phase includes the conformation of the acceptance criteria set


down

in

the

system

requirements

specification

document.

The

development of the software system involved a series of activities


where opportunities for injection of human fallibilities are enormous.
Error may begin occur at every stage of the system development where
the objectives may be erroneously or imperfectly specified as well as
later

design

and

development

stage.

Software

testing

is

critical

element of software quality assurance and represents the review of


specification, design and coding. Testing cant show the absences of
defects, it can only show that software defects are present.

Packaging and Deployment phase

comes after completion of the software.

Application packaging is the act of creating a package that can install our
application onto users computer. A package consists of the files that
contain compressed project files and any other necessary files the user
needs to install and run the application. These files may include setup
programs secondary files, or other needed files. The additional files vary
based on the type of packaging. One can create two kind of packaging
standard package or internet packages. If we plan to distribute on disk,
floppy or via a network share, we should create a standard package for our
application. If we plan to distribute via an internet or internet site, we
should create an Internet package

CONTEXT FLOW DIAGRAM

BANK
CUSTOMER

ACCOUNT
SYSTEM

CUSTOMER

CUSTOMER

CUSTOMER INFORMATION
FILE
Order

Response

Account
Process

Transaction information

Password

Address

CUSTOMER

Operation
code
csafacodeccode
code

Name

BANK

Use

Name

V-p-A/c
no.

A/c no.

Ha
ve

v-ppassword

Mgrpassword

MANAGER

A BANK MONEY TRANSACTION SYSTEM


B.M.T SYSTEM
____________
CREATED BY: SANJEEV SHARMA
RGN. NO: 501701
PRESS ANY KEY TO CONTINUE...

WELCOME TO PUNJAB NATIONAL BANK


*****************************************
*
*
**
*
*
**
*
* PLEASE ENTER THE NEW
**
*
*
MANAGERIAL PASSWORD...
**
*
*
**
*
*
**
*
* TODAYS DATE IS
16/5/2008
**
*
* CURRENT TIME IS 21:48:7
**
*
*
*****************************************

WELCOME TO PUNJAB NATIONAL BANK


*****************************************
*
*
**
*
*
**
*
*
**
*
*
**
*
*
**
*
*
**
*
* TODAYS DATE IS
16/5/2008
**
*
* CURRENT TIME IS 21:48:17
**
*
*
*****************************************

ENTER 1 FOR MANAGER


ENTER 2 FOR USER
ENTER 3 FOR EXIT

*****************************************
*
*
**
*
* ENTER 2 FOR SHOW ALL ACCOUNT
**
*
* ENTER 4 FOR UNLOCK ALL ACCOUNT
**
*
* ENTER 6 FOR CHANGE PASSWORD
**
*
* RECORD.
**
*
* ENTER 0 for exit.
**
*
* ENTER YOUR CHOICE...
**
*
* TODAYS DATE IS
16/5/2008
**
*
* CURRENT TIME IS 21:48:28
**
*
*
*****************************************

PUNJAB CO. BANK OF INDIA


ENTER 1 FOR SEARCH ACCOUNT
ENTER 3 FOR LOCK ALL ACCOUNT
ENTER 5 FOR SHOW ALL TRANSACTIONS
ENTER 7 FOR SHOW ONE TRANSACTION
ENTER 9 for back.

WELCOME TO PUNJAB NATIONAL BANK


*****************************************
*
*
FOR SIGN UP ENTER 1
**
*
*
**
*
*
**
*
*
FOR QUIT ENTER 0
**
*
*
**
*
*
**
*
* TODAYS DATE IS
16/5/2008
**
*
* CURRENT TIME IS 21:49:0
**
*
*
*****************************************

FOR LOG IN ENTER 2

WELCOME TO PUNJAB NATIONAL BANK


*****************************************
*
*
**
*
*
** ENTER YOUR ACCOUNT NUMBER
*
*
**
*
*
**
*
*
**
*
*
**
*
* TODAYS DATE IS
16/5/2008
**
*
* CURRENT TIME IS 21:49:13
**
*
*
*****************************************

PLEASE ENTER SOME INFORMATION


*****************************************
*
* YOUR ACCOUNT NUMBER IS:2
**
*
* ENTER YOUR NAME:HGH
**
*
* ENTER THE ADDRESS:FGHGF
**
*
* ENTER THE INITIAL AMOUNT :
**
*
*
**
*
*
**
*
*
**
*
*
**
DATABASE(Y/N)... *
*
**
*
*
*****************************************

(MORE THAN Rs.500):5000


ENTER YOUR OWN PASSWORD:*

SHOULD IT SVAE IN

[ 0 FOR EXIT ] [ 9 FOR FIRST PAGE ]


*****************************************
*
*
**
*
*
PUNJAB NATIONAL BANK
**
________________________
*
*
**
ENTER 1 FOR CHECK ACCOUNT
*
*
ENTER 2 FOR DEPOSIT ACCOUNT
**
ENTER 3 FOR WITHDRAW ACCOUNT
*
*
ENTER 4 FOR CHANGE PASSWORD
**
ENTER 5 FOR CLOSE ACCOUNT
*
*
ENTER 6 FOR SHOW ACCOUNT
**
ENTER 7 FOR CHANGE ADDRESS
*
*
ENTER YOUR CHOICE...
**
*
* TODAYS DATE IS
16/5/2008
**
*
* CURRENT TIME IS 21:49:59
**
*
*
*****************************************

ACCOUNT NO:2
NAME:HGH
__________________________________________________________________________
__________________________________________________________________________
OPERATION
CASH/CHEQUE
CHEQUE NO. DATE
TIME
AMOUNT
__________________________________________________________________________
__________________________________________________________________________
DEPOSIT
5000.000000
5000.000000

CASH

--

05/16/08

______________________________
TOTAL CURRENT BALANCE:

21:49:57

ENTER THE AMOUNT TO WITHDRAW:500

ENTER THE AMOUNT TO WITHDRAW:500


BY CASH OR BY CHEQUE
ENTER2 FOR CHEQUE1

ENTER1

FOR CASH

PERSON'S DETAIL
*****************************************
*
* NAME:HGH
**
*
* ACCOUNT NUMBER :2
**
*
* TOTAL AMOUNT:4500.000000
**
*
* VERYFYING PERSON A/C NUMBER :0
**
*
* RESIDENTIAL ADDRESS:FGHGF
**
*
* PASSWORD:1
**
*
*
**
*
*
PRESS ANY KEY TO CONTINUE... **
*
*
**
*
*
*****************************************

#include<string.h>
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#include<dos.h>
typedef struct
{
long unsigned int v_ac_num,ac_num;
int close;
float amount;
char name[20],address[50],pas[12],ch;
}database;
typedef struct
{
long unsigned int ac_num;
float amount1;
char operation[9],ope[6],ch_no[10],name1[20],d[10],t[10];
}database1;
typedef struct
{
char initials[15];
}database2;
database2 a1;
database b1,b2;
database1 c1;
long
void
void
void
void
char
void
void
void
void
void
void
void
void
void
void
void
void
void
char
void

unsigned int cnt();


deleterecord();
showdata();
menu();
menu1();
search1(long unsigned int*);
border1();
show();
menu2();
menu3();
menu5();
menu6();
showalltrans();
end();
lock();
unlock();
search();
deposit();
withdraw();
check1(char []);
showtrans();

void
void
void
void
void
void
void
void
char
void

ch_mng_pas();
change_pas();
pas_overflow();
change_address();
restore(long unsigned int ,char[],int,int,char[],float*);
getdata();
menu7();
set_mgr_pas();
check(long unsigned int*,char[]);
home_page();

/*this function prints the message when password is overflow */


void pas_overflow()
{
int i,j;
clrscr();
textmode(C40);
textcolor(LIGHTRED);
gotoxy(4,5);
cprintf("YOUR PASSWORD IS OVERFLOW");
gotoxy(2,10);
cprintf("PLEASE ENTER SMALLER PASSWORD");
textcolor(YELLOW);
gotoxy(3,24);
cprintf("PRESS ANY KEY TO CONTINUE...");
getch();
textmode(C80);
}
/*this function print the big text border*/
void border1()
{
int i,j,k;
textmode(C40);
k=1;
textcolor(13);
gotoxy(1,5);
for(i=0;i<39;i++)
{
cprintf("*");
k++;
gotoxy(k,5);
}
k=5;
gotoxy(40,k);
for(i=0;i<19;i++)
{
cprintf("*");
k++;
gotoxy(40,k);
}

k=40;
gotoxy(k,24);
for(i=0;i<39;i++)
{
cprintf("*");
k-- ;
gotoxy(k,24);
}
k=24;
gotoxy(1,k);
for(i=0;i<19;i++)
{
cprintf("*");
k--;
gotoxy(1,k);
}
}
/*this function find the desired record from te databse*/
char search1(long unsigned int *a)
{
char t='n';
FILE *fp1;
fp1=fopen("data123.txt","rb+");
rewind(fp1);
while(fread(&b2,sizeof(b2),1,fp1)==1)
{
if(*a==b2.ac_num)
{
if(b2.ch=='y' && b2.close==0)
{
t='y';
break;
}
break;
}
}
fclose(fp1);
return t;
}

/*this function matched the particular persons password*/


char check(long unsigned int *tmp,char name[12])
{
char t='n';
FILE *fp3;
clrscr();
fp3=fopen("data123.txt","rb+");
rewind(fp3);
while(fread(&b2,sizeof(b2),1,fp3)==1)

{
if(*tmp==b2.ac_num)
{
if(strcmp(b2.pas,name)==0 && (b2.close==0))
{
t='y';
break;
}
break;
}
}
fclose(fp3);
return t;
}
/*this function displays the big text date*/
void date()
{
struct date d;
getdate(&d);
textcolor(GREEN);
gotoxy(3,19);
cprintf("TODAYS DATE IS");
textcolor(RED);
gotoxy(20,19);
cprintf("%d/%d/%d",d.da_day,d.da_mon,d.da_year);
}
/*this function displays the big text time*/
void time()
{
struct time t;
gettime(&t);
textcolor(GREEN);
gotoxy(3,21);
cprintf("CURRENT TIME IS");
textcolor(RED);
gotoxy(20,21);
cprintf("%d",t.ti_hour);
textcolor(RED+BLINK);
cprintf(":");
textcolor(RED);
cprintf("%d",t.ti_min);
textcolor(RED+BLINK);
cprintf(":");
textcolor(RED);
cprintf("%d",t.ti_sec);
}
/*this function displays the border*/
void border()
{
int i,j,k;

k=1;
gotoxy(k,3);
for(i=0;i<40;i++)
{
cprintf("*");
k++;
gotoxy(k,3);
}
k=3;
gotoxy(40,k);
for(i=0;i<22;i++)
{
cprintf("*");
k++;
gotoxy(40,k);
}
k=40;
gotoxy(k,24);
for(i=0;i<66;i++)
{
cprintf("*");
k-- ;
gotoxy(k,24);
}
k=24;
gotoxy(1,k);
for(i=0;i<22;i++)
{
cprintf("*");
k--;
gotoxy(1,k);
}
}
/*this function displays the title of the bank*/
void bank()
{
int i;
char ch[]="WELCOME TO PUNJAB NATIONAL BANK";
clrscr();
textmode(C40);
textcolor(14);
gotoxy(3,3);
for(i=0;ch[i]!=NULL;i++)
{
cprintf("%c",ch[i]);
delay(40);
}
date();
time();
}

/*this function displays the small text date and time*/


void date1()
{
struct date d;
struct time t;
getdate(&d);
gettime(&t);
textcolor(RED);
gotoxy(56,20);
cprintf("TODAYS DATE IS");
textcolor(GREEN);
gotoxy(58,23);
cprintf("%d/%d/%d",d.da_day,d.da_mon,d.da_year);
textcolor(RED);
gotoxy(12,20);
cprintf("CURRENT TIME IS");
textcolor(GREEN);
gotoxy(15,23);
cprintf("%d",t.ti_hour);
textcolor(GREEN+BLINK);
cprintf(":");
textcolor(GREEN);
cprintf("%d",t.ti_min);
textcolor(GREEN+BLINK);
cprintf(":");
textcolor(GREEN);
cprintf("%d",t.ti_sec);
}
/*this function deletes the desired record*/
void deleterecord()
{
long unsigned int no,i=0,p,t;
char ch,name[20],name1[20],isfound='n',c,g='n' ;
FILE *fp;
FILE *fp1;
clrscr();
fp=fopen("data123.txt","rb+");
fp1=fopen("data123.txt","rb+");
textmode(C40);
textcolor(3);
gotoxy(12,2);
cprintf("DELETION OF RECORD");
gotoxy(12,3);
cprintf("__________________");
textcolor(WHITE);
gotoxy(1,8);
cprintf("Enter A/C no. to close record :");
scanf("%lu",&no);
gotoxy(4,11);
cprintf("ENTER THE PASSWORD");
p=t=26;

i=0;
do
{
p++;
fflush(stdin);
ch=getch();
if(ch==8)
{
if(p>t)
{
p--;
gotoxy(p,11);
cprintf(" ");
p--;
i--;
if(i<0)
}

i=0;

}
else if(ch!=13)
{
gotoxy(p,11);
cprintf("*");
name[i++]=ch;
}
if(i>15)
{
fclose(fp);fclose(fp1);
pas_overflow();
deleterecord() ;
}
}while(ch!=13);
name[i]=NULL;
rewind(fp);
rewind(fp1);
fflush(stdin);
g=check(&no,name);
if(g=='y')
{
fflush(stdin);
c=search1(&no);
if(c=='n')
{
clrscr();
textmode(C40);
gotoxy(5,8);
textcolor(YELLOW);
cprintf("YOUR A/C HSA BEEN LOCKED");
gotoxy(3,12);
cprintf("PLEASE CONTACT TO THE BANK MANAGER");

gotoxy(2,24);
textcolor(13);
cprintf("PRESS ANY KEY TO CONTINUE...");
getch();
textmode(C80);
fclose(fp);
fclose(fp1);
menu1();
}
rewind(fp);
while(fread(&b2,sizeof(b2),1,fp)==1)
{
if((strcmp(name,b2.pas)==0)&&(no==b2.ac_num))
{
b2.close=1;
strcpy(name1,b2.name);
isfound='y';
fwrite(&b2,sizeof(b2),1,fp1);
}
else
{
fwrite(&b2,sizeof(b2),1,fp1);
}
}
}
rewind(fp);
rewind(fp1);
fclose(fp);
fclose(fp1);
if(isfound=='n')
{
clrscr();
textmode(C40);
border();
gotoxy(7,8);
textcolor(LIGHTRED);
cprintf("RECORD NOT FOUND");
getch();
textmode(C80);
fclose(fp);
fclose(fp1);
menu1();
}
else
{
clrscr();
gotoxy(5,10);
cprintf("%s",name1);
gotoxy(6,12);
cprintf("YOUR RECORD HAS BEEN CLOSED");
gotoxy(7,22);
cprintf("PRESS ANY KEY TO CONTINUE...");
getch();

}
remove("data123.txt");
rename("data123.txt","data123.txt");
textmode(C80);
}
/*this function display the menu for A/C holders*/
void menu1()
{
int i;
char a;
do
{
textmode(C40);
clrscr();
/*display the border and menu option*/
textcolor(YELLOW);
border();
textcolor(GREEN);
gotoxy(9,7);
cprintf("PUNJAB NATIONAL BANK");
gotoxy(9,8);
cprintf("________________________");
date();
time();
textcolor(YELLOW+BLINK);
gotoxy(3,2);
cprintf("[ 0 FOR EXIT ]");
gotoxy(18,2);
cprintf("[ 9 FOR FIRST PAGE ]");
textcolor(13);
gotoxy(8,10);
cprintf("ENTER 1 FOR CHECK ACCOUNT");
gotoxy(8,11);
cprintf("ENTER 2 FOR DEPOSIT ACCOUNT");
gotoxy(8,12);
cprintf("ENTER 3 FOR WITHDRAW ACCOUNT");
gotoxy(8,13);
cprintf("ENTER 4 FOR CHANGE PASSWORD");
gotoxy(8,14);
cprintf("ENTER 5 FOR CLOSE ACCOUNT");
gotoxy(8,15);
cprintf("ENTER 6 FOR SHOW ACCOUNT");
gotoxy(8,16);
cprintf("ENTER 7 FOR CHANGE ADDRESS");
gotoxy(8,17);
cprintf("ENTER YOUR CHOICE...");
fflush(stdin);
scanf("%c",&a);
gotoxy(20,20);
if(a=='6')
show();

else if(a=='2')
deposit();
else if(a=='5')
deleterecord();
else if(a=='4')
change_pas();
else if(a=='3')
withdraw();
else if(a=='7')
change_address();
else if(a=='9')
menu5();
else if(a=='1')
showtrans();
else if(a=='0')
{
end();
exit(1);
}
else
{
clrscr();
textmode(C40);
textcolor(GREEN);
gotoxy(6,8);
cprintf("WRONG CHOICE");
textcolor(YELLOW);
gotoxy(9,12);
cprintf("TRY AGAIN !");
textcolor(13);
gotoxy(5,18);
cprintf("PRESS ANY KEY TO CONTINUE...");
getch();
menu1();
}
textmode(C80);
}while(a!=0);
}

/*this function gets the A/c no & password while user login*/
void menu()
{
long unsigned int num;
int p,t,i ;
char ch,name[12],isfound;
clrscr();
textmode(C40);
bank();
textcolor(3);
gotoxy(10,3);
border1();
//date1();

time();
gotoxy(3,10);
textcolor(GREEN);
cprintf("ENTER YOUR ACCOUNT NUMBER
fflush(stdin);
scanf("%lu",&num);
gotoxy(3,11);
textcolor(GREEN);
gotoxy(3,12);
cprintf("ENTER THE PASSWORD :");
p=t=24;
i=0;
do
{
p++;
fflush(stdin);
ch=getch();
if(ch==8)
{
if(p>t)
{
p--;
gotoxy(p,12);
cprintf(" ");
p--;
i--;

:");

if(i<0)
i=0;
}

}
else if(ch!=13)
{
gotoxy(p,12);
cprintf("*");
name[i++]=ch;
}
if(i>15)
{
pas_overflow();
menu() ;
}
}while(ch!=13);
name[i]=NULL;
clrscr();
gotoxy(2,17);
textcolor(YELLOW);
cprintf("PRESS ANY KEY TO CONTINUE...");
getch();
isfound=check(&num,name);
if(isfound=='y')

{
menu1();
}
else
{
clrscr();
gotoxy(3,10);
cprintf("WRONG LOGIN NAME OR PASSWORD
gotoxy(7,14);
cprintf("ENTER (Y/N)...");
fflush(stdin);
scanf("%c",&ch);
if(ch=='y'||ch=='Y')
{
menu3();
}
else
{
menu();
}
}
}

:");

/*this function shows the details of single user */


void showdata()
{
int i;
char l;
FILE *fp;
fp=fopen("data123.txt","rb+");
if(fp==NULL)
{
textmode(C40);
clrscr();
textcolor(LIGHTRED);
gotoxy(2,8);
cprintf("THERE ARE NO RECORD TO SHOW");
getch();
textmode(C80);
fclose(fp);
return ;
}
rewind(fp);
while(fread(&b1,sizeof(b1),1,fp)==1)
{
clrscr();
border();
gotoxy(25,23);
textcolor(WHITE+BLINK);
cprintf("[ 0 EXIT MENU ]");

/*showing the message for close a/c*/


if(b1.close==1)
{
textcolor(LIGHTRED);
gotoxy(41,22);
cprintf("THIS A/C IS CLOSED");
}
textcolor(RED);
gotoxy(13,2);
cprintf("PERSON'S DETAIL");
//gotoxy(21,4);
//cprintf("*****************");
textcolor(YELLOW);
gotoxy(4,4);
cprintf("\nNAME :%s",b1.name);
gotoxy(4,7);
cprintf("ACCOUNT NUMBER
:%lu",b1.ac_num);
gotoxy(4,9);
cprintf("TOTAL AMOUNT :%f",b1.amount);
gotoxy(4,11);
cprintf("VARYFYING PERSON'S A/c NO.
:%lu",b1.v_ac_num);
gotoxy(4,13);
cprintf("RESIDENTIAL ADDRESS
:");
for(i=0;b1.address[i]!=NULL;i++)
{
if(i<30)
{
cprintf("%c",b1.address[i]);
}
else
{
if(i==30)
{
cprintf("-");
gotoxy(40,14);
}
cprintf("%c",b1.address[i]);
}
}
gotoxy(4,15);
cprintf("PASSWORD
:");
gotoxy(4,17);
cprintf("PRESS ANY KEY TO CONTINUE...");
fflush(stdin);
l=getch();
if(l=='0')
{
fclose(fp);
menu6();
}
}
fclose(fp);
}

/*this function sets the A/c no. while opening a new A/c*/
long unsigned int cnt()
{
long unsigned int i=1,pos;
FILE *fp;
clrscr();
fp=fopen("data456.dat","rb+");
fseek(fp,0,2);
pos=ftell(fp);
if(pos==0)
{
fclose(fp);
return i;
}
rewind(fp);
while(fread(&c1,sizeof(c1),1,fp)==1)
{
if(i<c1.ac_num)
{
i=c1.ac_num;
}
}
fclose(fp);
return i;
}

/*this is the second menu for account holders*/


void menu3()
{
int i,k,x,y;
char a;
clrscr();
bank();
border1();
textcolor(GREEN);
gotoxy(8,7);
cprintf("FOR SIGN UP ENTER 1");
gotoxy(8,10);
cprintf("FOR LOG IN ENTER 2");
gotoxy(8,13);
cprintf("FOR QUIT ENTER 0");
gotoxy(31,13);
fflush(stdin);
scanf("%c",&a);
if(a=='0')
{
end();
}

else if(a=='1')
{
menu2();
}
else if(a=='2')
{
menu();
}
else
{
clrscr();
gotoxy(9,9);
cprintf("INVALID KEY ");
textcolor(YELLOW);
gotoxy(4,15);
cprintf("PRESS ANY KEY TO CONTINUE...");
getch();
menu3();
}
textmode(C80);
}

/*this function get the all detial of new user to open the new a/c*/
void menu2()
{
long unsigned int pos,ac_no,tmp;
double k=-1;
int p=0,t=0,i;
char pas1[12],ch,flag,num[10],isfound;
FILE *fp;
textmode(C80);
fp=fopen("data123.txt","rb+");
rewind(fp);
while(fread(&b2,sizeof(b2),1,fp)==1)
{
if(b2.close==0)
{
k=0;
break;
}
}
fclose(fp);
fp=fopen("data123.txt","ab+");
clrscr();
textmode(C80);
b1.ac_num=cnt();
textcolor(GREEN);
textmode(C40);
textcolor(LIGHTRED);
border();
//date();

gotoxy(9,1);
textcolor(YELLOW);
cprintf("PLEASE ENTER SOME INFORMATION");
//gotoxy(25,4);
//cprintf("*****************************");
gotoxy(4,5);
b1.ac_num++;
cprintf("YOUR ACCOUNT NUMBER IS :%lu",b1.ac_num);
gotoxy(4,7);
cprintf("ENTER YOUR NAME
:");
fflush(stdin);
gets(b1.name);
isfound=check1(b1.name);
b1.close=0;
if(isfound=='n')
{
clrscr();
textmode(C40);
gotoxy(10,9);
textcolor(GREEN);
cprintf("NAME IS NOT ALPHABETIC");
gotoxy(16,15);
textcolor(YELLOW);
cprintf("PLEASE TRY AGAIN");
gotoxy(5,20);
textcolor(20);
cprintf("PRESS ANY KEY TO CONTINUE...");
getch();
textmode(C80);
fclose(fp);
menu2();
}
gotoxy(4,9);
cprintf("ENTER THE ADDRESS :");
fflush(stdin);
gets(b1.address);
t=strlen(b1.address);
if(t==0)
{
clrscr();
textmode(C40);
gotoxy(10,9);
textcolor(GREEN);
cprintf("YOU MUST BE ENTER ADDRESS");
gotoxy(16,15);
textcolor(YELLOW);
cprintf("PLEASE TRY AGAIN");
gotoxy(5,20);
textcolor(20);
cprintf("PRESS ANY KEY TO CONTINUE...");
getch();
textmode(C80);
fclose(fp);
menu2();

}
gotoxy(4,11);
b1.amount=0;
cprintf("ENTER THE INITIAL AMOUNT :");
gotoxy(4,12);
cprintf("(MORE THAN Rs.500):");
fflush(stdin);
scanf("%f",&b1.amount);
if(b1.amount<500)
{
clrscr();
gotoxy(10,9);
cprintf("YOUR AMOUNT IS NOT SUFFICIENT");
gotoxy(5,11);
cprintf("PLEASE SUBMIT MORE THEN Rs.500/- TO BE REGISTERED OIN OUR BANK");
getch();
fclose(fp);
clrscr();
menu2();
}
gotoxy(4,14);
cprintf("ENTER YOUR OWN PASSWORD:");
fflush(stdin);
p=t=44 ;
i=0;
do
{
p++;
fflush(stdin);
ch=getch();
if(ch==8)
{
if(p>t)
{
p--;
gotoxy(p,13);
cprintf(" ");
p--;
i--;
if(i<0)
i=0;
}

}
else if(ch!=13)
{
gotoxy(p,13);
cprintf("*");
b1.pas[i++]=ch;
}
if(i>15)

{
fclose(fp);
pas_overflow();
menu2() ;
}
}while(ch!=13);
b1.pas[i++]='\0';
/*to check password is ok or not*/
i=0;
i=strlen(b1.pas);
if(i==0)
{
fclose(fp);
clrscr();
textmode(C40);
textcolor(LIGHTRED);
gotoxy(5,10);
cprintf("PLEASE ENTER THE PASSWORD");
gotoxy(3,24);
textcolor(YELLOW);
cprintf("PRESS ANY KEY TO CONTINUE...");
getch();
textmode(C80);
menu2();
}
p=t=0;
if(k==0)
{
gotoxy(4,16);
cprintf("ENTER VARYFIYING PERSON A/C NO:");
fflush(stdin);
scanf("%lu",&b1.v_ac_num);
gotoxy(4,18);
cprintf("ENTER VARIFYING PERSON PASSWORD:");
p=t=54;
i=0;
do
{
p++;
fflush(stdin);
ch=getch();
if(ch==8)
{
if(p>t)
{
p--;
gotoxy(p,17);
cprintf(" ");
p--;
i--;
if(i<0)

i=0;

}
else if(ch!=13)
{
gotoxy(p,17);
cprintf("*");
pas1[i++]=ch;
}
if(i>15)
{
fclose(fp);
pas_overflow();
menu2() ;
}
}while(ch!=13);
pas1[i++]='\0' ;
}
b1.ch='y';
gotoxy(4,20);
cprintf("SHOULD IT SVAE IN DATABASE(Y/N)...");
fflush(stdin);
scanf("%c",&ch);
if(ch=='y'||ch=='Y')
{
fflush(stdin);
tmp=b1.v_ac_num;
flag=check(&tmp,pas1);
if(flag=='y'||k==-1)
{
fseek(fp,0,2);
fwrite(&b1,sizeof(b1),1,fp);
strcpy(num,"--");
restore(b1.ac_num, b1.name,2,1,num,&b1.amount);
clrscr();
textcolor(13);
border();
gotoxy(6,7);
fseek(fp,-sizeof(b1),SEEK_CUR);
cprintf("HELLO %s !",b1.name);
gotoxy(4,8);
cprintf("YOU HAVE REGISTERED IN OUR BANK.");
//cprintf("IN OUR BANK.");
textcolor(YELLOW);
gotoxy(4,18);
cprintf("YOUR DATA SAVE IN OUR DATABASE");
getch();
fclose(fp);
menu1();
}
else
{

clrscr();
textcolor(13);
border();
gotoxy(4,9);
cprintf("WRONG VARIFYING PERSON'S A/C AND");
gotoxy(4,10);
cprintf("PASSWORD");
gotoxy(4,13);
cprintf("DO YOU WANT TO GO ON FIRST PAGE");
gotoxy(6,17);
cprintf("ENTER (Y/N)...");
fflush(stdin);
scanf("%c",&flag);
if(flag=='y'||flag=='Y')
{
fclose(fp);
menu3();
}
else
{
fclose(fp);
menu();
}
}
}
else
{
clrscr();
gotoxy(19,11);
cprintf("DO YOU WANT TO GO ON FIRST PAGE");
gotoxy(23,13);
cprintf("ENTER (Y/N)...");
fflush(stdin);
if(flag=='y'||flag=='Y')
{
fclose(fp);
menu3();
}
else
{
fclose(fp);
menu2();
}
}
gotoxy(52,20);
}
/*THIS FUNCTION CHANGE THE A/C ON FIRST PAGE ?*/
void change_pas()
{
long int no,sz;
int i,p,t;
char pas1[12],pas2[12],isfound='n',ch,c,g;

FILE *fp;
clrscr();
fp=fopen("data123.txt","rb+");
textmode(C40);
textcolor(WHITE);
gotoxy(12,2);
cprintf("CHANGE OF PASSOWRD");
gotoxy(12,3);
cprintf("__________________");
textcolor(YELLOW);
gotoxy(4,7);
cprintf("ENTER YOUR ACCOUNT NUMBER
fflush(stdin);
scanf("%lu",&no);
gotoxy(4,10);
cprintf("ENTER THE PASSWORD...");
p=t=26;
i=0;
do
{
p++;
fflush(stdin);
ch=getch();
if(ch==8)
{
if(p>t)
{
p--;
gotoxy(p,10);
cprintf(" ");
p--;
i--;
if(i<0)
}

i=0;

}
else if(ch!=13)
{
gotoxy(p,10);
cprintf("*");
pas1[i++]=ch;
}
if(i>15)
{
pas_overflow();
fclose(fp);
change_pas();
}
}while(ch!=13);
pas1[i]='\0' ;

:");

sz=sizeof(b1);
fflush(stdin);
g=check(&no,pas1);
if(g=='y')
{
fflush(stdin);
c=search1(&no);
if(c=='n')
{
clrscr();
textmode(C40);
gotoxy(5,8);
textcolor(YELLOW);
cprintf("YOUR ACCOUNT HAS BEEN LOCKED");
gotoxy(3,12);
cprintf("PLEASE CONTACT TO BANK MANAGER");
gotoxy(2,24);
textcolor(13);
cprintf("PRESS ANY KEY TO CONTINUE..." );
getch();
textmode(C80);
fclose(fp);
menu1();
}
rewind(fp);
border();
while(fread(&b1,sizeof(b1),1,fp)==1)
{
if((strcmp(pas1,b1.pas)==0)&&(no==b1.ac_num))
{
gotoxy(4,13);
cprintf("ENTER THE NEW PASSOWRD...");
p=t=30;
i=0;
do
{
p++;
fflush(stdin);
ch=getch();
if(ch==8)
{
if(p>t)
{
p--;
gotoxy(p,13);
cprintf(" ");
p--;
i--;
if(i<0)
}

i=0;

}
else if(ch!=13)
{
gotoxy(p,13);
cprintf("*");
pas2[i++]=ch;
}
if(i>15)
{
pas_overflow();
fclose(fp);
change_pas();
}
}while(ch!=13);
pas2[i]='\0' ;
strcpy(b1.pas,pas2);
fseek(fp,-sz,SEEK_CUR);
fwrite(&b1,sizeof(b1),1,fp);
isfound='y';
break;
}
}
}
if(isfound=='n')
{
clrscr();
textcolor(13);
border();
gotoxy(6,13);
cprintf("WRONG A/C NO. OR PASSWORD");
gotoxy(4,15);
cprintf("PRESS ANY KEY TO CONTINUE...");
getch();
}
else
{
clrscr();
textcolor(YELLOW+BLINK) ;
gotoxy(8,9);
cprintf("NEW PASSWORD ACCEPTED");
textcolor(13);
gotoxy(4,15);
cprintf("PRESS ANY KEY TO CONTINUE...");
getch();
}
fclose(fp) ;
textmode(C80);
}

/*this function withdrew amount from A/C of bank customers*/


/*void withdraw()

{
long int no,sz;
int p=0,t,i;
float amount=0;
char ch,pas1[12],num[10],k='n',name1[20],a,c='y',g='n';
FILE *fp;
clrscr();
fp=fopen("data123.txt","rb+");
textmode(C40);
textcolor(WHITE);
gotoxy(12,2);
cprintf("WITHDRAW OF AMOUNT");
gotoxy(12,3);
cprintf("___________________");
textcolor(GREEN) ;
gotoxy(5,8);
cprintf("ENTER YOUR A/C NUMBER
:");
fflush(stdin);
scanf("%lu",&no);
gotoxy(7,11);
cprintf("ENTER THE PASSWORD...");
p=t=29;
i=0;
do
{
p++;
fflush(stdin);
ch=getch();
if(ch==8)
{
if(p>t)
{
p--;
gotoxy(p,11);
cprintf(" ");
p--;
i--;
if(i<0)
}

i=0;

}
else if(ch!=13)
{
gotoxy(p,11);
cprintf("*");
pas1[i++]=ch;
}
if(i>15)
{
pas_overflow();
fclose(fp);

withdraw();
}
}while(ch!=13);
pas1[i]='\0' ;
sz=sizeof(b1);
fflush(stdin);
g=check(&no,pas1);
if(g=='y')
{
fflush(stdin);
c=search1(&no);
if(c=='n')
{
clrscr();
textmode(C40);
gotoxy(5,8);
textcolor(YELLOW);
cprintf("YOUR A/C HAS BEEN LOCKED") ;
gotoxy(3,12);
cprintf("PLEASE CONTACT TO THE BANK MANAGER");
gotoxy(2,24);
textcolor(13);
cprintf("PRESS ANY KEY TO CONTINUE...");
getch();
textmode(C80);
fclose(fp);
menu1();
}
rewind(fp);
while(fread(&b1,sizeof(b1),1,fp)==1)
{
if((strcmp(pas1,b1.pas)==0)&&(no==b1.ac_num))
{
k='y';
strcpy(name1,b1.name);
clrscr();
gotoxy(10,11);
textcolor(13+BLINK);
delay(150);
cprintf("[ PASSWORD ACCEPTED
]");
gotoxy(7,15);
textcolor(YELLOW);
cprintf("PRESS ANY KEY TO CONTINUE...");
getch();
clrscr();
gotoxy(1,9);
textcolor(13);
cprintf("ENTER THE AMOUNT TO WITHDRAW :");
fflush(stdin) ;
scanf("%f",&amount);
gotoxy(4,13);
textcolor(YELLOW);
cprintf("BY CASH OR BY CHEQUE");

gotoxy(6,14) ;
textcolor(GREEN) ;
cprintf("ENTER 1 FOR CASH");
gotoxy(6,15);
cprintf("ENTER 2 FOR CHEQUE");
fflush(stdin);
scanf("%c",&a);
if(a=='2')
{
clrscr();
gotoxy(6,9);
cprintf("ENTER THE CHEQUE NUMBER...") ;
fflush(stdin);
gets(num);
i=0;
i=strlen(num);
/*to check the check no. entered or not*/
/*if(i==0)
{
clrscr();
textmode(C40);
gotoxy(5,10);
textcolor(LIGHTRED);
cprintf("PLEASE ENTER THE CHEQUE NUMBER...");
gotoxy(3,24);
textcolor(YELLOW) ;
cprintf("PRESS ANY KEY TO CONTINUE...");
getch();
textmode(C80);
fclose(fp);
withdraw();
}
else
{
ch='y';
}
}
else if(a!='1' && a!='2')
{
clrscr();
gotoxy(7,8);
textcolor(YELLOW+BLINK);
cprintf("WRONG CHOICE");
gotoxy(12,15);
textcolor(LIGHTRED);
cprintf("TRY AGAIN !");
gotoxy(5,22);
textcolor(13);
cprintf("PRESS ANY KEY TO CONTINUE...");
getch();
rewind(fp);
fclose(fp);

withdraw();
}
p=b1.amount-500;
if(amount<p)
{
fseek(fp,-sz,SEEK_CUR);
b1.amount=b1.amount-amount;
if(a==2)
{
restore(no,name1,1,2,num,&amount);
}
else
{
strcpy(num,"--");
restore(no,name1,1,1,num,&amount);
}
fwrite(&b1,sizeof(b1),1,fp);
clrscr();
textcolor(YELLOW);
gotoxy(6,9);
cprintf("WITHDRAW SUCCESSFUL") ;
getch();
}
else
{
clrscr();
textcolor(YELLOW);
gotoxy(3,9);
cprintf("YOU HAVE ONLY Rs. %f/-",b1.amount);
gotoxy(3,13);
cprintf("SO YOU CAN'T WITHDRAW Rs.%f/-",amount);
textcolor(13);
gotoxy(20,23);
cprintf("TRY AGAIN !...");
getch();
fclose(fp);
withdraw();
}
break;
}
}
}
if(k=='n')
{
clrscr();
gotoxy(6,9);
textcolor(LIGHTRED);
cprintf("WRONG A/C NUMBER OR PASSWORD");
gotoxy(7,12);
cprintf("TRY AGAIN !...");
getch();
}
textmode(C80);

ch='n';
rewind(fp);
fclose(fp);
menu1();
}
*/
/*this function deposit amount in a/c of bank customer */
/*void deposit()
{
long unsigned int sz,no;
int p=0,t,i;
float amount=0;
char ch,pas[12],num[10],k='n',name1[20],a,c='y',g='n';
cprintf("ENTER 2 FOR CHEQUE");
fflush(stdin);
scanf("%c",&a);
if(a=='2')
{
clrscr();
gotoxy(6,9);
cprintf("ENTER THE CHEQUE NUMBER...") ;
fflush(stdin);
gets(num);
i=0;
i=strlen(num);
/*to check the check no. entered or not*/
if(i==0)
{
clrscr();
textmode(C40);
gotoxy(5,10);
textcolor(LIGHTRED);
cprintf("PLEASE ENTER THE CHEQUE NUMBER...");
gotoxy(3,24);
textcolor(YELLOW) ;
cprintf("PRESS ANY KEY TO CONTINUE...");
getch();
textmode(C80);
fclose(fp);
deposit();
}
else
{
ch='y';
}
}
else if(a!='1' && a!='2')
{
clrscr();
gotoxy(7,8);
textcolor(YELLOW+BLINK);

cprintf("WRONG CHOICE");
gotoxy(12,15);
textcolor(LIGHTRED);
cprintf("TRY AGAIN !");
gotoxy(5,22);
textcolor(13);
cprintf("PRESS ANY KEY TO CONTINUE...");
getch();
rewind(fp);
fclose(fp);
deposit();
}
p=b1.amount+500;
if(amount<p)
{
fseek(fp,-sz,SEEK_CUR);
b1.amount=b1.amount+amount;
if(ch=='y')
{
restore(no,name1,2,2,num,&amount);
}
else
{
strcpy(num,"--");
restore(no,name1,2,1,num,&amount);
}
fwrite(&b1,sizeof(b1),1,fp);
clrscr();
textcolor(YELLOW);
gotoxy(6,9);
cprintf("DEPOSIT SUCCESSFUL") ;
getch();
}
break;
}
}
}
if(k=='n')
{
clrscr();
gotoxy(6,9);
textcolor(LIGHTRED);
cprintf("WRONG A/C NUMBER OR PASSWORD");
gotoxy(7,12);
cprintf("TRY AGAIN !...");
getch();
}
textmode(C80);
ch='n';
rewind(fp);
fclose(fp);
menu1();
}

void main()
{
clrscr();
home_page();
set_mgr_pas();
menu5();
}

TESTING TECHNIQUES
The

development

of

software

systems

involves

series

of

production

activities where opportunities for injection of human fallibilities are


enormous. Errors may begin to occur at every inception of the process where
the objectives may be erroneously or imperfectly specified as well as later
design and development stages. Because of human inability to perform and
communicate with perfection, software development is accompanied by quality
assurance activity.
Software testing is a critical element of software quality assurance and
represents the ultimate review of specification, design and coding.
The increasing visibility of software as a system element and attendant
costs associated with a software failure is motivating forces for well
planned, through testing.
Software Testing Fundamentals
During earlier definition and development phases, the
engineer

attempts

to

build

software

from

concept

to

tangible

implementations. Now comes the testing. The engineer creates a series of


test cases that are intended to demolish

the software has been built. In

fact testing is the one step in the software engineering process that could
be viewed as destructive rather than constructive.
Testing

required

that

the

developer

discard

preconceived

notion

of

the

correctness of the software just developed and overcome a conflict of the


interest that occurs when error are uncovered.

TESTING OBJECTIVES
A numbers of rules that can serve well as testing objectives:
1. Testing is a process of executing a program with the intent of
finding an error.
2. A good test case is one that has high probabilities of finding an as
yet undiscovered error.
3. A successful test is one that uncovers an as yet undiscovered error.
Our objective is to design test systematically uncover different classes of
errors and do so with minimum amount of time and effort. Data collected as
testing is conducted provide a good indication of software reliability and
some indication of software quality as a whole. But there is one thing that
testing can not do.
Testing can not show the absence of defects, it can only show that software
defects are present.
Test information flow
Information flow for testing follows the pattern described in the figure:
Two classes of input are provided:
1. A

software

configuration

that

includes

specification, a design specification, and


2. A

test

configuration

that

include

software

requirement

Source code

Test

Plane

and

Procedure,

any

testing tools that are to be used, and test cases and there expected
results.

Software
Configuration
Test Results

Testin
g

Evolutio
n

Errors

Expected
Results

Debug

Model
Error Data Rate

Corrections

Test Configuration
Reliabilit
y

Predicted
Reliability

USER MANUAL

There is no use of mouse to handle the software .The keyboard is meant for
providing any sort of inputs. There is only vertical menu with key access.
Vertical menu includes the following under their respective headings.

1.

ADD ACCOUNT: the personal directory file.

2.

DELETE ACCOUNT: Delete Customer Account details.

3.

MODIFY ACCOUNT: This modifies the details of Account holder.

4.

DISPLAY ACCOUNT INFORMATION: This displays the customer

Debit & Credit Account

5.

SEARCH: find the customer information.

6.

EXIT: close Bank account system.

SCOPE OF FUTURE ENHANCEMENT

The application certainly has same striking advantage over manual system.
There will be no paper work as possible and the information will be updated
as it changes.
It is automation of Telephone directory system.
With this system one can generate the report of the address.
It secures the database of Telephone directory system from the
unauthorized person.
The operator does not require any previous training because of its
user friendliness the operator is free from any technicality of the
backend processing, that is how database is maintained.
If the process of the working changes in future then the alteration in
the system will be done easily and will not cause in the mismanaging
of data.
Furthermore with its implementation very large amount of data will be
secure and editing and addition or deletion of data is done very
easily.
In future according to the users requirement it can be updated so
that to reach the user specification.

CONCLUSION

The application certainly has some striking feature over manual


system. User queries have become quite accurate and efficient.
Lot of paper work has been eliminated. Future modification and
enhancements have become quite easier now in comparison to the
previous manual system.
Last but one of the most important advantages of the banking
system is that, through this system the whole procedure will take
too less time in comparison of the manual system.
No doubt BAS will be helpful for institutes in all procedure,
which will be monitoring through Account. At the first step BAS
will only be installed in the bank .The main advantage of BAS is
that, it will become a powerful tool in establishment of better
system in comparison of the existing system. It helps to protect
the system from the corruption. After installation of BAS in the
bank, there is a greater possibility of stabilization a clear and
fair system, which will be accurate, update and fast.
There

is

no

doubt

that

there

always

remains

some

scope

of

improvement. The important thing is that the system developed


should be flexible to accommodate any future enhancements. This
system can be used to provide some enhancement without rewriting
of existing code.

BIBLIOGRAPHY

THINKING IN C

BY BRUCE ECKEL

SYSTEM ANALYSIS AND DESIGN BY ELIAS AWAD


INTERNET COLLECTION

You might also like