SlideShare a Scribd company logo
1 of 23
Vivekananda vidya kala ashram
… Department of computer science …
COMPUTER SCIENCE-PROJECT
2018-2019
Submitted by
Name: Subramani.K
Roll no:
Class: Section:
Topic: Banking System
 Introduction 01
 Program specification 02
 Description 03
 Program Coding 05
 Output 19
 Future enhancement 24
 Bibliography 25
Index
Introduction
The main objectives of this banking system which
is developed in C++ is to provide a flexiblesolution
for banking industry. With this system, both of
users such customer and working personnel of the
particular bank will find easy to use and able to
perform all their operations using the system. This
system enable its users to open and close the bank
account. Customers will able to withdraw and
deposit amount to their particular account.
Working personnelof particular bank will make all
the operations which are required within the
banking premises. The operation which can be
performed by bank personnel are: Adding new
customers account, modifying existing account, list
all customer details including their account
number. And also in the perspective of customers it
helps in easy of accessing and reduces time. Its user
friendly graphical mode will make its users to work
with this new system in more interactive way.
Program Specification
System requirements are expressed in the software requirement
document. The SRS is the official statement of what is required of the
system developers.
Non-functional requirement:
 Reliability
 Security
 Extensibility
 Portability
 Reusability
 Compatibility
Hardware requirement:
 Processor- Intel Pentium or Amd Athlon
 Ram- 512MB or greater
 Hard Disk space-
 Compatible- Pc
Software Requirement:
 Operating system-Windows XP or later ,Linux, OS x
 Borland C or Turbo C++
 Description
This project makes use of some of the concepts of the OOPS and data
file handling mechanism. These are as follow:-
1. Header files-The header files in C++ library helps to
access data type function prototype, definitions for library
functions. The header files included in this program are:
include<iostream.h>
include<conio.h>
include<cctype.h>
include<iomaniph.n>
include<stdlib.h>
2. Classes- It is a collection object, where objects having its
own attributes and functions. The class Created is:-
class account
3. Functions – Theseareindividual pieceof codeor modules
which can be used anywhere in the program by calling
them when needed. The functions can be predefined or
user defined. Some of the user defined function created in
the program are:-
void create_account()
void show_account()
void modify()
void dep()
void draw()
void report()
int retacno()
int retdeposit()
char retype()
void write_account()
void display_sp()
void modify_account()
void delete_account()
void display_all()
void deposit_withdraw()
void intro()
4. Switch Case: It is the multiple branch selection
statement. The selection statement successively tests the
value of an expression against a list of integer or
character constant.
5. IF and ELSE statement: ‘IF’ statement test a particular
statement if the condition evaluates to true i.e., a set of
statements are executed if the condition is true. If the
condition is not true i.e., is false then the set of statement
in ‘else’ condition is executed. Both the ‘if’ and ‘else’
statement are never executed simultaneously.
6. Fstream: The fstream librarypredefinesaset of operation
for handling file related to input and output.
infile
outfile
system(‘cls’)
ostream
Coding
#include<fstream.h>
#include<ctype.h>
#include<iomanip.h>
#include<conio.h>
#include<stdio.h>
//<><><><><><><><><><><><><><><><><><><><><><><><><><><>
// Class used in the program
//<><><><><><><><><><><><><><><><><><><><><><><><><><><>
class account
{
int acno;
char name[50];
int deposit;
char type;
public:
void create_account(); //function to get data from user
void show_account(); //function to show data on screen
void modify(); //function to get new data from user
void dep(int); //function to accept amount and add to balance amount
void draw(int); //function to accept amount and subtract from balance
void report(); //function to show data in tabular format
int retacno(); //function to return account number
int retdeposit(); //function to return balance amount
char rettype(); //function to return type of account
}; //class ends here
void account::create_account()
{
cout<<"tttWelcome... Create your New Account n";
cout<<"nEnter The account No.";
cin>>acno;
cout<<"nnEnter The Name of The account Holder : ";
gets(name);
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<<"nnnAccount Created..";
}
void account::show_account()
{
cout<<"nAccount No. : "<<acno;
cout<<"nAccount Holder Name : ";
cout<<name;
cout<<"nType of Account : "<<type;
cout<<"nBalance amount : "<<deposit;
}
void account::modify()
{
cout<<"nThe account No."<<acno;
cout<<"nnEnter The Name of The account Holder : ";
gets(name);
cout<<"nEnter Type of The account (C/S) : ";
cin>>type;
type=toupper(type);
cout<<"nEnter The amount : ";
cin>>deposit;
}
void account::dep(int x)
{
deposit+=x;
}
void account::draw(int x)
{
deposit-=x;
}
void account::report()
{
cout<<acno<<setw(10)<<" "<<name<<setw(10)<<"
"<<type<<setw(6)<<deposit<<endl;
}
int account::retacno()
{
return acno;
}
int account::retdeposit()
{
return deposit;
}
char account::rettype()
{
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 deposit/withdraw amount
void intro(); //introductory screen function
//<><><><><><><><><><><><><><><><><><><><><><><><><><><>
// The main function of program
//<><><><><><><><><><><><><><><><><><><><><><><><><><><>
int main()
{
char ch;
int num;
clrscr();
intro();
do
{
clrscr();
cout<<"nnntMAIN MENU";
cout<<"nnt01. NEW ACCOUNT";
cout<<"nnt02. DEPOSIT AMOUNT";
cout<<"nnt03. WITHDRAW AMOUNT";
cout<<"nnt04. BALANCE ENQUIRY";
cout<<"nnt05. ALL ACCOUNT HOLDER LIST";
cout<<"nnt06. CLOSE AN ACCOUNT";
cout<<"nnt07. MODIFY AN ACCOUNT";
cout<<"nnt08. EXIT";
cout<<"nntSelect Your Option (1-8) ";
cin>>ch;
clrscr();
switch(ch)
{
case '1':
write_account();
break;
case '2':
cout<<"nntEnter The account No. : "; cin>>num ;
deposit_w ithdraw(num, 1);
break;
case '3':
cout<<"nntEnter The account No. : "; cin>>num ;
deposit_w ithdraw(num, 2);
break;
case '4':
cout<<"nntEnter The account No. : "; cin>>num ;
display_sp(num );
break;
case '5':
display_all();
break;
case '6':
cout<<"nntEnter The account No. : "; cin>>num ;
delete_account(num);
break;
case '7':
cout<<"nntEnter The account No. : "; cin>>num ;
modify_account(num);
break;
case '8':
cout<<"nntThanks for using bank managemnt system n n";
cout<<"nttttsee";
cout<<"nntttttyou ";
break;
cout<<"nnnttttttsoon";
default :cout<<"a";
}
getch();
}while(ch!='8');
return 0;
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><>
// 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((char *) &ac, sizeof(account));
outFile.close();
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><>
// Function to read specific record from file
//<><><><><><><><><><><><><><><><><><><><><><><><><><><>
void display_sp(int n)
{
account ac;
int flag=0;
ifstream inFile;
inFile.open("account.dat",ios::binary);
if(!inFile)
{
cout<<"File could not be open !! Press any Key...";
return;
}
cout<<"nBALANCE DETAILSn";
while(inFile.read((char *) &ac, sizeof(account)))
{
if(ac.retacno()==n)
{
ac.show_account();
flag=1;
}
}
inFile.close();
if(flag==0)
cout<<"nnAccount number does not exist";
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><>
// Function to modify record of file
//<><><><><><><><><><><><><><><><><><><><><><><><><><><>
void modify_account(int n)
{
int found=0;
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.read((char *) &ac, sizeof(account)) && found==0)
{
if(ac.retacno()==n)
{
ac.show_account();
cout<<"nnEnter The New Details of account"<<endl;
ac.modify();
int pos=(-1)*sizeof(account);
File.seekp(pos,ios::cur);
File.write((char *) &ac, sizeof(account));
cout<<"nnt Record Updated";
found=1;
}
}
File.close();
if(found==0)
cout<<"nn 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...";
return;
}
outFile.open("Temp.dat",ios::binary);
inFile.seekg(0,ios::beg);
while(inFile.read((char *) &ac, sizeof(account)))
{
if(ac.retacno()!=n)
{
outFile.write((char *) &ac, sizeof(account));
}
}
inFile.close();
outFile.close();
remove("account.dat");
rename("Temp.dat","account.dat");
cout<<"nntRecord Deleted ..";
cout<<”n n n Your account was successfully deleted”;
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><>
// Function to display all accounts deposit list
//<><><><><><><><><><><><><><><><><><><><><><><><><><><>
void display_all()
{
account ac;
ifstream inFile;
inFile.open("account.dat",ios::binary);
if(!inFile)
{
cout<<"File could not be open !! Press any Key...";
return;
}
cout<<"nnttACCOUNT HOLDER LISTnn";
cout<<"===============================================n";
cout<<"A/c no. NAME Type Balancen";
cout<<"===============================================n";
while(inFile.read((char *) &ac, sizeof(account)))
{
ac.report();
}
inFile.close();
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><>
// function to deposit and withdraw amounts
//<><><><><><><><><><><><><><><><><><><><><><><><><><><>
void deposit_withdraw(int n, int option)
{
int amt;
int found=0;
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.read((char *) &ac, sizeof(account)) && found==0)
{
if(ac.retacno()==n)
{
ac.show_account();
if(option==1)
{
cout<<"nntTO DEPOSITE AMOUNT ";
cout<<"nnEnter The amount to be deposited";
cin>>amt;
ac.dep(amt);
}
if(option==2)
{
cout<<"nntTO WITHDRAW AMOUNT ";
cout<<"nnEnter The amount to be withdraw";
cin>>amt;
int bal=ac.retdeposit()-amt;
if((bal<500 && ac.rettype()=='S') || (bal<1000
&& ac.rettype()=='C'))
cout<<"Insufficience balance";
else
ac.draw (amt);
}
int pos=(-1)* sizeof(ac);
File.seekp(pos,ios::cur);
File.write((char *) &ac, sizeof(account));
cout<<"nnt Record Updated";
found=1;
}
}
File.close();
if(found==0)
cout<<"nn Record Not Found ";
}
//<><><><><><><><><><><><><><><><><><><><><><><><><><><>
// Introduction function
//<><><><><><><><><><><><><><><><><><><><><><><><><><><>
void intro()
{
cout<<"n";
cout<<"nntttt BANK ";
cout<<"nntttt MANAGEMENT ";
cout<<"nn tttt SYSTEM";
cout<<"nnnnnn Press any key to continue:";
cout<<"nnnnnnnnn";
cout<<"Done by Pranoy.S.B Xii-D Alwin Memorial Public School ";
getch();
}
Future Enhancement
In any project, though present satisfaction is important
but also it is equally important to see and visualize the
future scope. The project which is developed now may
be need to undergo some changes in future in order to
match up the technology prevailing that time, thus
change due to development in technology are advisable.
Some of the future scope are:-
1. One can extend this project with any of the new
policies launched by the banks.
2. The transactions are in off-line mode, hence can
make this project to support on-line transactions
depending upon the efficiency and effectiveness.
3. This project can be made more user friendly than
now.
Bibliography
 http://projects.icbse.com/
 www.projectgeek.com
 Sumitha Arora class XII textbook

More Related Content

What's hot (6)

Actividad #7 codigo detección de errores (yango colmenares)
Actividad #7 codigo detección de errores (yango colmenares)Actividad #7 codigo detección de errores (yango colmenares)
Actividad #7 codigo detección de errores (yango colmenares)
 
Declaring friend function with inline code
Declaring friend function with inline codeDeclaring friend function with inline code
Declaring friend function with inline code
 
Automatically Repairing Test Cases for Evolving Method Declarations
Automatically Repairing Test Cases for Evolving Method DeclarationsAutomatically Repairing Test Cases for Evolving Method Declarations
Automatically Repairing Test Cases for Evolving Method Declarations
 
COMPUTER SCIENCE INVESTIGATORY PROJECT 2017-18
COMPUTER SCIENCE INVESTIGATORY PROJECT 2017-18COMPUTER SCIENCE INVESTIGATORY PROJECT 2017-18
COMPUTER SCIENCE INVESTIGATORY PROJECT 2017-18
 
Built-in Fake Objects
Built-in Fake ObjectsBuilt-in Fake Objects
Built-in Fake Objects
 
Rajeev oops 2nd march
Rajeev oops 2nd marchRajeev oops 2nd march
Rajeev oops 2nd march
 

Similar to Cbsecomputersciencecclass12boardproject bankmanagmentsystem-180703065625-converted

PPS.pptx this ppt is for coding your problems and to do ppt for new students ...
PPS.pptx this ppt is for coding your problems and to do ppt for new students ...PPS.pptx this ppt is for coding your problems and to do ppt for new students ...
PPS.pptx this ppt is for coding your problems and to do ppt for new students ...
ragishettyanilkumar
 
Please distinguish between the .h and .cpp file, create a fully work.pdf
Please distinguish between the .h and .cpp file, create a fully work.pdfPlease distinguish between the .h and .cpp file, create a fully work.pdf
Please distinguish between the .h and .cpp file, create a fully work.pdf
neerajsachdeva33
 
Banks offer various types of accounts, such as savings, checking, cer.pdf
 Banks offer various types of accounts, such as savings, checking, cer.pdf Banks offer various types of accounts, such as savings, checking, cer.pdf
Banks offer various types of accounts, such as savings, checking, cer.pdf
akbsingh1313
 
Customer bank account assignment detail report
Customer bank account assignment detail reportCustomer bank account assignment detail report
Customer bank account assignment detail report
lingaswamy vallapu
 
"Bank management system"
"Bank management system""Bank management system"
"Bank management system"
vivek kct
 
Porfolio of Setfocus work
Porfolio of Setfocus workPorfolio of Setfocus work
Porfolio of Setfocus work
KevinPSF
 
Can you please provide the full client and server GUI codes using my.pdf
Can you please provide the full client and server GUI codes using my.pdfCan you please provide the full client and server GUI codes using my.pdf
Can you please provide the full client and server GUI codes using my.pdf
sales88
 

Similar to Cbsecomputersciencecclass12boardproject bankmanagmentsystem-180703065625-converted (20)

Cbse computer science (c++) class 12 board project bank managment system
Cbse computer science (c++)  class 12 board project  bank managment systemCbse computer science (c++)  class 12 board project  bank managment system
Cbse computer science (c++) class 12 board project bank managment system
 
C programming
C programmingC programming
C programming
 
CSE LAB PRESENTATION.pptx
CSE LAB PRESENTATION.pptxCSE LAB PRESENTATION.pptx
CSE LAB PRESENTATION.pptx
 
Distributed banking system using rmi project
Distributed banking system using rmi projectDistributed banking system using rmi project
Distributed banking system using rmi project
 
PPS.pptx this ppt is for coding your problems and to do ppt for new students ...
PPS.pptx this ppt is for coding your problems and to do ppt for new students ...PPS.pptx this ppt is for coding your problems and to do ppt for new students ...
PPS.pptx this ppt is for coding your problems and to do ppt for new students ...
 
Dependency injection - the right way
Dependency injection - the right wayDependency injection - the right way
Dependency injection - the right way
 
Please distinguish between the .h and .cpp file, create a fully work.pdf
Please distinguish between the .h and .cpp file, create a fully work.pdfPlease distinguish between the .h and .cpp file, create a fully work.pdf
Please distinguish between the .h and .cpp file, create a fully work.pdf
 
C++ coding for Banking System program
C++ coding for Banking System programC++ coding for Banking System program
C++ coding for Banking System program
 
2nd--mac ver
2nd--mac ver2nd--mac ver
2nd--mac ver
 
Banks offer various types of accounts, such as savings, checking, cer.pdf
 Banks offer various types of accounts, such as savings, checking, cer.pdf Banks offer various types of accounts, such as savings, checking, cer.pdf
Banks offer various types of accounts, such as savings, checking, cer.pdf
 
Customer bank account assignment detail report
Customer bank account assignment detail reportCustomer bank account assignment detail report
Customer bank account assignment detail report
 
Micro services from scratch - Part 1
Micro services from scratch - Part 1Micro services from scratch - Part 1
Micro services from scratch - Part 1
 
"Bank management system"
"Bank management system""Bank management system"
"Bank management system"
 
Bank Management System
Bank Management SystemBank Management System
Bank Management System
 
Software Engineering Testing & Research
Software Engineering Testing & Research Software Engineering Testing & Research
Software Engineering Testing & Research
 
Porfolio of Setfocus work
Porfolio of Setfocus workPorfolio of Setfocus work
Porfolio of Setfocus work
 
Bank Management System project
Bank Management System projectBank Management System project
Bank Management System project
 
Atm project
Atm projectAtm project
Atm project
 
Can you please provide the full client and server GUI codes using my.pdf
Can you please provide the full client and server GUI codes using my.pdfCan you please provide the full client and server GUI codes using my.pdf
Can you please provide the full client and server GUI codes using my.pdf
 
BANK MANAGEMENT INVESTIGATORY PROJECT CLASS 12TH
BANK MANAGEMENT INVESTIGATORY PROJECT CLASS 12THBANK MANAGEMENT INVESTIGATORY PROJECT CLASS 12TH
BANK MANAGEMENT INVESTIGATORY PROJECT CLASS 12TH
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 

Cbsecomputersciencecclass12boardproject bankmanagmentsystem-180703065625-converted

  • 1. Vivekananda vidya kala ashram … Department of computer science … COMPUTER SCIENCE-PROJECT 2018-2019 Submitted by Name: Subramani.K Roll no: Class: Section: Topic: Banking System
  • 2.  Introduction 01  Program specification 02  Description 03  Program Coding 05  Output 19  Future enhancement 24  Bibliography 25 Index
  • 3. Introduction The main objectives of this banking system which is developed in C++ is to provide a flexiblesolution for banking industry. With this system, both of users such customer and working personnel of the particular bank will find easy to use and able to perform all their operations using the system. This system enable its users to open and close the bank account. Customers will able to withdraw and deposit amount to their particular account. Working personnelof particular bank will make all the operations which are required within the banking premises. The operation which can be performed by bank personnel are: Adding new customers account, modifying existing account, list all customer details including their account number. And also in the perspective of customers it helps in easy of accessing and reduces time. Its user friendly graphical mode will make its users to work with this new system in more interactive way.
  • 4. Program Specification System requirements are expressed in the software requirement document. The SRS is the official statement of what is required of the system developers. Non-functional requirement:  Reliability  Security  Extensibility  Portability  Reusability  Compatibility Hardware requirement:  Processor- Intel Pentium or Amd Athlon  Ram- 512MB or greater  Hard Disk space-  Compatible- Pc Software Requirement:  Operating system-Windows XP or later ,Linux, OS x  Borland C or Turbo C++
  • 5.  Description This project makes use of some of the concepts of the OOPS and data file handling mechanism. These are as follow:- 1. Header files-The header files in C++ library helps to access data type function prototype, definitions for library functions. The header files included in this program are: include<iostream.h> include<conio.h> include<cctype.h> include<iomaniph.n> include<stdlib.h> 2. Classes- It is a collection object, where objects having its own attributes and functions. The class Created is:- class account 3. Functions – Theseareindividual pieceof codeor modules which can be used anywhere in the program by calling them when needed. The functions can be predefined or user defined. Some of the user defined function created in the program are:- void create_account() void show_account() void modify() void dep() void draw() void report() int retacno() int retdeposit()
  • 6. char retype() void write_account() void display_sp() void modify_account() void delete_account() void display_all() void deposit_withdraw() void intro() 4. Switch Case: It is the multiple branch selection statement. The selection statement successively tests the value of an expression against a list of integer or character constant. 5. IF and ELSE statement: ‘IF’ statement test a particular statement if the condition evaluates to true i.e., a set of statements are executed if the condition is true. If the condition is not true i.e., is false then the set of statement in ‘else’ condition is executed. Both the ‘if’ and ‘else’ statement are never executed simultaneously. 6. Fstream: The fstream librarypredefinesaset of operation for handling file related to input and output. infile outfile system(‘cls’) ostream
  • 7. Coding #include<fstream.h> #include<ctype.h> #include<iomanip.h> #include<conio.h> #include<stdio.h> //<><><><><><><><><><><><><><><><><><><><><><><><><><><> // Class used in the program //<><><><><><><><><><><><><><><><><><><><><><><><><><><> class account { int acno; char name[50]; int deposit; char type; public: void create_account(); //function to get data from user void show_account(); //function to show data on screen void modify(); //function to get new data from user void dep(int); //function to accept amount and add to balance amount void draw(int); //function to accept amount and subtract from balance void report(); //function to show data in tabular format int retacno(); //function to return account number int retdeposit(); //function to return balance amount char rettype(); //function to return type of account
  • 8. }; //class ends here void account::create_account() { cout<<"tttWelcome... Create your New Account n"; cout<<"nEnter The account No."; cin>>acno; cout<<"nnEnter The Name of The account Holder : "; gets(name); 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<<"nnnAccount Created.."; } void account::show_account() { cout<<"nAccount No. : "<<acno; cout<<"nAccount Holder Name : "; cout<<name; cout<<"nType of Account : "<<type; cout<<"nBalance amount : "<<deposit; } void account::modify()
  • 9. { cout<<"nThe account No."<<acno; cout<<"nnEnter The Name of The account Holder : "; gets(name); cout<<"nEnter Type of The account (C/S) : "; cin>>type; type=toupper(type); cout<<"nEnter The amount : "; cin>>deposit; } void account::dep(int x) { deposit+=x; } void account::draw(int x) { deposit-=x; } void account::report() { cout<<acno<<setw(10)<<" "<<name<<setw(10)<<" "<<type<<setw(6)<<deposit<<endl; } int account::retacno()
  • 10. { return acno; } int account::retdeposit() { return deposit; } char account::rettype() { 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 deposit/withdraw amount void intro(); //introductory screen function
  • 11. //<><><><><><><><><><><><><><><><><><><><><><><><><><><> // The main function of program //<><><><><><><><><><><><><><><><><><><><><><><><><><><> int main() { char ch; int num; clrscr(); intro(); do { clrscr(); cout<<"nnntMAIN MENU"; cout<<"nnt01. NEW ACCOUNT"; cout<<"nnt02. DEPOSIT AMOUNT"; cout<<"nnt03. WITHDRAW AMOUNT"; cout<<"nnt04. BALANCE ENQUIRY"; cout<<"nnt05. ALL ACCOUNT HOLDER LIST"; cout<<"nnt06. CLOSE AN ACCOUNT"; cout<<"nnt07. MODIFY AN ACCOUNT"; cout<<"nnt08. EXIT"; cout<<"nntSelect Your Option (1-8) "; cin>>ch; clrscr(); switch(ch) { case '1': write_account();
  • 12. break; case '2': cout<<"nntEnter The account No. : "; cin>>num ; deposit_w ithdraw(num, 1); break; case '3': cout<<"nntEnter The account No. : "; cin>>num ; deposit_w ithdraw(num, 2); break; case '4': cout<<"nntEnter The account No. : "; cin>>num ; display_sp(num ); break; case '5': display_all(); break; case '6': cout<<"nntEnter The account No. : "; cin>>num ; delete_account(num); break; case '7': cout<<"nntEnter The account No. : "; cin>>num ; modify_account(num); break; case '8': cout<<"nntThanks for using bank managemnt system n n"; cout<<"nttttsee"; cout<<"nntttttyou ";
  • 13. break; cout<<"nnnttttttsoon"; default :cout<<"a"; } getch(); }while(ch!='8'); return 0; } //<><><><><><><><><><><><><><><><><><><><><><><><><><><> // 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((char *) &ac, sizeof(account)); outFile.close(); } //<><><><><><><><><><><><><><><><><><><><><><><><><><> // Function to read specific record from file //<><><><><><><><><><><><><><><><><><><><><><><><><><><> void display_sp(int n) {
  • 14. account ac; int flag=0; ifstream inFile; inFile.open("account.dat",ios::binary); if(!inFile) { cout<<"File could not be open !! Press any Key..."; return; } cout<<"nBALANCE DETAILSn"; while(inFile.read((char *) &ac, sizeof(account))) { if(ac.retacno()==n) { ac.show_account(); flag=1; } } inFile.close(); if(flag==0) cout<<"nnAccount number does not exist"; } //<><><><><><><><><><><><><><><><><><><><><><><><><><><> // Function to modify record of file //<><><><><><><><><><><><><><><><><><><><><><><><><><><>
  • 15. void modify_account(int n) { int found=0; 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.read((char *) &ac, sizeof(account)) && found==0) { if(ac.retacno()==n) { ac.show_account(); cout<<"nnEnter The New Details of account"<<endl; ac.modify(); int pos=(-1)*sizeof(account); File.seekp(pos,ios::cur); File.write((char *) &ac, sizeof(account)); cout<<"nnt Record Updated"; found=1; } } File.close(); if(found==0)
  • 16. cout<<"nn 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..."; return; } outFile.open("Temp.dat",ios::binary); inFile.seekg(0,ios::beg); while(inFile.read((char *) &ac, sizeof(account))) { if(ac.retacno()!=n) { outFile.write((char *) &ac, sizeof(account)); }
  • 17. } inFile.close(); outFile.close(); remove("account.dat"); rename("Temp.dat","account.dat"); cout<<"nntRecord Deleted .."; cout<<”n n n Your account was successfully deleted”; } //<><><><><><><><><><><><><><><><><><><><><><><><><><><> // Function to display all accounts deposit list //<><><><><><><><><><><><><><><><><><><><><><><><><><><> void display_all() { account ac; ifstream inFile; inFile.open("account.dat",ios::binary); if(!inFile) { cout<<"File could not be open !! Press any Key..."; return; } cout<<"nnttACCOUNT HOLDER LISTnn"; cout<<"===============================================n"; cout<<"A/c no. NAME Type Balancen"; cout<<"===============================================n"; while(inFile.read((char *) &ac, sizeof(account)))
  • 18. { ac.report(); } inFile.close(); } //<><><><><><><><><><><><><><><><><><><><><><><><><><><> // function to deposit and withdraw amounts //<><><><><><><><><><><><><><><><><><><><><><><><><><><> void deposit_withdraw(int n, int option) { int amt; int found=0; 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.read((char *) &ac, sizeof(account)) && found==0) { if(ac.retacno()==n) { ac.show_account();
  • 19. if(option==1) { cout<<"nntTO DEPOSITE AMOUNT "; cout<<"nnEnter The amount to be deposited"; cin>>amt; ac.dep(amt); } if(option==2) { cout<<"nntTO WITHDRAW AMOUNT "; cout<<"nnEnter The amount to be withdraw"; cin>>amt; int bal=ac.retdeposit()-amt; if((bal<500 && ac.rettype()=='S') || (bal<1000 && ac.rettype()=='C')) cout<<"Insufficience balance"; else ac.draw (amt); } int pos=(-1)* sizeof(ac); File.seekp(pos,ios::cur); File.write((char *) &ac, sizeof(account)); cout<<"nnt Record Updated"; found=1; } } File.close(); if(found==0)
  • 20. cout<<"nn Record Not Found "; } //<><><><><><><><><><><><><><><><><><><><><><><><><><><> // Introduction function //<><><><><><><><><><><><><><><><><><><><><><><><><><><> void intro() { cout<<"n"; cout<<"nntttt BANK "; cout<<"nntttt MANAGEMENT "; cout<<"nn tttt SYSTEM"; cout<<"nnnnnn Press any key to continue:"; cout<<"nnnnnnnnn"; cout<<"Done by Pranoy.S.B Xii-D Alwin Memorial Public School "; getch(); }
  • 21.
  • 22. Future Enhancement In any project, though present satisfaction is important but also it is equally important to see and visualize the future scope. The project which is developed now may be need to undergo some changes in future in order to match up the technology prevailing that time, thus change due to development in technology are advisable. Some of the future scope are:- 1. One can extend this project with any of the new policies launched by the banks. 2. The transactions are in off-line mode, hence can make this project to support on-line transactions depending upon the efficiency and effectiveness. 3. This project can be made more user friendly than now.