0% found this document useful (0 votes)
83 views

Libgith

This JSON document describes a Python program for a library management system. The program defines classes for books and students, and allows creating, modifying, deleting records as well as issuing and returning books.

Uploaded by

Vikky Nangare
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
83 views

Libgith

This JSON document describes a Python program for a library management system. The program defines classes for books and students, and allows creating, modifying, deleting records as well as issuing and returning books.

Uploaded by

Vikky Nangare
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 21

from pickle import load,dump

from os import remove,rename

import os

import random

import time

print

print

print

print

print

print "\t \t \t WELCOME TO A & A LIBRARY \t \t \t"

print

print

print

print

print

print

print "\t \t \t \t \t \t \t PROJECT DONE BY:"

print

print

print "\t \t \t \t \t \t \......... "

print

print "\t \t \t \t \t \t \t……….. "

print

print

a=raw_input("PRESS ENTER TO CONTINUE:")

1
a=str(a)

if a.isalpha():

pass

class book:

def __init__(self,bno=" ",bname=" ",auname=" "):

self.bno=bno

self.bname=bname

self.auname=auname

def create_book(self):

print

print "\t\t\t Creating Book Record \t\t\t"

print

self.bno=raw_input("\t Enter Book Number:")

print

self.bname=raw_input("\t Enter Name of the Book:")

print

self.auname=raw_input("\t Enter Name of the Author:")

print

print

print "\t \t \t Book Created \t \t \t"

def show_book(self):

print

print

print "\t \t Book Number:",self.bno

print

print "\t \t Book Name:",self.bname

2
print

print "\t \t Author Name:",self.auname

print

print

def modify_book(self):

print

print

print "\t \t Book No.: ",self.bno

print

self.bname=raw_input("\t \t Enter New Book Name:")

print

self.auname=raw_input("\t \t Enter New Author Name:")

print

print

print "\t \t Book Modified"

print

def ret_bno(self):

return (self.bno)

def report_book(self):

print self.bno,self.bname,self.auname

class student:

def __init__(self,admno=" ",name=" ",stbno=" ",token=0):

self.admno=admno

self.name=name

self.stbno=stbno

self.token=token

def createstud(self):

3
print

print "\t \t \t Creating Student Record \t \t \t"

print

self.admno=raw_input("\t \t Enter Admission Number:")

print

self.name=raw_input("\t \t Enter Name of the Student:")

self.stbno=" "

self.token=0

print

print

print "\t \t \t Student Record Created \t \t \t"

print

print "#"*70

print

def showstud(self):

print

print

print "\t Admission No.:",self.admno

print

print "\t Name:",self.name

print

print "\t Stbno:",self.stbno

print

print

def displaystud(self):

print

print ("\t Admission Number of the Student is:",self.admno)

4
print

print ("\t Name of the Student is:",self.name)

if (self.token==1):

print "\t Book Number is:",self.stbno

def modifystud(self):

print

print "\t Admission No:",self.admno

print

self.name=raw_input("\t New Student Name:")

print

print "\t \t Student's Name Modified !!"

def ret_admno(self):

return self.admno

def ret_stbno(self):

return self.stbno

def ret_token(self):

return self.token

def add_token(self):

self.token=1

def reset_token(self):

self.token=0

def get_stbno(self,t):

self.stbno=t

def reportstud(self):

print self.admno, self.name, self.token

def writebook():

5
ch="Y"

fp=open("book1.dat","ab")

while ch=="Y":

bk.create_book()

dump(bk,fp)

print

ch=raw_input("\t \t Do You Want to Continue<y/n>:")

print

print "#"*70

print

ch=ch.upper()

def writestudent():

ch="Y"

fp=open("student1.dat","ab")

while ch=="Y":

st.createstud()

dump(st,fp)

ch=raw_input("\t \t Do You Want to Continue <y/n>:")

ch=ch.upper()

print

display_alls():

fin=open("student1.dat","rb")

if not (fin):

print "\t \t File is Not Found.."

else:

try:

while True:

6
print

st=load(fin)

st.showstud()

except EOFError:

pass

fin.close()

def display_allb():

fin=open("book1.dat","rb")

if not (fin):

print

print

print "Book File is Not Found.."

else:

try:

while True:

bk=load(fin)

bk.show_book()

except EOFError:

pass

fin.close()

def display_spb(no):
flag=0

fin=open("book1.dat","rb")

try:

while True:

bk=load(fin)

if(bk.ret_bno()==no):

7
bk.show_book()

flag=1

except EOFError:

pass

fin.close()

if flag==0:

print

print

print "\t \t \t \t BOOK NOT PRESENT..!!"

def display_sps(n):

flag=0

fin=open("student1.dat","rb")

try:

while True:

st=load(fin)

if(st.ret_admno()==n):

st.showstud()

flag=1

except EOFError:

pass

fin.close()

if flag==0:

print

print "\t \t \t STUDENT NOT PRESENT..!!"

def modify_bookrecord():

found=0

8
print

print

print "\t \t \t Modify Book"

print

print

n=raw_input("\t \t Enter Book Number to be Modified:")

print

fin=open("book1.dat","rb")

fout=open("temp.dat","wb")

try:

while True:

bk=load(fin)

if bk.ret_bno()==n:

print

print "\t \t \t Book Details"

bk.show_book()

print

print"\t \t Enter New Details"

print

print

bk.modify_book()

dump(bk,fout)

found=1

else:

dump(bk,fout)

except EOFError:

pass

9
if found==0:

print "\t \t \t \t Book Not Present"

fin.close()

fout.close()

remove("book1.dat")

rename("temp.dat","book1.dat")

def modify_student_record():

found=0

print

print "\t \t \t Modify Student Record"

print

print

n=raw_input("\t \t Enter Student's Admission Number to be Modified:")

print

fin=open("student1.dat","rb")

fout=open("temp.dat","wb")

try:

while True:

st=load(fin)

if st.ret_admno()==n:

print

print "\t \t \t STUDENT DETAILS"

st.showstud()

print

print "\t \t \t Enter New Student Details:"

st.modifystud()

dump(st,fout)

10
found=1

else:

dump(st,fout)

except EOFError:

pass

if found==0:

print "\t \t \t \t STUDENT NOT PRESENT"

fin.close()

fout.close()

remove("student1.dat")

rename("temp.dat","student1.dat")

def del_stud():

flag=0

print

print

n=raw_input("\t \t Enter Admission to be Deleted:")

print

fin=open("student1.dat","rb")

fout=open("temp.dat","wb")

try:

while True:

st=load(fin)

if st.ret_admno()<>n:

dump(st,fout)

else:

flag=1

except EOFError:

11
pass

fin.close()

fout.close()

remove("student1.dat")

rename("temp.dat","student1.dat")

if flag==1:

print

print "\t \t \t \t RECORD DELETED..!!"

else:

print

print "\t \t \t \t SORYY..!! RECORD DOES NOT EXIST..!!.."

def del_book():

flag=0

print

print

n=raw_input("\t \t Enter Book No to be Deleted:")

print

fin=open("book1.dat","rb")

fout=open("temp.dat","wb")

try:

while True:

bk=load(fin)

if bk.ret_bno()<>n:

dump(bk,fout)

else:

flag=1

12
except EOFError:

pass

fin.close()

fout.close()

remove("book1.dat")

rename("temp.dat","book1.dat")

if flag==1:

print "\t \t \t Record Deleted"

else:

print "\t \t \t SORRY..!! RECORD NOT PRESENT.."

def book_issue():

sn=" "

bn=" "

found=0

flag=0

print

print

print "\t \t \t BOOK ISSUE.. \t \t \t"

print

print

sn=raw_input("\t \t Enter the Student's Admission Number:")

print

fin1=open("book1.dat","rb")

fin2=open("student1.dat","rb")

fout=open("temp.dat","wb")

try:

while True:

13
st=load(fin2)

if (st.ret_admno()==sn):

st.showstud()

found=1

if st.ret_token()==0:

bn=raw_input("\t \t Enter Book Number:")

try:

while True:

bk=load(fin1)

if bk.ret_bno()==bn:

bk.show_book()

flag=1

st.add_token()

st.get_stbno(bk.ret_bno())

dump(st,fout)

os.system("cls")

print

print

print "\t \t \t Book Issued Successfully \t \t \t"

print

print "\t PLEASE NOTE : Write the current date in backside of


your book "

print "\t \t and submit within 15 days"

print

print "\t \t Fine Rs.20 for each day after 15 days period..!!"

print

14
except EOFError:

pass

else:

print"\t You have not returned the last book.."

except EOFError:

pass

if(flag==0):

print "\t \t \t No Such Book Present !!!"

if(found==0):

print "\t \t \t No Such Student Exists !!!"

fin1.close()

fin2.close()

fout.close()

remove("student1.dat")

rename("temp.dat","student1.dat")

def book_deposit():

print

print

print

print "\t \t \t BOOK DEPOSITING."

sn=" "

found=0

flag=0

day=0

fine=0

15
print

print

sn=raw_input("\t \t Enter Students Admission Number:")

print

fin1=open("student1.dat","rb")

fin2=open("book1.dat","rb")

fout=open("temp.dat","wb")

try:

while True:

st=load(fin1)

if st.ret_admno()==sn:

found=1

print

print "\t Student Token Number",st.ret_token()

if st.ret_token()==1:

try:

while True:

bk=load(fin2)

if bk.ret_bno()==st.ret_stbno():

bk.show_book()

flag=1

print

days=int(raw_input("\t Book Deposited In no. of days:"))

if days>=15:

fine=(days-15)*20

print

print "\t Fine : Rs.",fine

16
st.reset_token()

st.get_stbno(0)

st.showstud()

dump(st,fout)

print

print "\t \t BOOK DEPOSITED !!!"

except EOFError:

pass

else:

print

print"\t \t You have not issued the book.."

except EOFError:

pass

if(found==0):

print

print"\t No Such Student Exists"

fin1.close()

fin2.close()

fout.close()

remove("student1.dat")

rename("temp.dat","student1.dat")

bk=book()

17
st=student()

def adminmenu():

ch="Y"

while ch=="Y":

print

print

print "\t \t \t ADMINISTRATION MENU \t \t \t"

print

print

print "\t 1. CREATE STUDENT RECORD"

print

print "\t 2. DISPLAY ALL STUDENTS RECORD"

print

print "\t 3. DISPLAY SPECIFIC STUDENT RECORD"

print

print "\t 4. MODIFY STUDENT RECORD"

print

print "\t 5. DELETE STUDENT RECORD"

print

print "\t 6. CREATE BOOK"

print

print "\t 7. DISPLAY ALL BOOKS"

print

print "\t 8. DISPLAY SPECIFIC BOOK"

print

print "\t 9. MODIFY BOOK"

print

18
print "\t 10.DELETE BOOK RECORD"

print

ch1=int(raw_input("\t \t Enter Your Choice:"))

print

os.system("cls")

if ch1==1:

writestudent()

elif ch1==2:

display_alls()

elif ch1==3:

print

print

ad=raw_input("\t \t Enter Student's Admno to be Displayed:")

display_sps(ad)

elif ch1==4:

modify_student_record()

elif ch1==5:

del_stud()

elif ch1==6:

writebook()

elif ch1==7:

display_allb()

elif ch1==8:

print

print

bn=raw_input("\t \t ENTER BOOK NUMBER TO BE DISPLAYED:")

display_spb(bn)

19
elif ch1==9:

modify_bookrecord()

elif ch1==10:

del_book()

print

ch=raw_input("\t \t Do you want Continue with ADMINMENU<y/n>:")

ch=ch.upper()

print

os.system("cls")

if ch=="Y":

continue

else:

mainmenu()

def mainmenu():

ch="Y"

while ch=="Y":

print

print

print "\t \t \t MAIN MENU \t \t \t"

print

print "\t 1. BOOK ISSUE"

print

print "\t 2. BOOK DEPOSIT"

print

print "\t 3. ADMINISTRATION MENU"

print

print "\t 4. EXIT"

20
print

ch1=int(raw_input("\t \t Enter Your Choice:"))

print

print "\t \t Loading ...."

time.sleep(5)

os.system("cls")

if ch1==1:

book_issue()

elif ch1==2:

book_deposit()

elif ch1==3:

adminmenu()

else:

exit(0)

print

ch=raw_input("\t \t \t Do You Want to Continue <y/n>:")

ch=ch.upper()

if ch=="N":

break

print

print

print "\t \t Loading..."

time.sleep(30)

os.system("cls")

os.system("cls")

mainmenu()

21

You might also like