#include<iostream.h>
#include<conio.h>
class bank
{
char name[15];
int amt,accno;
public:
void create(int n)
{
accno=n;
cout<<"\n\n ENTER UR NAME:";
cin>>name;
cout<<"\n\n ENTER THE AMOUNT TO DEPOSIT WHILE OPEN AN ACCOUNT:";
cin>>amt;
cout<<"\n\n ACCOUNT CREATED SUCCESSFULLY.UR ACCOUNT NO IS"<<accno;
}
int deposit(int ano,int damt)
{
if(ano==accno)
{
amt=amt+damt;
cout<<"\n\n AMOUNT IS DEPOSITED SUCCESSFULLY.";
return 1;
}
}
int withdraw(int ano,int damt)
{
if(ano==accno)
{
if((amt-damt)>=500)
{
amt=amt-damt;
cout<<"\n\n AMOUNT IS WITHDRAWN SUCCESSFULLY.";
return 1;
}
}
}
int display(int ano)
{
if(ano==accno)
{
cout<<"\n\n ACCOUNT NUMBER FOUND";
cout<<"\n\n UR ACCOUNT NO IS "<<accno;
cout<<"\n\n UR NAME IS "<<name;
cout<<"\n\n UR CURRENT BALANCE IS "<<amt;
return 1;
}
}
};
void main()
{
int no,c,opt,n=0;
bank b[15],*bp;
int (bank::*f)(int,int);
f=&bank::withdraw;
bp=b;
clrscr();
do{
cout<<"\n\n\t\t\t BANK OPERATIONS";
cout<<"\n\n 1.CREATE\t 2.DEPOSIT\t 3.WITHDRAW\t 4.DISPLAY";
cout<<"\n\n ENTER UR CHOICE:";
cin>>c;
switch(c)
{
case 1:
cout<<"\n\t\t\t ACCOUNT CREATION";
cout<<"\n\n ENTER NUMBER OF ACCOUNT TO BE CREATED:";
cin>>no;
for(int i=1;i<=no;i++)
{
n=n+1;
b[n].create(n);
}
break;
case 2:
cout<<"\n\t\t\t DEPOSIT";
cout<<"\n\n ENTER UR ACCOUNT NO AND AMOUNT TO BE DEPOSITED:";
int ano,am;
cin>>ano>>am;
for(i=1;i<=no;i++)
{
if((bp+i)->deposit(ano,am)==1)
break;
}
if(i>no)
cout<<"\n\n ACCOUNT NO NOT FOUND.";
break;
case 3:
cout<<"\n\t\t\t WITHDRAWL";
cout<<"\n\n ENTER UR ACCOUNT NO AND AMOUNT TO BE WITHDRAWED:";
cin>>ano>>am;
for(i=1;i<=no;i++)
{
if((b[i].*f)(ano,am)==1)
break;
}
if(i>no)
cout<<"\n\n ACCOUNT NO NOT FOUND.";
break;
case 4:
cout<<"\n\t\t\t DISPLAY";
cout<<"\n\n ENTER UR ACCOUNT NO TO DISPLAY:";
cin>>ano;
for(i=1;i<=no;i++)
{
if(b[i].display(ano)==1)
break;
}
if(i>no)
cout<<"\n\n ACCOUNT NO NOT FOUND.";
break;
}
cout<<"\n\n PRESS 1 TO CONTINUE:";
cin>>opt;
}while(opt==1);
getch();
}