Bank Customer Management System C++
Bank Customer Management System C++
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
(A)
HARDWARE REQUIREMENT-
A CD Rom drive
(B)
Windows 98 or Above
C editor
Microsoft word
INTRODUCTION
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
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
(hardware,
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.
CRITERIA
PRESENT SYSTEM
CANDIDATE SYSTEM
System Performance
performed at a time
15 days or more
Fair
one task
In a minimum time
Very Good
User training
System Operation
Operational Feasibility
Employees of
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
CRITERIA
Operation time
Reliability
Accuracy
Retrieval
PRESENT SYSTEM
The present system
CANDIDATE SYSTEM
It takes less time
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
Turbo C editor
we
have
necessary
Hardware
and
Software
supporting
the
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
system.
Thus
to
reduce
developing
and
maintenance
cost,
to
Initial Investigation
The most crucial phase of managing system projects is
planning
to
launch
system
investigation,
we
need
master
plan
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
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
Analysis phase
It includes the study of the problem and creation of the System
system
questioned,
projects
study
of
is
manual
analysis.
system
It
if
requires
it
the
exits,
and
people
on
to
the
be
site
analysis
system
must
model
do,
is
not
concise,
how
it
precise
will
done.
abstraction
Thus,
main
of
what
the
emphasis
in
to
determine
whether
the
request
is
valid
and
feasible
before
Design Phase
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
Implementation
developed
in
design
phase
of
the
project
to
be
coded
and
in
the
project
implementation
phases.
In
in
the
system
requirements
specification
document.
The
design
and
development
stage.
Software
testing
is
critical
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
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
*****************************************
*
*
**
*
* 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
**
*
*
*****************************************
SHOULD IT SVAE IN
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
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
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();
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;
}
{
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();
}
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 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;
}
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);
}
{
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
attempts
to
build
software
from
concept
to
tangible
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
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
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.
2.
3.
4.
5.
6.
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
is
no
doubt
that
there
always
remains
some
scope
of
BIBLIOGRAPHY
THINKING IN C
BY BRUCE ECKEL