CPP Report
CPP Report
#include<iostream>
#include<fstream>
#include<cctype>
#include<iomanip>
using namespace std;
//***************************************************************
// CLASS USED IN PROJECT
//***************************************************************
class account
{
int acno;
char name[50];
int deposit;
char type;
public:
void create_account();//function to get data from user
void show_account() const;//function to show data on screen
void modify();//function to add new data
void dep(int);//function to accept amount and add to balance amount
void draw(int);//function to accept amount and subtract from balance amount
void report() const;//function to show data in tabular format
int retacno() const;//function to return account number
int retdeposit() const;//function to return balance amount
char rettype() const;//function to return type of account
}; //class ends here
void account::create_account()
{
system("CLS");
cout<<"\n\t\t\tEnter the Account No. : ";
cin>>acno;
cout<<"\n\n\t\t\tEnter the Name of the Account holder : ";
cin.ignore();
cin.getline(name,50);
cout<<"\n\t\t\tEnter Type of the Account (C/S) : ";
cin>>type;
type=toupper(type);
cout<<"\n\t\t\tEnter The Initial amount : ";
cin>>deposit;
cout<<"\n\n\t\t\tAccount Created..";
}
void account::modify()
{
cout<<"\n\t\t\tAccount No. : "<<acno;
cout<<"\n\t\t\tModify Account Holder Name : ";
cin.ignore();
cin.getline(name,50);
cout<<"\n\t\t\tModify Type of Account : ";
cin>>type;
type=toupper(type);
cout<<"\n\t\t\tModify Balance amount : ";
cin>>deposit;
}
void account::dep(int x)
{
deposit+=x;
}
void account::draw(int x)
{
deposit-=x;
}
//***************************************************************
// function declaration
//***************************************************************
//***************************************************************
// THE MAIN FUNCTION OF PROGRAM
//***************************************************************
int main()
{
char ch;
int num;
do
{
system("CLS");
cout<<"\n\n\t\t\t\t======================\n";
cout<<"\t\t\t\tBANK MANAGEMENT SYSTEM";
cout<<"\n\t\t\t\t======================\n";
switch(ch)
{
case '1':
write_account();
break;
case '2':
system("CLS");
cout<<"\n\n\t\t\tEnter The account No. : "; cin>>num;
deposit_withdraw(num, 1);
break;
case '3':
system("CLS");
cout<<"\n\n\t\t\tEnter The account No. : "; cin>>num;
deposit_withdraw(num, 2);
break;
case '4':
system("CLS");
cout<<"\n\n\t\t\tEnter The account No. : "; cin>>num;
display_sp(num);
break;
case '5':
display_all();
break;
case '6':
system("CLS");
cout<<"\n\n\t\t\tEnter The account No. : "; cin>>num;
delete_account(num);
break;
case '7':
system("CLS");
cout<<"\n\n\t\t\tEnter The account No. : "; cin>>num;
modify_account(num);
break;
case '8':
system("CLS");
cout<<"\n\n\t\t\tThank You";
break;
default :cout<<"\a";
}
cin.ignore();
cin.get();
}while(ch!='8');
return 0;
}
//***************************************************************
// function to write record in file
//***************************************************************
void write_account()
{
account ac;
ofstream outFile;
outFile.open("account.dat",ios::binary|ios::app);
ac.create_account();
outFile.write(reinterpret_cast<char *> (&ac), sizeof(account));
outFile.close();
}
//***************************************************************
// function to read specific record from file
//***************************************************************
void display_sp(int n)
{
account ac;
bool flag=false;
ifstream inFile;
inFile.open("account.dat",ios::binary);
if(!inFile)
{
cout<<"File could not be open !! Press any Key...";
return;
}
cout<<"\n\t\t\tBALANCE DETAILS\n";
while(inFile.read(reinterpret_cast<char *> (&ac), sizeof(account)))
{
if(ac.retacno()==n)
{
ac.show_account();
flag=true;
}
}
inFile.close();
if(flag==false)
cout<<"\n\n\t\t\tAccount number does not exist";
}
//***************************************************************
// function to modify record of file
//***************************************************************
void modify_account(int n)
{
bool found=false;
account ac;
fstream File;
File.open("account.dat",ios::binary|ios::in|ios::out);
if(!File)
{
cout<<"File could not be open !! Press any Key...";
return;
}
while(!File.eof() && found==false)
{
File.read(reinterpret_cast<char *> (&ac), sizeof(account));
if(ac.retacno()==n)
{
ac.show_account();
cout<<"\n\n\t\t\tEnter The New Details of account"<<endl;
ac.modify();
int pos=(-1)*static_cast<int>(sizeof(account));
File.seekp(pos,ios::cur); //fncallat1353
File.write(reinterpret_cast<char *> (&ac), sizeof(account));
cout<<"\n\n\t\t\tRecord Updated";
found=true;
}
}
File.close();
if(found==false)
cout<<"\n\n\t\t\tRecord Not Found ";
}
//***************************************************************
// function to delete record of file
//***************************************************************
void delete_account(int n)
{
account ac;
ifstream inFile;
ofstream outFile;
inFile.open("account.dat",ios::binary);
if(!inFile)
{
cout<<"File could not be open !! Press any Key...";
return;
}
outFile.open("Temp.dat",ios::binary);
inFile.seekg(0,ios::beg);
while(inFile.read(reinterpret_cast<char *> (&ac), sizeof(account)))
{
if(ac.retacno()!=n)
{
outFile.write(reinterpret_cast<char *> (&ac), sizeof(account));
}
}
inFile.close();
outFile.close();
remove("account.dat");
rename("Temp.dat","account.dat");
cout<<"\n\nRecord Deleted ..";
}
//***************************************************************
// function to display all accounts deposit list
//***************************************************************
void display_all()
{
system("CLS");
account ac;
ifstream inFile;
inFile.open("account.dat",ios::binary);
if(!inFile)
{
cout<<"File could not be open !! Press any Key...";
return;
}
cout<<"\n\n\t\tACCOUNT HOLDER LIST\n\n";
cout<<"====================================================\n";
cout<<"A/c no. NAME Type Balance\n";
cout<<"====================================================\n";
while(inFile.read(reinterpret_cast<char *> (&ac), sizeof(account)))
{
ac.report();
}
inFile.close();
}
//***************************************************************
// function to deposit and withdraw amounts
//***************************************************************
//***************************************************************
// END OF PROJECT
//***************************************************************
E R Diagrams
E R Diagram for creating account
CONCLUSION
This project is developed to nurture the needs of a user in a banking sector by embedding all
the tasks of transactions taking place in a bank. Future version of this project will still be
much enhanced than the current version. Writing and depositing checks are perhaps the most
fundamental ways to move money in and out of a checking account, but advancements in
technology have added ATM and debit card transactions. All banks have rules about how
long it takes to access your deposits, how many debit card transactions you're allowed in a
day, and how much cash you can withdraw from an ATM. Access to the balance in your
checking account can also be limited by businesses that place holds on your funds. Banks are
providing internet banking services also so that the customers can be attracted. By asking the
bank employs we came to know that maximum numbers of internet bank account holders are
youth and business man. Online banking is an innovative tool that is fast becoming a
necessity. It is a successful strategic weapon for banks to remain profitable in a volatile and
competitive marketplace of today. If proper training should be given to customer by the bank
employs to open an account will be beneficial secondly the website should be made friendlier
from where the first time customers can directly make and access their accounts.
Thus the Bank Management System it is developed and executed successfully.