100% found this document useful (1 vote)
927 views

CBSE Computer Science (C++) Class 12 Board Project - Bank Managment System

This document appears to be a project report for developing a banking system using C++. It includes an index, abstract, program specifications describing hardware, software and non-functional requirements. It also includes descriptions of concepts used like classes, functions, switch case, if/else statements and file handling. The main sections are the class used to define accounts, function declarations, coding of functions and the main function controlling the menu-driven program flow.

Uploaded by

Pranoy Seenu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
927 views

CBSE Computer Science (C++) Class 12 Board Project - Bank Managment System

This document appears to be a project report for developing a banking system using C++. It includes an index, abstract, program specifications describing hardware, software and non-functional requirements. It also includes descriptions of concepts used like classes, functions, switch case, if/else statements and file handling. The main sections are the class used to define accounts, function declarations, coding of functions and the main function controlling the menu-driven program flow.

Uploaded by

Pranoy Seenu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

COMPUTER SCIENCE-PROJECT

2017-2018
Submitted by,

Name:

Reg.No:

Class: Section:
Index

 Abstract 01

 Program specification 02

 Description 03

 Program Coding 05

 Output 19

 Future enhancement 24

 Bibliography 25
 Abstract

The main objectives of this banking system which


is developed in C++ is to provide a flexible solution
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 personnel of 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.

1
 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++

2
 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 – These are individual piece of code or 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()

3
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 library predefines a set of operation


for handling file related to input and output.

infile
outfile
system(‘cls’)
ostream

4
 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

5
}; //class ends here

void account::create_account()
{
cout<<"\t\t\tWelcome... Create your New Account \n";
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;
}

void account::modify()

6
{
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()

7
{
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

8
//<><><><><><><><><><><><><><><><><><><><><><><><><><><>
// The main function of program
//<><><><><><><><><><><><><><><><><><><><><><><><><><><>
int main()
{
char ch;
int num;
clrscr();
intro();
do
{
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();

9
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':
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 \n \n";

cout<<"\n\t\t\t\tsee";
cout<<"\n\n\t\t\t\t\tyou ";

10
cout<<"\n\n\n\t\t\t\t\t\tsoon";
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
//<><><><><><><><><><><><><><><><><><><><><><><><><><><>

void display_sp(int n)
{

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

12
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<<"\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)

13
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...";
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));
}

14
}
inFile.close();
outFile.close();
remove("account.dat");
rename("Temp.dat","account.dat");
cout<<"\n\n\tRecord 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<<"\n\n\t\tACCOUNT HOLDER LIST\n\n";

cout<<"===============================================\n";

cout<<"A/c no. NAME Type Balance\n";

cout<<"===============================================\n";

while(inFile.read((char *) &ac, sizeof(account)))

15
{
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();

16
if(option==1)
{
cout<<"\n\n\tTO DEPOSITE AMOUNT ";
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)

17
cout<<"\n\n Record Not Found ";
}

//<><><><><><><><><><><><><><><><><><><><><><><><><><><>

// Introduction function
//<><><><><><><><><><><><><><><><><><><><><><><><><><><>

void intro()
{
cout<<"\n";
cout<<"\n\n\t\t\t\t BANK ";
cout<<"\n\n\t\t\t\t MANAGEMENT ";
cout<<"\n\n \t\t\t\t SYSTEM";
cout<<"\n\n\n\n\n\n\ Press any key to continue:";
cout<<"\n\n\n\n\n\n\n\n\n";
cout<<"Done by Pranoy.S.B Xii-D Alwin Memorial Public School ";
getch();
}

18
 Output

19
Creating new account

Depositig amount

20
Withdrawing amount

Balance enquiry

21
Account holder list

Modifying exisiting account

22
Deleting the account

Exit menu

23
 Output

19
Creating new account

Depositig amount

20
Withdrawing amount

Balance enquiry

21
Account holder list

Modifying exisiting account

22
Deleting the account

Exit menu

23
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.

24
Bibliography

 http://projects.icbse.com/

 www.projectgeek.com

 Sumitha Arora class XII textbook

25

You might also like