Anda di halaman 1dari 34

COMPUTER SCIENCE

PROJECT
BANK
MANAGEMENT
SYSTEM
MADE BYDEEP PANCHOLI
XII SUDHAMANI

CONTENTS
1. Certificate..03
1

2. Acknowledgement..04
3. Declaration.0
5
4. Introduction to C++
..06
4.1. History.0
6
4.2. Header
Files..07
4.3. Data Files
08
4.4. Data Structures
09
5. Project
Documentation..11
5.1. Project
Title...11
5.2. Purpose..11
5.3. Header
Files..12
2

5.4. Data
Members..12
5.5. Functions
14
6. Program..15
7. Outputs
28
8. Bibliography...............3
5

CERTIFICATE
This is to certify that Deep Pancholi of
Class XII has successfully carried out the
project entitled Bank Management
using Data Files, Data Structures in C+
+ Language.
All the project related work was done by the
candidate himself.
His approach towards the subject has been
sincere and scientific.
3

Examiner
Principal
Teacher

Computer

Brahmacharini Umaji
Sajisha

Ms.

Amrita Vidyalayam
Ahmedabad

ACKNOWLEDGEMENT
A Project on Bank Management using C++
coding
I humbly presented for kind appraisal,
sincere comments, suggestions and critical
evaluation.
First of all I would like to thank god and our
beloved Amma for giving me strength to
take this project to my best level.
4

With a deep sense of gratitude I would like


to thank our principal Brahmacharini Umaji
for giving me this opportunity.
I am highly indebted to my computer
teacher, Ms. Sajisha Nikhil, my parents and
my dear friends, without which this project
would not have been a success.
Deep Pancholi

DECLARATION
I hereby declare that the project entitled
BANK MANAGEMENT
Submitted
To the Amrita Vidyalayam is a record of the
original work done by me under the
guidance of Ms. Sajisha Nikhil, Computer
Teacher.

DEEP PANCHOLI
CLASS XII
AMRITA VIDYALAYAM
AHMEDABAD

INTRODUCTION TO C++
I. C++ is a statically typed, free form,
multi paradigm, compiled, generalpurpose programming language. It is
regarded as an intermediate-level
language, as it comprises a combination
of both high-level and low-level
language features. It was developed at
AT&T Bell Labs, by Bjarne Stroustrup.
Originally, it was named C with classes.
Object Oriented Technology is regarded as
the ultimate paradigm for the modelling of
information be that data or logic.
The C++ has by now shown to fulfil this
goal.
6

The current standard extending C++ with


new features was ratified and published by
ISO in September 2011 as
ISO/IEC14882:2011
[Informally known as C++11]
II. Header FilesSometimes known as include files, these
allow the programmer to separate
certain elements of a programs source
code into reusable files.
conio.h
ctype.h
float.h
fstream.h

graphics.h
iomanip.h

MS-DOS Console IO Functions


Character Conversion Macros
and Functions
Functions related to floatingpoint number.
Declares the C++ stream
classes that support file input
and output.
All graphics related functions
are declared here
Declares the C++ streams I/O
manipulators.
7

iostream.h
math.h
memory.h
search.h
stdio.h

stdlib.h

string.h

Declares the basic C++


streams (I/O) routines.
Declares prototypes for the
math functions
Memory manipulation
functions.
Declares functions for
searching and sorting.
Defines types and macros
needed for the Standard I/O
routines and stream-level I/O
routines.
Standard Library functions
including conversion and
search / sort routines
Declares several string and
memory manipulation
routines.

III. Data Files


In the real world, computer applications
need to store large amounts of data for
extended periods of time.

To accomplish the task of storing large


amounts of data,
data files are used.
There are two types of data files:
(i). Sequential Access Files: These files
must be accessed in the same order in
which they were written.
In order to access data from a sequential
file, you must start at the beginning of the
file and search through the entire file for
the data that you want.
(ii). Random Access Files: These files are
analogous to audio compact disks where
you can easily access any song, regardless
of the order in which the songs were
recorded. Random access files allow
instant access to any data in the file.
Unfortunately, random access files often
occupy more disk space than sequential
access files.

IV. Data Structures


i. C++ arrays allow you to define variables
that combine several data items of the
same kind but structure is another user
defined data type which allows you to
combine data items of different kinds.
ii. Structures are used to represent a
record.
iii. Defining a Structure: To define a
structure, you must use the struct
statement. The struct statement defines
a new data type, with more than one
member, for your program.
iv. The structure tag is optional and each
member definition is a normal variable
definition, such as int i; or float f; or any
other valid variable definition. At the end
of the structure's definition, before the
final semicolon, you can specify one or
more structure variables but it is
optional.
10

v. Accessing Structure Members: To access


any member of a structure, we use the
member access operator (.). The
member access operator is coded as a
period between the structure variable
name and the structure member that we
wish to access.

PROJECT DOCUMENTATION
I. Project Title
Bank Management System
(In C++ Programming Language)
11

File Namebankmanagement.cpp
II. Purpose
This Program gives the record pf the
transactions made in the account of the
account holder.
It is used in keeping record of each holder
It displays the type of account and total
balance present in each account.

III. Header Files


#include<fstream.h>
#include<conio.h>
#include<ctype.h>
#include<iomanip.h>
#include<stdio.h>

12

IV. Data Members


int: int acno;
int deposit;
int x;
int num;
int flag;
int amt;
int found;

char: char name[50];


char type;
char ch;
V. Functions
a) void write_account( );
Function to write record in binary file.
b) void display_sp(int);
13

Function to display account details given


by user.
c) void modify_account(int);
Function to modify record of file.
d) void delete_account(int);
Function to delete record of file.

e) void display_all( );
Function to display all account details.
f) void deposit_withdraw(int,int);
Function to deposit/withdraw amount for
given account.
g) void intro( );
Introductory screen function.
h) int main( );
Main function of the program.

14

PROGRAM
//***************************************************************
//
HEADER FILE USED IN PROJECT
//***************************************************************
*
#include<fstream.h>
#include<ctype.h>
#include<iomanip.h>
#include<conio.h>
#include<stdio.h>
//***************************************************************
//
CLASS USED IN PROJECT
//***************************************************************
*
class account
{
int acno;
char name[50];
15

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 amount
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<<"\nEnter The account No.";
cin>>acno;
cout<<"\n\nEnter 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<<"\n\n\nAccount Created..";
}
void account::show_account()
{
cout<<"\nAccount No. : "<<acno;
cout<<"\nAccount Holder Name : ";
cout<<name;
cout<<"\nType of Account : "<<type;
cout<<"\nBalance amount : "<<deposit;
16

}
void account::modify()
{
cout<<"\nThe account No."<<acno;
cout<<"\n\nEnter 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()
17

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 desposit/withdraw
amount for given account
void intro();
//introductory screen function

//***************************************************************
//
THE MAIN FUNCTION OF PROGRAM
//***************************************************************
*
int main()
{
char ch;
int num;
clrscr();
intro();
do
18

clrscr();
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;
clrscr();
switch(ch)
{
case '1':
write_account();
break;
case '2':
cout<<"\n\n\tEnter The account No. : "; cin>>num;
deposit_withdraw(num, 1);
break;
case '3':
cout<<"\n\n\tEnter The account No. : ";

cin>>num;
deposit_withdraw(num, 2);
break;
case '4':
cout<<"\n\n\tEnter The account No. : "; cin>>num;
display_sp(num);
break;
case '5':
display_all();
break;
case '6':
19

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

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 DETAILS\n";
while(inFile.read((char *) &ac, sizeof(account)))
{
if(ac.retacno()==n)
{
ac.show_account();
flag=1;
}
}
inFile.close();
if(flag==0)
cout<<"\n\nAccount 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);
21

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<<"\n\nEnter 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<<"\n\n\t Record Updated";
found=1;
}
}
File.close();
if(found==0)
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)
22

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<<"\n\n\tRecord 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<<"\n\n\t\tACCOUNT HOLDER LIST\n\n";

23

cout<<"=================================
===================\n";
cout<<"A/c no.
NAME
Type Balance\n";
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<<"\n\n\tTO DEPOSITE AMOUNT ";
24

cout<<"\n\nEnter The amount to be deposited";


cin>>amt;
ac.dep(amt);

}
if(option==2)
{
cout<<"\n\n\tTO WITHDRAW AMOUNT ";
cout<<"\n\nEnter 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<<"\n\n\t Record Updated";
found=1;
}
}
File.close();
if(found==0)
cout<<"\n\n Record Not Found ";
}

//***************************************************************
//
INTRODUCTION FUNCTION
//***************************************************************
*
void intro()
25

cout<<"\n\n\n\t BANK";
cout<<"\n\n\tMANAGEMENT";
cout<<"\n\n\t SYSTEM";
cout<<"\n\n\n\nMADE BY :
";
cout<<"\n\nSCHOOL : AMRITA VIDYALAYAM";
getch();

//***************************************************************
//
END OF PROJECT
//***************************************************************

26

OUTPUTS

27

28

29

30

31

32

33

BIBLIOGRAPHY
I have refered different sources
including internet and books to make
this project a success.
Some of them are:
www.google.com
www.google.com/images
mathbits.com/MathBits/CompSci/Files/Da
ta.htm
www.tutorialspoint.com/cplusplus/cpp_d
ata_structures.htm
www.softwareandfinance.com/Turbo_CPP
/HeaderFiles.html

www.cppforschool.com/project/bankingsystem-project.htm

34