Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 35

ON THE JOB TRAINING

REPORT
“BANK MANAGEMENT SYSTEM”
A report is submitted in partial fulfillment of the requirements for the Award of Degree
Of

Technical and Vocational Education


In

Computer Engineering
By
Mahesh Kumar Udas (Reg. No. 762370460216)
Nitesh Kushwaha (Reg. No. 762370460220)
Sunit Kumar Mukhiya (Reg. No. 762370460244)

Under the Esteemed Guidance of


Er. SANTOSH KUMAR SHAH (Supervision)

Duration: 1st shrawan 2077 to 30th bhadra

2077 Department of Computer Engineering


SHREE NRISINGH MADHYAMIK VIDHYALAYA,
PIPRAMATH BIRGUNJ-14, PARSA

National Examination Board


Sanothimi, Bhaktapur
2077
SHREE NRISINGH MADHYAMIK VIDHYALAYA
PIPRAMATH, PARSA
BIRGUNJ-14

TECHNICAL AND VOCATIONAL EDUCATION


(Computer Engineering)

TO WHOM IT MAY CONCERN

This is to certify that Mr. Mahesh Kumar Udas, permanent residence of


Birgunj-9, Parsa has completed his internship from 1st shrawan 2077 to 30th
bhadra 2077, at Shree Nrisingh Madhyamik Vidhyalaya.
He had completed his Internship in C++ Development and Programming.
He had been performing his activities over here with dedication and
enthusiasm.
It gives pleasure to state that he would become a great asset in any
organization he chooses to pursue his career in. Please feel free to contact us
if you need any information required.

With best Regards,

…………………………….

Mr. Binod Mehta


Principal
SHREE NRISINGH MADHYAMIK VIDHYALAYA
PIPRAMATH, PARSA
BIRGUNJ-14

TECHNICAL AND VOCATIONAL EDUCATION


(Computer Engineering)

CERTIFICATE

It is my pleasure to report that Mr. Mahesh Kumar Udas 10th grade


Technical student from Shree Nirsingh Madhyamik Vidhyalaya, Birgunj-
14, Pipra, Parsa dt, Nepal, has successfully completed his internship and
job training start from 1st shrawan 2077 to 30th bhadra 2077.
In a short period of time, he has gained a lot of information from different
fields of our school which, including console developing, and Programming.
We found his/her very hard-working, enthusiastic, and curious about
programming-related job. We wish him/her for very success in his future
endeavors.

Mr. Sanjay Saxena (Coordinator) …………………………..

Er. Santosh Kumar Shah (Supervision)


………………………….

Name: ……………………… …………………………..


External
SHREE NRISINGH MADHYAMIK VIDYALAYA
PIPRAMTH, PARSA
BIRGUNJ-14

TECHNICAL AND VOCATIONAL EDUCATION


(Computer Engineering)

No Objection Letter

Mr. Mahesh Kumar Udas of Shree Nrisingh Madhyamik Vidyalaya,


Birgunj-14, Parsa, Nepal, having Symbol No. 83700087C and
Registration No. 762370460216 has completed his job training (OJT) with
a disciplined behavior attitude. He demonstrated a sound personality during
his tenure in our school. We have no Objection whatsoever regarding his on-
the-job training (OJT) that he has undergone at our school.

Mr. Sanjay Saxena (Coordinator) …………………………………..

Er. Santosh Kumar Shah (Supervision) ……………………………………

Name:………………….....
External ..……..……………………………………
ACKNOWLEDGMENT

It is indeed with great pleasure and an immense sense of gratitude that we


acknowledge the help of these individuals. We are highly indebted to our
Er. Santosh Kumar Shah, Principal Binod Mehta, Shree Nrisingh
Madhyamik Vidyalaya, for the facilities provided to accomplish this main
project.
We would like to thank Mr. Sanjay Saxena, Head of the Department of
Computer Science and Engineering, Shree Nrisingh Madhyamik
Vidyalaya, for this constructive criticism throughout our project.
We feel elated in manifesting our sense of gratitude tour internal project
guide Mr. Sanjay Saxena, Diploma Head, Department of Computer Science
and Engineering, Shree Nrisingh Madhyamik Vidyalaya. He has been a
constant source of inspiration for us and we are very deeply thankful to him
for his support and valuable advice.
We are extremely grateful to our Departmental staff members, Lab
technicians, and Non-teaching staff members for their extreme help
throughout our project.
Finally, we express our heartfelt thanks to all of our friends who helped us
in the successful completion of this project.
TABLE OF CONTENT
TITLE...................................................................................................................i
TO WHOM IT MAY CONCERN.......................................................................ii
CERTIFICATE....................................................................................................iii
NO OBJECTION LETTER.................................................................................iv
ACKNOWLEDGMENT......................................................................................v

CHAPTERS Page No.

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

3. SYSTEM IMPLEMENTATION (5-25)


3.1 Introduction 5
3.2 Interface 5
 Welcome Page 5
 Menu List 6
 New Account 6
 Deposit Amount 7
 Withdraw Amount 7
 Balance Inquiry 8
 Account Holder List 8
 Close an Account 8
 Modify an Account 9
 Exit 9
3.3 CODE 10

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.1. New Account


The new account section is used to create the new customer account in bank
database.
2.2. Deposit Amount
The deposite amount section is used to add the balance of the customer in their
account.

2.3. Withdraw Amount


This section is used to decrease the amount of the customer from their `
account.

2.4. Balance Enquiry


This section is used to take the statement of the customer bank account.

2.4. Account Holder List


This section is used to display the total customer’s account list.

2.4. Close Account


This section is used to delete the account of the customer.

2.4. Modify Account


page-1
This section is used to modify the customer detail.

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

C++ programming language


C++ is a powerful general-purpose programming language. It can be used to develop
operating systems, browsers, games, and so on. C++ supports different ways of
programming like procedural, object-oriented, functional, and so on. This makes C++
powerful as well as flexible.

Features of C# programming language


 Object-oriented
 Portability
 Compiler based
 Structured programming language
 Fast & Powerful
 Mid-level programming language
 Memory Management
 Rich Library
 Case-sensitive
 Extensible
 Recursion
 Popular
 Simple
 Pointers

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

 Account Holder List

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

void account::show_account() const


{
cout<<"\nAccount No. : "<<acno;

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

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

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. : ";

cin>>num; deposit_withdraw(num, 1);


break;
case '3':
cout<<"\n\n\tEnter The account No. : ";

cin>>num; deposit_withdraw(num, 2);


break;

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

while(!File.eof() && found==false)


{
File.read(reinterpret_cast<char *> (&ac),
sizeof(account));
if(ac.retacno()==n)
{
ac.show_account(); cout<<"\n\nEnter
The New Details of
account"<<endl;
ac.modify();
int pos=(-
1)*static_cast<int>(sizeof(account));
page-20
File.seekp(pos,ios::cur);

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

page-24
//
************************************************************
****

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\tTO DEPOSITE AMOUNT ";
cout<<"\n\nEnter The amount to be
deposited";
page-25
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)*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.

Bank management system is a virtualization of transactions in banking system.


The banking system are used manual working but when we used online banking
system it is totally virtualization process which avoid manual process and converts
it in automatic process.

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

You might also like