0% found this document useful (0 votes)
54 views

CPP Report

The document contains code for a basic banking application that includes: 1) A class called "account" that defines attributes like account number, name, deposit amount, and account type. 2) Functions for creating, modifying, depositing, withdrawing from, and displaying account details. 3) A main function that provides a menu for users to perform actions like opening new accounts, checking balances, depositing/withdrawing amounts. 4) Functions for writing accounts to a binary file, reading specific accounts, and modifying or deleting file records.

Uploaded by

MAHADEVAN S
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views

CPP Report

The document contains code for a basic banking application that includes: 1) A class called "account" that defines attributes like account number, name, deposit amount, and account type. 2) Functions for creating, modifying, depositing, withdrawing from, and displaying account details. 3) A main function that provides a menu for users to perform actions like opening new accounts, checking balances, depositing/withdrawing amounts. 4) Functions for writing accounts to a binary file, reading specific accounts, and modifying or deleting file records.

Uploaded by

MAHADEVAN S
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 15

//***************************************************************

// HEADER FILE USED IN PROJECT


//***************************************************************

#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::show_account() const


{
cout<<"\n\t\t\tAccount No. : "<<acno;
cout<<"\n\t\t\tAccount Holder Name : ";
cout<<name;
cout<<"\n\t\t\tType of Account : "<<type;
cout<<"\n\t\t\tBalance amount : "<<deposit;
}

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;
}

void account::report() const


{
cout<<acno<<setw(10)<<" "<<name<<setw(10)<<" "<<type<<setw(6)<<deposit<<endl;
}

int account::retacno() const


{
return acno;
}

int account::retdeposit() const


{
return deposit;
}

char account::rettype() const


{
return type;
}

//***************************************************************
// function declaration
//***************************************************************

void write_account();//function to write record in binary file


void display_sp(int);//function to display account details given by user
void modify_account(int);//function to modify record of file
void delete_account(int);//function to delete record of file
void display_all();//function to display all account details
void deposit_withdraw(int, int);// function to desposit/withdraw amount for given account

//***************************************************************
// 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";

cout<<"\t\t\t\t ::MAIN MENU::\n";


cout<<"\n\t\t\t\t1. NEW ACCOUNT";
cout<<"\n\t\t\t\t2. DEPOSIT AMOUNT";
cout<<"\n\t\t\t\t3. WITHDRAW AMOUNT";
cout<<"\n\t\t\t\t4. BALANCE ENQUIRY";
cout<<"\n\t\t\t\t5. ALL ACCOUNT HOLDER LIST";
cout<<"\n\t\t\t\t6. CLOSE AN ACCOUNT";
cout<<"\n\t\t\t\t7. MODIFY AN ACCOUNT";
cout<<"\n\t\t\t\t8. EXIT";
cout<<"\n\n\t\t\t\tSelect Your Option (1-8): ";
cin>>ch;

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
//***************************************************************

void deposit_withdraw(int n, int option)


{
int amt;
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();
if(option==1)
{
cout<<"\n\n\t\t\tTO DEPOSITSS AMOUNT";
cout<<"\n\n\t\t\tEnter The amount to be deposited: ";
cin>>amt;
ac.dep(amt);
}
if(option==2)
{
cout<<"\n\n\t\t\tTO WITHDRAW AMOUNT";
cout<<"\n\n\t\t\tEnter The amount to be withdraw: ";
cin>>amt;
int bal=ac.retdeposit()-amt;
if(bal<0)
cout<<"Insufficience balance";
else
ac.draw(amt);
}
int pos=(-1)*static_cast<int>(sizeof(ac));
File.seekp(pos,ios::cur);//fn1353
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 ";
}

//***************************************************************
// END OF PROJECT
//***************************************************************
E R Diagrams
E R Diagram for creating account

E R Diagram for depositing and withdrawing


amount
E R Diagrams for viewing details
jkj
Reference:
1.

C and C++: E. Balaguru swami


Database management system: by korth
google.com
2.
banking system of greek
http://www.oppapers.com/essays/Banking
-
System
-
Greece/99592
3.
Indian banking
sector
http://www.oppapers.com/essays/Indian
-
Banking
-
Sector/258258
4.
http://www.scribd.com/doc/8361020/india
-
banking
-
sector
5.
http://www.corp.att.com/focusonindia/focus.html
LITERATURE REVIEW
The term“Bank Management System” is online banking system which is developed in order to organize the present
banking system. Since manual banking itself is a huge system a separate system is required for proper management of
the database of the banks. In past days, this similar of project has been already developed with similar features and in c+
+platform. For example, various reputed banks in india is concurrently using similar type of system allowing the people
to enjoy banking facility in online mode. Many banks have followed similar type of practice for accurate management
of people’s bank account.
 In comparison, those systems are sophisticated as well. Some of people have done similar types of task related to
online banking management system. They are all accurate and reliable, but need some modification. The technique we
will use will be similar to the techniques used by earlier investigators with improvements. But the main objective of this
project is to implement it on small scale banking branches which is not providing this kind of facility to the people. So,
by allowing the people to use this facility, they would be able to save lots of time and effort when needing to perform
financial transactions. Also providing the security to the personal information this project implements it all.

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.

You might also like