CLASS12-Report On Bank Management
CLASS12-Report On Bank Management
A PROJECT REPORT
ON
BANK
MANAGEME
NT SYSTEM
FOR AISSCE 2020 EXAMINATION
[AS A PART OF THE COMPUTER SCIENCE
COURSE (083)]
SUBMITTED BY: -
NAME: _________________
ROLLNO.:_________________
UNDER THE GUIDANCE OF: Ms.
PGT (COMP.SC)
1
BANK MANAGEMENT SYSTEM
CERTIFICATE
………………………… ……………………………..
Signature of Student Signature of
Teacher/Guide
2
BANK MANAGEMENT SYSTEM
ACKNOWLEDGEMENT
I
, undertook this Project work, as the part of my XII-
Computer Science course(083). I had tried to apply my
best of knowledge and experience, gained during the
study and class work experience. However, developing
software system is generally a quite complex and time-
consuming process. It requires a systematic study, insight
vision and professional approach during the design and
development. Moreover, the developer always feels the
need, the help and good wishes of the people near you, who
have considerable experience and idea.
_______________
Class XII
3
BANK MANAGEMENT SYSTEM
C O N T E N T S
1. Introduction-----------------------------------------------------------------5
3. System Implementation-------------------------------------------------9
4. Theoretical Background---------------------------------10
6. Output----------------------------------------------------------------------27
7. User Manual---------------------------------------------------------------32
8. References ----------------------------------------------------------------34
4
BANK MANAGEMENT SYSTEM
1. Introduction
functionaries.
the database for easy access and interface to the database. Using
5
BANK MANAGEMENT SYSTEM
Course(083).
6
BANK MANAGEMENT SYSTEM
7
BANK MANAGEMENT SYSTEM
8
BANK MANAGEMENT SYSTEM
9
BANK MANAGEMENT SYSTEM
3. System Implementation
10
BANK MANAGEMENT SYSTEM
4. Theoretical Background
Installing Python:
It can be installed by using website :
https://www.python.org/downloads/
11
BANK MANAGEMENT SYSTEM
Using IDLE
13
BANK MANAGEMENT SYSTEM
the file in write mode. This is because, sometimes the last lap of data remains in
buffer and is not pushed on to disk until a close() operation is performed.
To find and retrieve just the data that meets conditions you
specify, including data from multiple tables, create a query. A
query can also update or delete multiple records at the same
time, and perform built-in or custom calculations on your data.
14
BANK MANAGEMENT SYSTEM
18
BANK MANAGEMENT SYSTEM
APIs for C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, and Tcl
are available, enabling MySQL clients to be written in many
languages.
The Connector/ODBC (MyODBC) interface provides MySQL
support for client programs that use ODBC (Open Database
Connectivity) connections.
The Connector/J interface provides MySQL support for Java
client programs that use JDBC connections. Clients can be
run on Windows or Unix. Connector/J source is available.
19
BANK MANAGEMENT SYSTEM
Table Design:
The database of BANK MANAGEMENT SYSTEM contains 4
tables in database Library. The tables are normalized to minimize
the redundancies of data and enforcing the validation rules of the
organization. Most of the tables are designed to store master
records. The tables and their structure are given below:
DBMS: MySQL
Host: localhost , User: root , Pass: h , DataBase: class12
20
BANK MANAGEMENT SYSTEM
21
BANK MANAGEMENT SYSTEM
"""***********************************************************************
******
MODULES USED IN PROJECT
**************************************************************************
***"""
import pickle
import os
"""***********************************************************************
******
CLASS USED IN PROJECT
**************************************************************************
***"""
class account(object):
def __init__(s):
s.acno=0
s.name=""
s.deposit=0
s.type=""
22
BANK MANAGEMENT SYSTEM
"""***********************************************************************
******
FUNCTION TO GENERATE ACCOUNT NUMBER
**************************************************************************
***"""
def gen_acno():
try:
inFile=open("account2.dat","rb")
outFile=open("text2.dat","wb")
n=inFile.read()
n=int(n)
while True:
n+=1
outFile.write(str(n))
inFile.close()
outFile.close()
os.remove("account2.dat")
os.rename("text2.dat","account2.dat")
yield n
except IOError:
print ("I/O error occured")
"""***********************************************************************
******
FUNCTION TO WRITE RECORD IN BINARY FILE
23
BANK MANAGEMENT SYSTEM
**************************************************************************
***"""
def write_account():
try:
ac=account()
outFile=open("account.dat","ab")
ch=gen_acno()
ac.acno=ch.next()
ac.create_account()
pickle.dump(ac,outFile)
outFile.close()
print ("\n\n Account Created Successfully")
print ("\n\n YOUR ACCOUNT NUMBER IS: ",ac.retacno())
except:
pass
"""***********************************************************************
******
FUNCTION TO DISPLAY ACCOUNT DETAILS GIVEN BY USER
**************************************************************************
***"""
def display_sp(n):
flag=0
try:
inFile=open("account.dat","rb")
print ("\nBALANCE DETAILS\n")
while True:
ac=pickle.load(inFile)
if ac.retacno()==n:
ac.show_account()
flag=1
except EOFError:
inFile.close
if flag==0:
print ("\n\nAccount number not exist")
except IOError:
print ("File could not be open !! Press any Key...")
"""***********************************************************************
******
FUNCTION TO MODIFY RECORD OF FILE
**************************************************************************
***"""
def modify_account(n):
found=0
try:
24
BANK MANAGEMENT SYSTEM
inFile=open("account.dat","rb")
outFile=open("temp.dat","wb")
while True:
ac=pickle.load(inFile)
if ac.retacno()==n:
print (30*"-")
ac.show_account()
print (30*"-")
print ("\n\nEnter The New Details of Account")
ac.modify()
pickle.dump(ac,outFile)
print ("\n\n\tRecord Updated")
found=1
else:
pickle.dump(ac,outFile)
except EOFError:
inFile.close()
outFile.close()
if found==0:
print( "\n\nRecord Not Found ")
except IOError:
print ("File could not be open !! Press any Key...")
os.remove("account.dat")
os.rename("temp.dat","account.dat")
"""***********************************************************************
******
FUNCTION TO DELETE RECORD OF FILE
**************************************************************************
***"""
def delete_account(n):
found=0
try:
inFile=open("account.dat","rb")
outFile=open("temp.dat","wb")
while True:
ac=pickle.load(inFile)
if ac.retacno()==n:
found=1
print ("\n\n\tRecord Deleted ..")
else:
pickle.dump(ac,outFile)
except EOFError:
inFile.close()
outFile.close()
if found==0:
print ("\n\nRecord Not Found")
25
BANK MANAGEMENT SYSTEM
except IOError:
print ("File could not be open !! Press any Key...")
os.remove("account.dat")
os.rename("temp.dat","account.dat")
"""***********************************************************************
******
FUNCTION TO DISPLAY ALL ACCOUNT DETAILS
**************************************************************************
***"""
def display_all():
print ("\n\n\tACCOUNT HOLDER LIST\n\n")
print (60*"=")
print ("%-10s"%"A/C No.","%-20s"%"Name","%-10s"%"Type","%-
6s"%"Balance")
print (60*"=","\n")
try:
inFile=open("account.dat","rb")
while True:
ac=pickle.load(inFile)
ac.report()
except EOFError:
inFile.close()
except IOError:
print ("File could not be open !! Press any Key...")
"""***********************************************************************
******
FUNCTION TO DEPOSIT/WITHDRAW AMOUNT FOR GIVEN ACCOUNT
**************************************************************************
***"""
def deposit_withdraw(n,option):
found=0
try:
inFile=open("account.dat","rb")
outFile=open("temp.dat","wb")
while True:
ac=pickle.load(inFile)
if ac.retacno()==n:
ac.show_account()
if option==1:
26
BANK MANAGEMENT SYSTEM
else:
ac.draw(amt)
pickle.dump(ac,outFile)
found=1
print ("\n\n\tRecord Updated")
else:
pickle.dump(ac,outFile)
except EOFError:
inFile.close()
outFile.close()
if found==0:
print ("\n\nRecord Not Found")
except IOError:
print ("File could not be open !! Press any Key...")
os.remove("account.dat")
os.rename("temp.dat","account.dat")
"""***********************************************************************
******
INTRODUCTORY FUNCTION
**************************************************************************
***"""
def intro():
print ("\n\n\tBANK")
print ("\n\tMANAGEMENT")
print ("\n\n\nMADE BY : Enter your name")
print ("\nSCHOOL : Enter your school name")
"""***********************************************************************
******
THE MAIN FUNCTION OF PROGRAM
**************************************************************************
***"""
intro()
while True:
27
BANK MANAGEMENT SYSTEM
print (3*"\n",60*"=")
print ("""MAIN MENU
1. New Account
2. Deposit Amount
3. Withdraw Amount
4. Balance Enquiry
5. All Account Holder List
6. Close An Account
7. Modify An Account
8. Exit
""")
try:
ch=input("Enter Your Choice(1~8): ")
if ch==1:
write_account()
elif ch==2:
num=input("\n\nEnter Account Number: ")
deposit_withdraw(num,1)
elif ch==3:
num=input("\n\nEnter Account Number: ")
deposit_withdraw(num,2)
elif ch==4:
num=input("\n\nEnter Account Number: ")
display_sp(num)
elif ch==5:
display_all()
elif ch==6:
num=input("\n\nEnter Account Number: ")
delete_account(num)
elif ch==7:
num=input("\n\nEnter Account Number: ")
modify_account(num)
elif ch==8:
break
else:
print ("Input correcr choice...(1-8)")
except NameError:
print ("Input correct choice...(1-8)")
28
BANK MANAGEMENT SYSTEM
"""***********************************************************************
******
END OF PROJECT
**************************************************************************
***"""
29
BANK MANAGEMENT SYSTEM
30
BANK MANAGEMENT SYSTEM
31
BANK MANAGEMENT SYSTEM
32
BANK MANAGEMENT SYSTEM
33
BANK MANAGEMENT SYSTEM
7. User Manual
34
BANK MANAGEMENT SYSTEM
Hardware Requirement-
Intel Pentium/Celeron or similar processor based PC at Client/Server end.
128 MB RAM and 4GB HDD space (for Database) is desirable.
Standard I/O devices like Keyboard and Mouse etc.
Printer is needed for hard-copy reports.
Local Area Network(LAN) is required for Client-Server Installation
Software Requirement-
Windows 2000/XP OS is desirable.
NetBeans Ver 5.1 or higher should be installed with JDK and JVM.
MySQL Ver 6.1 with Library Database must be present at machine.
Database Installation-
The software project is distributed with a backup copy of a Database named class12
with required tables. Some dummy records are present in the tables for testing
purposes, which can be deleted before inserting real data. The project is shipped with
manav.SQL file which installs a database and tables in the computer system.
Note: The PC must have MySQL server with user (root) and password (h) . If root
password is any other password, it can be changed by running MySQL Server Instance
Configure Wizard.
Start Program MySQL MySQL Server MySQL Server Instance Config Wizard
Provide current password of root and new password as “h” , this will change the root
password.
To install a MySQL database from a dump file (ais.sql) , simply follow the following
steps.
35
BANK MANAGEMENT SYSTEM
8.References
36
BANK MANAGEMENT SYSTEM
In order to work on this project titled – BANK MANAGEMENT SYSTEM, the following
books and literature are referred by me during the various phases of development of
the project:
-by Shildit
– Gruber
(3) http://www.mysql.org/
(4) http://www.python.org/
Other than the above-mentioned books, the suggestions and supervision of my teacher
and my classmates also helped me to develop this software project.
37