You are on page 1of 18

Dinesh Kumar Ram, (PGT Computer Science), KV HINOO 1st SHIFT RANCHI

KENDRIYA VIDYALAYA HINOO 1st shift

[ Hinoo, Ranchi ]
A Project Report
On

[ Banking Management System ]

For

AISSCE 2024 Examination


As a part of the Computer Science Course (083)
SUBMITTED BY:
[ Mohammad Faishal Alam ]

Under the Guidance of:


MR [ Dinesh Kumar Ram ]
[CERTIFICATE]

This is to certify that the Project entitled Banking Management system


is a bonafide work done by Mohammad Faishal Alam of class XI-
B Session 2023-24 in partial fulfilment of
CBSE’s AISSCE Examination 2024 and has been carried out under my direct
supervision and guidance.
This report or a similar report on the topic has not been submitted
for any other examination and does not form a part of any other
course undergone by the candidate.

Signature of Teacher/Guide Signature of Principal

Ms. Salomi Toppo


Name: Dinesh Kumar Ram
.
Designation.:PGT(Computer Sc.)

Signature of External Examiner

Name: ………………….

Examiner no:……………….

Date:…………….
Contents
1. Introduction
2. Process
3. System requirements
4. Source code
5. References
INTRODUCTION
The provided Python program is a simple Bank Management
System. It allows users to perform various operations such as
creating a new account, depositing and withdrawing amounts,
checking the balance, displaying all account holders, closing an
account, modifying an account, and exiting the system
Here’s a brief overview of the functionalities

1. Creating a New Account: Users can input details to create a


new account.

2. Deposit Amount : Users can deposit a specified amount into


their account.

3.Withdraw Amount: Users can withdraw a specified


amount from their account.

4. Balance Enquiry : Users can check the balance of their


account.
5. All Account Holder List: Displays a list of all account
holders.
6. Close an Account: Users can close an existing account.

7. Modify an Account :User can modify the details of an


existing account

8. Exit : Exits the Bank Management system


.
This is the total system of banking:

Home page

ER Diagram of Bank Management System:


This bank ER diagram illustrates key information about bank, including entities
such as branches, customers, accounts, and loans. It allows us to understand the
relationships between entities.
NEW ACCOUNT: This is how the customers are created with a bank account:

create new account

UPDATATION: This is how a edit account details:

for update the details

BALANCE ENQUIRY: Reads the balance of a particular customer:

check the balance


Process
FIRSTLY, we have done the planning in paperwork
Regarding what to do on the assigned project Bank
management system
SECONDLY, we discussed our planning with our subject Teacher
and then he provided us the right path to perform the work.
NEXT, we started our project on foot paths of our subject
Teacher.
THEN, we started our coding, coding took around 2 and Half
months for completion.
NEXT, we analysed the mistakes done and then we corrected
them.
.
d
System Requirements of the Project

Recommended System Requirements


Processors: 12th Gen Intel(R) Core(TM) i3-12100 3.30

GHz Disk space: 2 to 4 GB.

Operating systems: Windows® 10, MACOS, and UBUNTU.


Python Versions: 3.X.X or Higher.
Minimum System Requirements
Processors: Intel Atom® processor or Intel® Core™ i3 Processor.
Disk space: 1 GB.
Operating systems: Windows 7 or later, MACOS, and UBUNTU.
Python Versions: 2.7.X, 3.6.X.

Source code

Import pickle
Import os

Import pathlib

Class Account :

accNo = 0
name = ‘’
deposit=0

type = ‘’

~Logic to create an account:


def createAccount(self):
self.accNo= int(input(“Enter the account no : “))
self.name = input(“Enter the account holder name : “)
self.type = input(“Ente the type of account [C/S] : “)

self.deposit = int(input(“Enter The Initial amount(>=500 for Saving


and >=1000 for current”))

print(“\n\n\nAccount Created”)

~Logic to show account:


def showAccount(self):

print(“Account Number : “,self.accNo)


print(“Account Holder Name : “, self.name)
print(“Type of Account”,self.type)
print(“Balance : “,self.deposit)

def modifyAccount(self):
print(“Account Number : “,self.accNo)
self.name = input(“Modify Account Holder Name :”)
self.type = input(“Modifytype of Account :”)
self.deposit = int(input(“Modify Balance :”))

~Logic to deposit the amount:


def depositAmount(self,amount):
self.deposit += amount

~Logic to withdraw Amounts:


def withdrawAmount(self,amount):
self.deposit -= amount

def report(self):
print(self.accNo, “ “,self.name ,” “,self.type,” “, self.deposit)

def getAccountNo(self):
return self.accNo def
getAcccountHolderName(self):

return self.name def


getAccountType(self):

return self.type
def getDeposit(self):
return self.deposit
def intro():
print(“\t\t\t\t**********************”)
print(“\t\t\t\tBANK MANAGEMENT SYSTEM”)
print(“\t\t\t\t**********************”)

input(“Press Enter To Contiune: “)

def writeAccount():
account = Account()
account.createAccount()
writeAccountsFile(account)

def displayAll():
file = pathlib.Path(“accounts.data”)
if file.exists ():

infile = open(‘accounts.data’,’rb’)
mylist = pickle.load(infile)

for item in mylist :


print(item.accNo,” “, item.name, “ “,item.type, “ “,item.deposit )
infile.close() else :
print(“No records to display”)

~Function to display SP:


def displaySp(num):
file = pathlib.Path(“accounts.data”)
if file.exists ():

infile = open(‘accounts.data’,’rb’)
mylist = pickle.load(infile)
infile.close() found = False
for item in mylist : if
item.accNo == num :

print(“Your account Balance is = “,item.deposit)


found = True else :

print(“No records to Search”)


if not found :

print(“No existing record with this number”)

~Function to deposit and withdraw:

def depositAndWithdraw(num1,num2):
file = pathlib.Path(“accounts.data”)
if file.exists ():
infile = open(‘accounts.data’,’rb’)
mylist = pickle.load(infile)
infile.close()

os.remove(‘accounts.data’)
for item in mylist :

if item.accNo == num1 :
if num2 == 1 :
amount = int(input(“Enter the amount to deposit : “))
item.deposit += amount print(“Your account is
updted”) elif num2 == 2 :

amount = int(input(“Enter the amount to withdraw : “))


if amount <= item.deposit : item.deposit -=amount
else :

print(“You cannot withdraw larger amount”)

else :

print(“No records to Search”)


outfile = open(‘newaccounts.data’,’wb’)

pickle.dump(mylist, outfile)
outfile.close()
os.rename(‘newaccounts.data’,
‘accounts.data’)

~Function to delete the account:


def deleteAccount(num):
file = pathlib.Path(“accounts.data”)
if file.exists ():

infile = open(‘accounts.data’,’rb’)
oldlist = pickle.load(infile) infile.close()
newlist = [] for item in oldlist : if
item.accNo != num :
newlist.append(item)
os.remove(‘accounts.data’) outfile =
open(‘newaccounts.data’,’wb’)
pickle.dump(newlist, outfile)
outfile.close()

os.rename(‘newaccounts.data’, ‘accounts.data’)

~Function to modify the account:


def modifyAccount(num):

file = pathlib.Path(“accounts.data”)

if file.exists ():
infile = open(‘accounts.data’,’rb’)
oldlist = pickle.load(infile)
infile.close()

os.remove(‘accounts.data’)
for item in oldlist : if
item.accNo == num :

item.name = input(“Enter the account holder name : “)


item.type = input(“Enter the account Type : “)
item.deposit = int(input(“Enter the Amount : “))

outfile = open(‘newaccounts.data’,’wb’)
pickle.dump(oldlist, outfile)
outfile.close()

os.rename(‘newaccounts.data’, ‘accounts.data’)

~Function to write account files:


def writeAccountsFile(account) :

file = pathlib.Path(“accounts.data”)
if file.exists ():

infile = open(‘accounts.data’,’rb’)
oldlist = pickle.load(infile)
oldlist.append(account) infile.close()
os.remove(‘accounts.data’) else :

oldlist = [account]
outfile = open(‘newaccounts.data’,’wb’)
pickle.dump(oldlist, outfile) outfile.close()

os.rename(‘newaccounts.data’, ‘accounts.data’)

# start of the program


Ch=’’
Num=0
Intro()

While ch != 8:
#system(“cls”);
Print(“\tMAIN MENU”)
Print(“\t1. NEW ACCOUNT”)
Print(“\t2. DEPOSIT AMOUNT”)
Print(“\t3. WITHDRAW AMOUNT”)
Print(“\t4. BALANCE ENQUIRY”)
Print(“\t5. ALL ACCOUNT HOLDER LIST”)
Print(“\t6. CLOSE AN ACCOUNT”)
Print(“\t7. MODIFY AN ACCOUNT”)
Print(“\t8. EXIT”)
Print(“\tSelect Your Option (1-8) “)
Ch = input()
#system(“cls”);

If ch == ‘1’:
writeAccount()
elif ch ==’2’:

num = int(input(“\tEnter The account No. : “))


depositAndWithdraw(num, 1) elif ch == ‘3’:

num = int(input(“\tEnter The account No. : “))


depositAndWithdraw(num, 2) elif ch == ‘4’:

num = int(input(“\tEnter The account No. : “))


displaySp(num) elif ch == ‘5’: displayAll();
elif ch == ‘6’:
num =int(input(“\tEnter The account No. : “))
deleteAccount(num) elif ch == ‘7’:

num = int(input(“\tEnter The account No. : “))


modifyAccount(num) elif ch == ‘8’:

print(“\tThanks for using bank managemnt system”)


break else :

print(“Invalid choice”)
ch = input(“Enter your choice : “)

References

1. Python.org
2. Code Academy
3. PythonChallenge.com
4. Google’s Python Class
5. LearnPython.org
6. Layak.in
7. wikipidea

You might also like