0% found this document useful (0 votes)
43 views16 pages

Import LAVI

The code defines a class called Account that allows for creating bank accounts with attributes like account number, name, type, and deposit amount. It includes functions for creating, modifying, depositing, withdrawing from, and searching accounts that are stored in a data file using pickle. The main menu then runs a loop prompting the user to select an option like creating a new account, checking the balance, or listing all accounts.

Uploaded by

jnv9011
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views16 pages

Import LAVI

The code defines a class called Account that allows for creating bank accounts with attributes like account number, name, type, and deposit amount. It includes functions for creating, modifying, depositing, withdrawing from, and searching accounts that are stored in a data file using pickle. The main menu then runs a loop prompting the user to select an option like creating a new account, checking the balance, or listing all accounts.

Uploaded by

jnv9011
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 16

SOURCE CODE

import pickle

import os

import pathlib

class Account :

accNo = 0

name = ''

deposit=0

type = ''

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

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("Modify type of Account :")

self.deposit = int(input("Modify Balance :"))

def depositAmount(self,amount):

self.deposit += amount

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


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

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')

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')

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')

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 : ")


OUTPUT
**********************

BANK MANAGEMENT SYSTEM

**********************

Press Enter To Contiune:

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

Select Your Option (1-8)

Enter the account no : 3757096358

Enter the account holder name : LAVI SAHU

Ente the type of account [C/S] : C

Enter The Initial amount(>=500 for Saving and >=1000 for current1000

Account Created

Enter your choice : 2

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

Select Your Option (1-8)

Enter The account No. : 3757096358

Enter the amount to deposit : 5000

Your account is updted

Enter your choice : 4

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

Select Your Option (1-8)

Enter The account No. : 3757096358


Your account Balance is = 6000

Enter your choice : 3

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

Select Your Option (1-8)

Enter The account No. : 3757096358

Enter the amount to withdraw : 2500

Enter your choice :

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

Select Your Option (1-8)


4

Enter The account No. : 3757096358

Your account Balance is = 3500

Enter your choice :

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

Select Your Option (1-8)

3636363636 sahil raj s 360636

3757096358 LAVI SAHU C 3500

Enter your choice :

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

Select Your Option (1-8)

Enter The account No. : 3757096358

Enter your choice :

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

Select Your Option (1-8)

3636363636 sahil raj s 360636

Enter your choice :

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

Select Your Option (1-8)

Enter The account No. : 3636363636

Enter the account holder name : LAVI SAHU

Enter the account Type : C

Enter the Amount : 360000

Enter your choice :

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

Select Your Option (1-8)

3636363636 LAVI SAHU C 360000

Enter your choice :

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

Select Your Option (1-8)

Thanks for using bank managemnt system

You might also like