Complete Railway Reservation System
Complete Railway Reservation System
import pickle
import time
import random
import os
#_______________________CLASS
TICKETS_________________
class Tickets:
def __init__(self):
self.no_ofac1stclass = 0
self.no_ofac2ndclass = 0
self.no_ofac3rdclass = 0
self.no_ofsleeper = 0
self.no_oftickets = 0
self.name = ''
self.age = ''
self.resno = 0
self.status = ''
self.totaf = 0
def ret(self):
return self.resno
# Returns Name
def retname(self):
return self.name
def display(self):
f=0
try:
time.sleep(1)
os.system('cls')
while True:
tick = pickle.load(fin1)
if n == tick.ret():
f=1
print("=" * 80)
print("PNR STATUS".center(80))
print("=" * 80)
print("STATUS:", tick.status)
break
except EOFError:
pass
except FileNotFoundError:
if f == 0:
# Pending Status
def pending(self):
print("STATUS:", self.status)
# Confirmed Status
def confirmation(self):
self.status = "CONFIRMED"
print("STATUS:", self.status)
# Ticket Cancellation
def cancellation(self):
f=0
try:
while True:
tick = pickle.load(fin)
if tick.ret() != r:
pickle.dump(tick, fout)
else:
f=1
except EOFError:
pass
except FileNotFoundError:
os.remove("tickets.dat")
os.rename("temp.dat", "tickets.dat")
if f == 0:
else:
print("TICKET CANCELLED")
# Ticket Reservation
def reservation(self):
try:
while True:
tr = pickle.load(fin2)
if trainno == tr.gettrainno():
amt1 = 0
if choice == 1:
elif choice == 2:
elif choice == 3:
elif choice == 4:
self.confirmation()
pickle.dump(self, fout)
break
except EOFError:
except FileNotFoundError:
#____________________CLASS
TRAIN_________________
class Train:
def __init__(self):
self.trainno = 0
self.trainname = ''
self.no_ofac1stclass = 0
self.no_ofac2ndclass = 0
self.no_ofac3rdclass = 0
self.no_ofsleeper = 0
self.startingpt = ""
self.destination = ""
def getinput(self):
def output(self):
# Getter Methods
def gettrainname(self):
return self.trainname
def gettrainno(self):
return self.trainno
# Main Menu
def menu():
tr = Train()
tick = Tickets()
while True:
print("6. QUIT")
if choice == 1:
if password == "*****":
tr.getinput()
pickle.dump(tr, fout)
else:
print("WRONG PASSWORD")
elif choice == 2:
try:
while True:
tr = pickle.load(fin)
tr.output()
except EOFError:
pass
except FileNotFoundError:
elif choice == 3:
tick.reservation()
elif choice == 4:
tick.cancellation()
elif choice == 5:
tick.display()
elif choice == 6:
break
else:
print("INVALID CHOICE!")
menu()