Professional Documents
Culture Documents
Bank Management System I N C++
Bank Management System I N C++
REPORT
“BANK MANAGEMENT SYSTEM”
A report is submitted in partial fulfillment of the requirements for the Award of Degree
Of
Computer Engineering
By
Mahesh Kumar Udas (Reg. No. 762370460216)
Nitesh Kushwaha (Reg. No. 762370460220)
Sunit Kumar Mukhiya (Reg. No. 762370460244)
…………………………….
CERTIFICATE
No Objection Letter
Name:………………….....
External ..……..……………………………………
ACKNOWLEDGMENT
1. INTRODUCTION (1-2)
1.1. Introduction 1
1.2. Modules in the project 1
1.3. Available Features 2
2. ANALYSIS (3-4)
2.1 Software specification 3
4. CONCLUSION 26
5. REFERENCES 27
INTRODUCTION
1. Introduction
The project BANK MANAGEMENT SYSTEM in C++ language mainly focus on bank
customers only to store their records in bank. The application is based on windows
console application and only run in windows OS. This system can store bank customer
details like name, account type, balance amount and etc.
2. Modules
2.1. New Account
2.2. Deposit Amount
2.3. Withdraw Amount
2.4. Balance Enquiry
2.5. Account Holder List
2.6. Close Account
2.7. Modify Account
2.8. Exit
2.4. Exit
In the final of the list, exit section is used to close the system.
3. Features
Deposit mobilization.
Financial management.
Project evaluation.
Credit management.
Credit planning.
Liquidity management.
Investment management.
Organizational management.
page-2
ANALYSIS
Software Specification
File Handling
Files are used to store data in a storage device permanently. File handling provides a
mechanism to store the output of a program in a file and to perform various operations on
it.
A stream is an abstraction that represents a device on which operations of input and
output are performed. A stream can be represented as a source or destination of
characters of indefinite length depending on its usage.
page-3
Features of File Handling
Creating a file
Reading data
Writing new data
Closing a file
page-4
SYSTEM IMPLEMENTATION
Introduction
Implementation is the stage of the project when the theoretical design is turned out
into a working system. Thus it can be considered to be the most critical stage in
achieving a successful new system and in giving the user, confidence that the new
system will work and be effective.
The implementation stage involves careful planning, investigation of the existing
system and it’s constraints on implementation, designing of methods to achieve
changeover and evaluation of changeover methods.
Interface
Welcome Page
Menu List
page-5
New Account
page-6
Deposit Amount
Withdraw Amount
page-7
Balance Inquiry
Close an Account
page-8
Modify an Account
Exit
page-9
CODE
#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
page-10
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()
{
cout<<"\nEnter The account No. : ";
cin>>acno;
cout<<"\n\nEnter The Name of The account Holder : ";
cin.ignore();
cin.getline(name,50);
cout<<"\nEnter Type of The account (C/S) : ";
cin>>type;
type=toupper(type);
cout<<"\nEnter The Initial amount(>=500 for Saving and
>=1000 for current ) : ";
cin>>deposit; cout<<"\n\n\
nAccount Created..";
}
page-11
cout<<"\nAccount Holder Name : ";
cout<<name;
cout<<"\nType of Account : "<<type; cout<<"\
nBalance amount : "<<deposit;
}
void account::modify()
{
cout<<"\nAccount No. : "<<acno; cout<<"\
nModify Account Holder Name : ";
cin.ignore();
cin.getline(name,50); cout<<"\
nModify Type of Account : ";
cin>>type;
type=toupper(type); cout<<"\nModify
Balance amount : "; cin>>deposit;
}
void account::dep(int x)
{
deposit+=x;
}
void account::draw(int x)
{
page-12
deposit-=x;
}
page-13
//
************************************************************
****
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
void intro(); //introductory screen function
//
************************************************************
***
// THE MAIN FUNCTION OF PROGRAM
//
************************************************************
****
int main()
{
char ch;
int num;
intro();
do
{
page-14
system("cls"); cout<<"\n\n\n\tMAIN
MENU"; cout<<"\n\n\t01. NEW
ACCOUNT"; cout<<"\n\n\t02. DEPOSIT
AMOUNT"; cout<<"\n\n\t03. WITHDRAW
AMOUNT"; cout<<"\n\n\t04. BALANCE
ENQUIRY";
cout<<"\n\n\t05. ALL ACCOUNT HOLDER LIST";
cout<<"\n\n\t06. CLOSE AN ACCOUNT";
cout<<"\n\n\t07. MODIFY AN ACCOUNT";
cout<<"\n\n\t08. EXIT"; cout<<"\n\n\
tSelect Your Option (1-8) "; cin>>ch;
system("cls");
switch(ch)
{
case '1':
write_account();
break;
case '2':
cout<<"\n\n\tEnter The account No. : ";
page-15
case '4':
cout<<"\n\n\tEnter The account No. : ";
cin>>num;
display_sp(num);
break;
case '5':
display_all();
break;
case '6':
cout<<"\n\n\tEnter The account No. : ";
cin>>num;
delete_account(num);
break;
case '7':
cout<<"\n\n\tEnter The account No. : ";
cin>>num;
modify_account(num);
break;
case '8':
cout<<"\n\n\tThanks for using bank managemnt
system";
break;
default :cout<<"\a";
}
cin.ignore();
cin.get();
}while(ch!='8');
return 0;
}
page-16
//
************************************************************
***
// function to write 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)
{
page-17
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<<"\nBALANCE 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\nAccount number does not exist";
}
//
************************************************************
page-18
***
page-19
// 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;
}
page-21
File.write(reinterpret_cast<char *> (&ac),
sizeof(account));
cout<<"\n\n\t Record Updated";
found=true;
}
}
File.close();
if(found==false)
cout<<"\n\n Record 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...";
page-22
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\n\
tRecord Deleted ..";
}
//
************************************************************
***
// function to display all accounts deposit list
//
************************************************************
****
void display_all()
{
page-23
account ac;
ifstream inFile;
inFile.open("account.dat",ios::binary); if(!
inFile)
{
cout<<"File could not be open !! Press any
Key...";
return;
}
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
page-24
//
************************************************************
****
ac.draw(amt);
}
int pos=(-1)*static_cast<int>(sizeof(ac));
File.seekp(pos,ios::cur);
File.write(reinterpret_cast<char *> (&ac),
sizeof(account));
cout<<"\n\n\t Record Updated";
found=true;
}
}
File.close();
if(found==false)
cout<<"\n\n Record Not Found ";
}
page-26
//
************************************************************
***
// INTRODUCTION FUNCTION
//
************************************************************
****
void intro()
{
cout<<"\n\n\n\t BANK";
cout<<"\n\n\tMANAGEMENT";
cout<<"\n\n\t SYSTEM";
cin.get();
}
page-27
CONCLUSION
Since, when bank customers details are recorded electrically in this Bank
Management System, data will be secure and can be easily handled. We can
search the Account details fast and easily and also can update their information. It
easily reduces the book keeping task and thus reduces the human effort and
increases accuracy speed.
page-28
REFERENCES
https://www.geeksforgeeks.org/c-plus-plus/?ref=shm
https://www.tutorialspoint.com/cplusplus
https://www.javatpoint.com/cpp-files-and-streams
page-29