Description: The C++ programs on BANKING SYSTEM has account class with data members
like account number, name, deposit, withdraw amount and type of account. Customer data is
stored in a binary file. A customer can deposit and withdraw amount in his account. User can
create, modify and delete account.
Code:
#include<iostream>
#include<fstream>
#include<stdlib.h>
using namespace std;
class Account
{
char name[30];
int deposit;
char type[10];
public:
long long account_no;
void getdata()
{
cout<<"Enter Name =";
cin.ignore();
cin.getline(name,30);
cout<<"Enter Type of Account =";
cin>>type;
cout<<"Enter Initial Deposit =";
cin>>deposit;
cout<<"Enter Account Number =";
cin>>account_no;
}
void putdata()
{ cout<<"\n*********************";
cout<<"\nName="<<name;
cout<<"\nAccount Number="<<account_no;
cout<<"\nBalance= "<<deposit;
cout<<"\nType= "<<type<<"\n";
}
void depposit()
{
int x;
cout<<"Enter Amount To Deposit =";
cin>>x;
deposit=deposit+x;
cout<<"\nAmount Deposited\nNew Balance is "<<deposit;
}
void withdraw()
{
int x;
cout<<"Enter Amount To Withdraw ";
cin>>x;
if(x<deposit)
{
deposit=deposit-x;
cout<<"\nNew Balance "<<deposit;
}
else
{
cout<<"\nNot Enough Balance";
}
}
void modify()
{
cout<<"\nEnter Name =";
cin.ignore();
cin.getline(name,30);
cout<<"Enter Type of Account=";
cin>>type;
}
};
main()
{
Account a;
int password;
cout<<"\n****Welcome To Abc Bank****\n";
int x;
cout<<"\nEnter Password: ";
cin>>password;
if(password==1507623)
{ system("cls");
cout<<"\nChoose From Menu Below\n";
while(1)
{
cout<<"\n\nPress\n1. To Create An Account\n2. To Modify An Account\n3. To Display An Account\n4. To Delete An Account\n5. To Display All Accounts\n6. To Deposit Amount\n7. To Withdraw Amount\n8. To Exit\n";
cin>>x;
system("cls");
switch(x)
{
case 1:
{
ofstream fout("Banking.bin",ios::app | ios::binary);
cout<<"Enter Details\n";
a.getdata();
fout.write((char *)&a,sizeof(a));
fout.close();
break;
}
case 2:
{
cout<<"Enter Account Number ";
long long y;char ch;
int flag=0;
cin>>y;
fstream file("Banking.bin",ios::in | ios::binary | ios::out);
while(file&&flag==0)
{
file.read((char *)&a,sizeof(Account));
if(a.account_no==y)
{
cout<<"Enter New Details\n";
a.modify();
file.seekp(-(sizeof(Account)), ios::cur);
file.write((char *) &a,sizeof(Account));
flag=1;
}
}
if(flag==0)
{
cout<<"Invalid Account Number";
}
file.close();
break;
}
case 3:
{
cout<<"\nEnter Account Nunber ";
long long y;
cin>>y;
ifstream fin("Banking.bin",ios::binary);
int flag=0;
while(fin&&flag==0)
{ fin.read((char *)&a,sizeof(Account));
if(a.account_no==y)
{
cout<<"\nDetails Are\n";
a.putdata();
flag=1;
}
}
if(flag==0)
{
cout<<"Invalid Account Number";
}
fin.close();
break;
}
case 4:
{
cout<<"\nEnter Account Nunber ";
long long y;
cin>>y;
fstream fin("Banking.bin",ios::binary |ios::in);
fstream file("Bank2.bin",ios::binary | ios::out);
fin.seekg(0,ios::beg);
while(fin.read((char *)&a,sizeof(Account)))
{
if(a.account_no!=y)
{ file.write((char *)&a,sizeof(Account));}
}
fin.close();
file.close();
remove("Banking.bin");
rename("Bank2.bin","Banking.bin");
cout<<"\nRecord Deleted\n";
break;
}
case 5:
{
ifstream fin("Banking.bin",ios::binary);
while(fin.read((char *)&a,sizeof(Account)))
{
a.putdata();
}
fin.close();
break;
}
case 6:
{
cout<<"\nEnter Account Nunber ";
long long y;
cin>>y;
fstream fin("Banking.bin",ios::binary | ios::in | ios::out);
int flag=0;
while(fin&&flag==0)
{ fin.read((char *)&a,sizeof(Account));
if(a.account_no==y)
{
a.depposit();
fin.seekp(-(sizeof(Account)),ios::cur);
fin.write((char *)&a,sizeof(Account));
flag=1;
}
}
if(flag==0)
{
cout<<"Invalid Account Number";
}
fin.close();
break;
}
case 7:
{
cout<<"\nEnter Account Nunber ";
long long y;
cin>>y;
fstream fin("Banking.bin",ios::binary | ios::in | ios::out);
int flag=0;
while(fin&&flag==0)
{ fin.read((char *)&a,sizeof(Account));
if(a.account_no==y)
{
a.withdraw();
fin.seekp(-(sizeof(Account)),ios::cur);
fin.write((char *)&a,sizeof(Account));
flag=1;
}
}
if(flag==0)
{
cout<<"Invalid Account Number";
}
fin.close();
break;
}
case 8:
exit(1);
default: cout<<"\a\nInvalid Choice \t Try Again";
}
}
}
else
{
cout<<"\a\nInvalid Password";
}
}
Output: