45% found this document useful (69 votes)
8K views41 pages

Railway Reservation System Project

python reservation code best code you will ever find. just give a good comment if you really like.....

Uploaded by

Diivesh
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
45% found this document useful (69 votes)
8K views41 pages

Railway Reservation System Project

python reservation code best code you will ever find. just give a good comment if you really like.....

Uploaded by

Diivesh
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
  • Bibliography
  • Introduction
  • Algorithm
  • Source Code
  • Output Screen shots

GURU SHREE SHANTIVIJAI JAIN

VIDYALAYA
Affiliated to the Central Board Of Secondary Education,Delhi
96,Vepery High Road,Vepery
[Link] 25322541

Website:[Link]

ROLL NO:
12104
ALL INDIA SENIOR SCHOOL CERTIFICATE
EXAMINATION

2016-2017
DEPARTMENT OF COMPUTER SCIENCE

GURU SHREE SHANTIVIAJAI JAIN


VIDYALAYA
(Affiliated to the Central Board of Secondary Education,Delhi)
96,Vepery High Road,Vepery,[Link]

DEPARTMENT OF COMPUTER SCIENCE


This is to certify that....of class has performed. During
the year 2015-2016 at the school laboratory and that his/her project report is
certified as bonafied. His/Her examination roll no is.
Chennai -600007
Date.

Head of Department
Computer Science

Submitted for the All India Senior Secondary School Certificate Examination
2015-2016 in Computer Science at Guru Shree Shantivijai Jain
VIdyalaya,Chennai-7
On
Practical Examinner-1

Practical Examiner 2

Date
Signature of Principal

COMPUTER
SCIENCE
PROJECT
ON
RAILWAY
RESERVATION
DONE BY:
[Link]

TABLE OF CONTENT
SNO

TOPIC

1.

Introduction

2.

Algorithm

3.

Source Code

4.

Output Screen
shots

5.

Biblography

PG NO

INTRODUCTION
T h i s p r o j e c t i n t r o d u c e s r a i l w a y r e s e r v a t i o n sy ste m .
It
explains
how
reserva tion
is
being d o n e i n I n d i a n R a i l w a y s . T h e s t e p b y s t
epprocedure is explained . This project is
developed in c ++ language . Allmost all
t h e h e a d e r f i l e s h a v e b e e n u s e d i n t h i s p r o j e c t . Proper
comments
have
been
given
at
desiredl o c a t i o n s t o m a k e t h e p r o j e c t u s e r f r i e n d l y . Var
ious functions and structures are used tomake a complete use of this lan
[Link]
project
isw e l l v e r s e d w i t h t h e p r o g r a m m i n g . R a i l w a y reserva
tion can easily accompanied with thehelp of this.

ALGORITHM
CLASS NAME- tickets
DATA MEMBERS- [Link] 1st class,[Link] 2nd class,[Link] 3rd
class,[Link] sleeper,[Link] tickets,name,age,resno,status
MEMBER FUNCTIONSret,retname,display,pending,confirmation,cancellation,reservation
OBJECT- tick
MEMBER FUNCTIONS
FUNCTION NAME- create_book()
PARAMETERS- nil
RETURN TYPE-nil
TASK-Allows the user to reads the values of book number , book
name and author name and create an book record
FUNCTION NAME- ret()
PARAMETERS- nil
RETURN TYPE- integer
TASK- returning reservation number

FUNCTION NAME- retname()


PARAMETERS- nil
RETURN TYPE- string
TASK- returns the name
FUNCTION NAME- display()
PARAMETERS- nil
RETURN TYPE- nil
TASK- print passanger name,age,pnr no.,status,[Link] seats booked
FUNCTION NAME- pending()
PARAMETERS- nil
RETURN TYPE- nil
TASK-prints the pnr status
FUNCTION NAME- confirmation()
PARAMETERS- nil
RETURN TYPE- nil
TASK-prints the seat confirmation
FUNCTION NAME- cancellation()
PARAMETERS- nil
RETURN TYPE- nil
TASK-cancels the seat with pnr no.

FUNCTION NAME-reservation()
PARAMETERS- nil
RETURN TYPE- nil
TASK-reserves the seat in particular class and prints the amount to be
paid and says whether it is confirm or waiting.
CLASS NAME- train()
DATA MEMBERS- [Link] 1st class,[Link] 2nd class,[Link] 3rd
class,[Link] sleeper,total seats,trainname,starting point,destinationpoint
MEMBER FUNCTIONS- Getinput,output,gettrain
name,gettrainno,[Link] ac class,[Link] 1st class,get [Link] 2nd
class,get [Link] 3rd class,getstartingpoint,getdestination
OBJECT- tr
MEMBER FUNCTIONS
FUNCTION NAME- getinput()
PARAMETERS- nil
RETURN TYPE-nil
TASK-alows user to enter the train in which he want to travel and
which class.
FUNCTION NAME- output()
PARAMETERS- nil
RETURN TYPE- nil
TASK- enters the information entered by user
FUNCTION NAME- gettrainname()

PARAMETERS- nil
RETURN TYPE- string
TASK- returns train name
FUNCTION NAME- gettrainno()
PARAMETERS- nil
RETURN TYPE- integer
TASK- returns train number
FUNCTION NAME- getno_ofac1stclass()
PARAMETERS- nil
RETURN TYPE- integer
TASK- returns first class tickets booked

FUNCTION NAME- getno_ofac2ndclass()


PARAMETERS- nil
RETURN TYPE-integer
TASK- returns [Link] second class tickets booked
FUNCTION NAME- ret_token()
PARAMETERS- nil
RETURN TYPE- integer

TASK- returns the value of an students token number


FUNCTION NAME- getno_ofac3rdclass
PARAMETERS- nil
RETURN TYPE- integer
TASK- returns [Link] 3rd class seats booked
FUNCTION NAME- getno_ofsleeper()
PARAMETERS- nil
RETURN TYPE- integer
TASK- returns [Link] sleeper seats booked

FUNCTION NAME- getstartingpt


PARAMETERS- nil
RETURN TYPE- string
TASK- returns the starting point
FUNCTION NAME- getdestination()
PARAMETERS- nil
RETURN TYPE- string
TASK- returns destination

NON- MEMBER FUNCTIONFUNCTION NAME-menu()


PARAMETERS-nil
RETURN TYPE- nil
TASK-calls getinput,output,reservation,cancellation,display and
creates files [Link] and [Link]

PROGRAM
LISTING

from pickle import load,dump


import time
import random
importos
class tickets:
def __init__(self):
self.no_ofac1stclass=0
[Link]=0
self.no_ofac2ndclass=0
self.no_ofac3rdclass=0
self.no_ofsleeper=0
self.no_oftickets=0
[Link]=''
[Link]=''
[Link]=0
[Link]=''
def ret(self):
return([Link])
defretname(self):
return([Link])
def display(self):
f=0
fin1=open("[Link]","rb")
if not fin1:
print "ERROR"

else:
print
n=int(raw_input("ENTER PNR NUMBER : "))
print "\n\n"
print ("FETCHING DATA . . .".center(80))
[Link](1)
print
print('PLEASE WAIT...!!'.center(80))
[Link](1)
[Link]('cls')
try:
while True:
tick=load(fin1)
if(n==[Link]()):
f=1
print "="*80
print("PNR STATUS".center(80))
print"="*80
print
print "PASSENGER'S NAME :",[Link]
print
print "PASSENGER'S AGE :",[Link]
print
print "PNR NO :",[Link]
print

print "STATUS :",[Link]


print
print "NO OF SEATS BOOKED : ",tick.no_oftickets
print
except:
pass
[Link]()
if(f==0):
print
print "WRONG PNR NUMBER..!!"
print
def pending(self):
[Link]="WAITING LIST"
print "PNR NUMBER :",[Link]
print
[Link](1.2)
print "STATUS = ",[Link]
print
print "NO OF SEATS BOOKED : ",self.no_oftickets
print
def confirmation (self):
[Link]="CONFIRMED"
print "PNR NUMBER : ",[Link]
print
[Link](1.5)

print "STATUS = ",[Link]


print
def cancellation(self):
z=0
f=0
fin=open("[Link]","rb")
fout=open("[Link]","ab")
print
r= int(raw_input("ENTER PNR NUMBER : "))
try:
while(True):
tick=load(fin)
z=[Link]()
if(z!=r):
dump(tick,fout)
elif(z==r):
f=1
except:
pass
[Link]()
[Link]()
[Link]("[Link]")
[Link]("[Link]","[Link]")
if (f==0):
print

print "NO SUCH RESERVATION NUMBER FOUND"


print
[Link](2)
[Link]('cls')
else:
print
print "TICKET CANCELLED"
print
def reservation(self):
trainno=int(raw_input("ENTER THE TRAIN NO:"))
z=0
f=0
fin2=open("[Link]")
[Link](0)
if not fin2:
print "ERROR"
else:
try:
while True:
tr=load(fin2)
z=[Link]()
n=[Link]()
if (trainno==z):
print
print "TRAIN NAME IS : ",n

f=1
print
print "-"*80
no_ofac1st=tr.getno_ofac1stclass()
no_ofac2nd=tr.getno_ofac2ndclass()
no_ofac3rd=tr.getno_ofac3rdclass()
no_ofsleeper=tr.getno_ofsleeper()
if(f==1):
fout1=open("[Link]","ab")
print
[Link]=raw_input("ENTER THE PASSENGER'S
NAME ")
print
[Link]=int(raw_input("PASSENGER'S AGE : "))
print
print"\t\t SELECT A CLASS YOU WOULD LIKE TO TRAVEL IN :"
print "[Link] FIRST CLASS"
print
print "[Link] SECOND CLASS"
print
print "[Link] THIRD CLASS"
print
print "[Link] CLASS"
print

c=int(raw_input("\t\t\tENTER YOUR CHOICE = "))


[Link]('cls')
amt1=0
if(c==1):
self.no_oftickets=int(raw_input("ENTER NO_OF FIRST CLASS AC
SEATS TO BE BOOKED : "))
i=1
while(i<=self.no_oftickets):
[Link]=[Link]+1
amt1=1000*self.no_oftickets
i=i+1
print
print "PROCESSING. .",
[Link](0.5)
print ".",
[Link](0.3)
print'.'
[Link](2)
[Link]('cls')
print "TOTAL AMOUNT TO BE PAID = ",amt1
[Link]=int([Link](1000,2546))
x=no_ofac1st-[Link]
print
if(x>0):
[Link]()

dump(self,fout1)
break
else:
[Link]()
dump(tick,fout1)
break
elif(c==2):
self.no_oftickets=int(raw_input("ENTER NO_OF SECOND CLASS
AC SEATS TO BE BOOKED : "))
i=1
while(i<=self.no_oftickets):
[Link]=[Link]+1
amt1=900*self.no_oftickets
i=i+1
print
print "PROCESSING. .",
[Link](0.5)
print ".",
[Link](0.3)
print'.'
[Link](2)
[Link]('cls')
print "TOTAL AMOUNT TO BE PAID = ",amt1
[Link]=[Link](1000,2546)
x=no_ofac2nd-[Link]

print
if(x>0):
[Link]()
dump(self,fout1)
break
else:
[Link]()
dump(tick,fout1)
break
elif(c==3):
self.no_oftickets=int(raw_input("ENTER NO_OF THIRD CLASS
AC SEATS TO BE BOOKED : "))
i=1
while(i<=self.no_oftickets):
[Link]=[Link]+1
amt1=800*self.no_oftickets
i=i+1
print
print "PROCESSING. .",
[Link](0.5)
print ".",
[Link](0.3)
print'.'
[Link](2)

[Link]('cls')
print "TOTAL AMOUNT TO BE PAID = ",amt1
[Link]=[Link](1000,2546)
x=no_ofac3rd-[Link]
print
if(x>0):
[Link]()
dump(self,fout1)
break
else:
[Link]()
dump(tick,fout1)
break
elif(c==4):
self.no_oftickets=int(raw_input("ENTER NO_OF SLEEPER CLASS
SEATS TO BE BOOKED : "))
i=1
while(i<=self.no_oftickets):
[Link]=[Link]+1
amt1=550*self.no_oftickets
i=i+1
print
print "PROCESSING. .",
[Link](0.5)
print ".",

[Link](0.3)
print'.'
[Link](2)
[Link]('cls')
print "TOTAL AMOUNT TO BE PAID = ",amt1
[Link]=[Link](1000,2546)
x=no_ofsleeper-[Link]
print
if(x>0):
[Link]()
dump(self,fout1)
break
else:
[Link]()
dump(tick,fout1)
break
except:
pass
if(f==0):
[Link](2)
print"\n\n\n\n\n\n\t\t\t\tNO SUCH TRAINS FOUND !!"
[Link](2)
print
print
print

class train:
def __init__(self):
[Link]=0
self.no_ofac1stclass=0
self.no_ofac2ndclass=0
self.no_ofac3rdclass=0
self.no_ofsleeper=0
[Link]=0
[Link]=''
[Link]=""
[Link]=''
defgetinput(self):
print"="*80
print "\t\t\t ENTER THE TRAIN DETAILS"
print
print"="*80
[Link]=raw_input("ENTER THE TRAIN NAME : ").upper()
print
[Link]=int(raw_input("ENTER THE TRAIN NUMBER: "))
print
self.no_ofac1stclass=int(raw_input("ENTER NO_OF AC FIRST
CLASS SEATS TO BE RESERVED : "))
print

self.no_ofac2ndclass=int(raw_input("ENTER NO_OF AC
SECOND CLASS SEATS TO BE RESERVED : "))
print
self.no_ofac3rdclass=int(raw_input("ENTER NO_OF AC
THIRD CLASS SEATS TO BE RESERVED : "))
print
self.no_ofsleeper=int(raw_input("ENTER NO_OF SLEEPER CLASS
+SEATS TO BE RESERVED : "))
print
[Link]=raw_input("ENTER THE STARTING POINT : ")
print
[Link]=raw_input("ENTER THE DESTINATION POINT :
")
[Link]('cls')
def output(self):
print"="*80
print
print "THE ENTERED TRAIN NAME IS : ",[Link]
print "THE TRAIN NUMBER IS : ",[Link]
print "STARTING POINT ENTERED IS : ",[Link]
print "DESTINATION POINT ENTERED IS : ",[Link]
print "NO_OF AC FIRST CLASS SEATS RESERVED
ARE :",self.no_ofac1stclass
print "NO_OF AC SECOND CLASS SEATS RESERVED
ARE :",self.no_ofac2ndclass

print "NO_OF AC THIRD CLASS SEATS RESERVED


ARE :",self.no_ofac3rdclass
print "NO_OF SLEEPER CLASS SEATS RESERVED
ARE :",self.no_ofsleeper
print
print "="*80
def gettrainname(self):
return ([Link])
def gettrainno(self):
return([Link])
def getno_ofac1stclass(self):
return(self.no_ofac1stclass)
def getno_ofac2ndclass(self):
return(self.no_ofac2ndclass)
def getno_ofac3rdclass(self):
return(self.no_ofac3rdclass)
def getno_ofsleeper(self):
return (self.no_ofsleeper)
def getstartingpt(self):
return ([Link])
def getdestination(self):
return ([Link])

def menu():

tr=train()
tick=tickets()
print
print "WELCOME TO DIVESH AGENCY".center(80)
while True:
print
print "="*80
print " \t\t\t\t RAILWAY"
print
print "="*80
print
print "\t\t\t1. **UPDATE TRAIN DETAILS."
print
print "\t\t\t2. TRAIN DETAILS. "
print
print "\t\t\t3. RESERVATION OF TICKETS."
print
print "\t\t\t4. CANCELLATION OF TICKETS. "
print
print "\t\t\t5. DISPLAY PNR STATUS."
print
print "\t\t\t6. QUIT."
print"** - office use......"
ch=int(raw_input("\t\t\tENTER YOUR CHOICE : "))
[Link]('cls')

print
"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\tLOAD
ING. .",
[Link](1)
print ("."),
[Link](0.5)
print (".")
[Link](2)
[Link]('cls')
if ch==1:
j="*****"
r=raw_input("\n\n\n\n\n\n\n\n\n\n\n\t\t\t\tENTER THE
PASSWORD: ")
[Link]('cls')
if (j==r):
x='y'
while ([Link]()=='y'):
fout=open("[Link]","ab")
[Link]()
dump(tr,fout)
[Link]()
print"\n\n\n\n\n\n\n\n\n\n\n\t\t\tUPDATING TRAIN LIST PLEASE
WAIT . .",
[Link](1)
print ("."),
[Link](0.5)

print ("."),
[Link](2)
[Link]('cls')
print "\n\n\n\n\n\n\n\n\n\n\n"
x=raw_input("\t\tDO YOU WANT TO ADD ANY
MORE TRAINS DETAILS ? ")
[Link]('cls')
continue
elif(j<>r):
print"\n\n\n\n\n"
print "WRONG PASSWORD".center(80)
elifch==2:
fin=open("[Link]",'rb')
if not fin:
print "ERROR"
else:
try:
while True:
print"*"*80
print"\t\t\t\tTRAIN DETAILS"
print"*"*80
print
tr=load(fin)
[Link]()

raw_input("PRESS ENTER TO VIEW NEXT TRAIN DETAILS")


[Link]('cls')
exceptEOFError:
pass
elifch==3:
print'='*80
print "\t\t\t\tRESERVATION OF TICKETS"
print'='*80
print
[Link]()
elifch==4:
print"="*80
print"\t\t\t\tCANCELLATION OF TICKETS"
print
print"="*80
print
[Link]()
elifch==5:
print "="*80
print("PNR STATUS".center(80))
print"="*80
print
[Link]()

elif ch==6:
quit()
raw_input("PRESS ENTER TO GO TO BACK MENU".center(80))
[Link]('cls')
menu()
print\t\t\t\t\n\n\n\n\n\t THANK YOU.....
print\n\t\t\t\DONE BY:-
print\t\t\t\t [Link]
print\t\t\t\t XII-A1
print\t\t\t\t 12104
print
"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\tLOAD
ING. .",
[Link](1)
print ("."),
[Link](0.5)
print (".")
[Link](2)
[Link]('cls')

SCREEN SHOT

GURU SHREE SHANTIVIJAI JAIN
VIDYALAYA
Affiliated to the Central Board Of Secondary Education,Delhi
96,Vepery High Road,Vepery
GURU SHREE SHANTIVIAJAI JAIN
VIDYALAYA
(Affiliated to the Central Board of Secondary Education,Delhi)
96,Vepery High Road,Vep
COMPUTER
SCIENCE
PROJECT
ON
RAILWAY
RESERVATION
DONE BY:
N.DIVESH
TABLE OF CONTENT
SNO
TOPIC
PG NO
1.
Introduction
2.
Algorithm
3.
Source Code
4.
Output Screen
shots
5.
Biblography
INTRODUCTION
This project introduces railway reservationsystem  .
It
 
explains
 
how
 
reservation
 
is
beingd o n e  i n  I
ALGORITHM
CLASS NAME- tickets
DATA MEMBERS- no.of 1st  class,no.of 2nd  class,no.of 3rd 
class,no.of sleeper,no.of tickets,na
FUNCTION NAME- retname()
PARAMETERS- nil
RETURN TYPE- string
TASK- returns the name
FUNCTION NAME- display()
PARAMETERS- nil
FUNCTION NAME-reservation()
PARAMETERS- nil
RETURN TYPE- nil
TASK-reserves the seat in particular class and prints the amount
PARAMETERS- nil
RETURN TYPE- string
TASK- returns train name
FUNCTION NAME- gettrainno()
PARAMETERS- nil
RETURN TYPE- integer
TASK- returns the value of an student’s token number
FUNCTION NAME- getno_ofac3rdclass
PARAMETERS- nil
RETURN TYPE- integer
T

You might also like