Rail Res - 69
Rail Res - 69
Rail Res - 69
RAILWAY RESERVATION
Submitted in Partial fulfillment for the
Award of Intermediate of Commerce in
Informatics Practices (Subject).
CBSE Class – XII Examination – 2021 – 22
By
PRADUMNA BEHERA
Roll No. – 12647269
Under the Supervision of
SRI. PRANAB KESHARI PANDA
PGT in Computer Science
CERTIFICATE
DECLARATION
ACKNOWLEDGEMENT
My heartily gratitude to Almighty God & my parents for their blessing and
continuous support, for which I have successfully made my career in Intermediate of
Commerce.
I place my deep sense of gratitude to my project Guide Sri. Pranab Keshari
Panda, Lecturer in IP for his valuable suggestions and advices throughout the
intermediate of Commerce course. I also express my gratitude to my Principal Sir and
all other teachers, for their continuous motivation and valuable help throughout the
project work. I also extend my thanks to other faculties I get for their cooperation during
my Course. Finally I would like to thank my friends for their cooperation to complete this
project.
NEED FOR COMPUTERISATION:
No one can easily plan the journey comfortably as the process is efficient and fast with
being easy to access. Reservations can be made through the Indian railways site or at
the ample reservation centers all over the country. Also now there are authorized
agencies which provide reservation facility on behalf of India railways and without
waiting in long line one can easily book a ticket. The booking is done through an E-
Ticket issue which has a PNR number of which one has to take a print and just have to
show at the station.
It not only provides reservation but cancellation can also be done through this system at
ease and one can use a credit card to complete the process. This being a big step in
terms of improvement in the railway system it is widely accepted across the country.
Moreover & most importantly the program helps us to reserve or cancel a train ticket.
The program also helps us to know the present status of a reserved ticket, i.e. whether
the ticket is confirmed or not.
DBMS
The software required for the management of data is called as DBMS. It has3 models
• Relation model
• Hierarchical model
• Network model
RELATIONAL MODEL It’s based on the concept on relation. Relation is the table that
consists of rows and columns. The rows of the table are called tuple and the columns of
the table are called attribute. Numbers of rows in the table is called as cardinality.
Number of columns in the table is called as degree.
HIERARCHICAL MODEL: In this type of model, we have multiple records for each
record. A particular record has one parent record. No chide record can exist without
parent record. In this, the records are organized in tree (like structure
CHARACTERISTICS OF DB MS: -
• Data sharing
• Data standardization
DIFFERENT TYPES OF FILES: -BASED ON ACCESS:-
• Sequential file
• Serial file
• Text file
• Binary File
DBMS: MySQL
Host: local host
User: root
Pass: root
Database: RAIL Table Structure: (Images Bellow)
PYTHON CODE
import MySQL. Connector
import os
import platform
#import pandas as pd
Pnr=1024
mydb=mysql.connector.connect
(host="localhost",user="root",passwd="scottiger",database="rail");
mycursor=mydb.cursor()
def railresmenu ():
print("Railway Reservation ")
print("1.Train Detail")
print("2.Reservation of Ticket")
print("3.Cancellation of Ticket")
print("4.Display PNR status")
print("5.Quit")
#print(" ", end="\n"*50)
n=int(input("enter your choice"))
if(n==1):
traindetail()
elif(n==2):
reservation()
elif(n==3):
cancel()
elif(n==4):
displayPNR()
elif(n==5):
exit(0)
else:
print("wrong choice")
def traindetail():
print("Train Details")
ch='y'
while (ch=='y'):
l=[]
name=input("enter train name :")
l.append(name)
tnum=int(input("enter train number :"))
l.append(tnum)
ac1=int(input("enter number of AC 1 class seats"))
l.append(ac1)
ac2=int(input("enter number of AC 2 class seats"))
l.append(ac2)
ac3=int(input("enter number of AC 3 class seats"))
l.append(ac3)
slp=int(input("enter number of sleeper class seats"))
l.append(slp)
train=(l)
sql="insert into
traindetail(tname,tnum,ac1,ac2,ac3,slp)values(%s,%s,%s,%s,%s,%s)"
mycursor.execute(sql,train)
mydb.commit()
print("insertion completed")
print("Do you want to insert more train Detail")
ch=input("enter yes/no")
print('\n' *10)
print("=========================")
railresmenu()
def reservation():
global pnr
l1=[]
pname=input("enter passenger name=")
l1.append(pname)
age=input("enter age of passenger =")
l1.append(age)
trainno=input("enter train number")
l1.append(trainno)
np=int(input("Enter number of passanger:"))
l1.append(np)
print("select a class you would like to travel in")
print("1.AC FIRST CLASS")
print("2.AC SECOND CLASS")
print("3.AC THIRD CLASS")
print("4.SLEEPER CLASS")
cp=int(input("Enter your choice:"))
if(cp==1):
amount=np*1000
cls='ac1'
elif(cp==2):
amount=np*800
cls='ac2'
elif(cp==3):
amount=np*500
cls='ac3'
else:
amount=np*350
cls='slp'
l1.append(cls)
print("Total amount to be paid:",amount)
l1.append(amount)
pnr=pnr+1
print("PNR Number:",pnr)
print("status: confirmed")
sts='conf'
l1.append(sts)
l1.append(pnr)
train1=(l1)
sql="insert into
passengers(pname,age,trainno,noofpas,cls,amt,status,pnrno)values(%s,%s,%s,%s,%s,
%s,%s,%s)"
mycursor.execute(sql,train1)
mydb.commit()
print("insertion completed")
print("Go back to menu")
print('\n' *10)
print("===============================")
railresmenu()
railresmenu()
def cancel():
print("Ticket cancel window")
pnr=input("enter PNR for cancellation of Ticket")
pn=(pnr,)
sql="update passengers set status='deleted' where pnrno=%s"
mycursor.execute(sql,pn)
mydb.commit()
print("Deletion completed")
print("Go back to menu")
print('\n' *10)
print("================================")
railresmenu()
railresmenu()
def displayPNR():
print("PNR STATUS window")
pnr=input("enter PNR NUMBER")
pn=(pnr,)
sql="select * from passengers where pnrno=%s"
mycursor.execute(sql,pn)
res=mycursor.fetchall()
#mydb.commit()
print("PNR STATUS are as follows : ")
print("(pname,age,trainno, noofpas,cls,amt,status, pnrno)")
for x in res:
print(x)
#print("Deletion completed")
print("Go back to menu")
print('\n' *10)
print("=============================")
railresmenu()
railresmenu()
OUTPUT SCREEN:
>>> railresmenu()
Railway Reservation
1.Train Detail
2.Reservation of Ticket
3.Cancellation of Ticket
4.Display PNR status
5.Quit
enter your choice1
Train Details
enter train name :madurai chainnai
enter train number :22206
enter number of AC 1 class seats200
enter number of AC 2 class seats200
enter number of AC 3 class seats200
enter number of sleeper class seats4000
insertion completed
Do you want to insert more train Detail N
SCREEN 2
===============================
Railway Reservation
1.Train Detail
2.Reservation of Ticket
3.Cancellation of Ticket
4.Display PNR status
5.Quit
enter your choice2
enter passenger name=JOHN
enter age of passenger =23
enter train number22206
Enter number of passanger:2
select a class you would like to travel in
1.AC FIRST CLASS
2.AC SECOND CLASS
3.AC THIRD CLASS
4.SLEEPER CLASS
Enter your choice:2
Total amount to be paid: 1600
PNR Number: 1025
status: confirmed
SCREEN 3
==================================
Railway Reservation
1.Train Detail
2.Reservation of Ticket
3.Cancellation of Ticket
4.Display PNR status
5.Quit
enter your choice 3
Ticket cancel window
enter PNR for cancellation of Ticket1025
Deletion completed
Go back to menu
SCREEN:4
=======================================
Railway Reservation
1.Train Detail
2.Reservation of Ticket
3.Cancellation of Ticket
4.Display PNR status
5.Quit
enter your choice4
PNR STATUS window
enter PNR NUMBER1025
PNR STATUS are as follows :
(pname,age,trainno, noofpas,cls,amt,status, pnrno)
('JOHN', 23, 22206, 2, 'ac2', 1600, 'deleted', 1025)
Go back to menu