SlideShare a Scribd company logo
ASSISI CONVENT SCHOOL
Agra Road, Etah (UP) Pin 207001
PROJECT REPORT
On
RAILWAY RESERVATION
SYSTEM
ACADEMIC SESSION
2022-2023
SUBJECT
COMPUTER SCIENCE (083)
Prepared By :
1.AKSHAT TIWARI
2.KUSHAGRA DUBEY
3.ARYAN SINGH TOMAR
4.AMAN PRATAP
ASSISI CONVENT SCHOOL
Agra Road, Etah(UP) Pin 207001
CERTIFICATE
This is to certify that AKSHAT TIWARI of
Class XII, has completed his project entitled
“RAILWAY RESERVATION SYSTEM” under my
supervision for the subject “COMPUTER
SCIENCE(083) ” for All India Secondary School
Examination 2022-2023.
He has taken proper care and shown utmost
sincerity in the completion of this project. I certify that
this project is up to my expectation and as per the
guidelines issued by CBSE.
RAHUL JOHRI ANJALI MARIA
H.O.D (Computer Science) Principal
Assisi Convent School Assisi Convent School
Etah Etah
ACKNOWLEDGEMENT
Firstly, I would like to express my special thanks of
gratitude to my principal REV. SR. ANJALI MARIA,
who gave me this opportunity to work on this project.
I would like to thank her for the completion of this
project.
Secondly, I would like to thank my subject teacher
MR. RAHUL JOHRI who continuously guided me and
helped me from time to time during the development
of this project.
At last, I would like to thank my friends and family
members for their valuable support.
AKSHAT TIWARI
TABLE OF CONTENTS
SN PARTICULARS PAGE
NO.
TEACHER’S
SIGNATURE
1 INTRODUCTION OF
THE PROJECT 1
2 REQUIREMENTS
2-3
3 PROGRAMMING
LANGUAGE &
CONCEPTS USED
4
4 PACKAGES,
MODULES AND
FUNCTIONS USED
5-7
5 DATABASE & TABLES
USED 8-11
6 SCOPE OF THE
PROJECT 12-13
7 PROJECT CODE
14-30
8 SCREENSHOTS OF
THE OUTPUT 31-34
INTRODUCTION TO THE
PROJECT
The topic of the project is RAILWAY RESERVATION
SYSTEM .The railway reservation system facilitates
the passengers to enquiry about the trains available
on the basis of source and destination, booking and
cancellation of tickets, enquiry about the status of the
booked ticket, etc. The aim of case study is to design
and develop a data base maintaining records of
different trains, train status and passengers.This
project contains introduction to the railways
reservation system. It is the computerized system of
reserving the seats of train seats in advance. It is
mainly used for a long route. Online reservation has
made the process for the reservation of seats very
much easier than ever before.
REQUIREMENTS
HARDWARE REQUIREMENTS :-
• The hardware requirements are laptop of RAM-
4.00 GB32-bit operating system
• printer
SOFTWARE REQUIREMENTS:
• A window based operating system with DOS
support
• The system must be connected with a LAN
connection
PROCESSOR REQUIREMENTS:
• Intel(R) Core(TM) i5-4300M CPU @ 2.60GHz 2.60
GHz
MEMORY REQUIREMENTS:
• Hard disk of about 152GB
OTHER REQUIREMENTS:
• MySql version 5.7
• Python version 3.10.5
• MySql connectivity
• MS Word 2010
PROGRAMING LANGUAGE
AND CONCEPTS USED
The programming language of the project is PYTHON
The concepts that we have used in our project are ---
we have taken the use of MySql connectivity for this
project , we had made a database in Sql with the help
of python programming and perform every task in Sql
by python programming only. We made various types
of user defined functions for the function of each and
every functioning in the program. We made the use of
if , elif and else approx in every function for the
conditional statements . we have also imported
tabulate and random module , tabulate module for
displaying the data from the database in a tabular
form and random module for generating random no.
from randint() method for generating a random pnr_no
for the tickets.
PACKAGES, MODULES &
FUNCTIONS USED
PACKAGE
NAME
MODULE
NAME
FUNTION
S
DESCRIPTION
Nil
random
randint()
Used to
generate a
Pnr number in
a given range
mysql.
connector
connect()
To make a
connection
between mysql
and python
cursor()
It provides a
cursor object
for the working
of the database
through
menu()
It regulates
activities like
signup, signin
in the project
main()
It regulates all
the activities
like ticket
booking,
checking
,cancelling and
User
defined
functions
also show the
account details
of the user
ticket_boo
king()
This function is
for the booking
of the ticket for
train
delhi()
This function is
for the fare of
the train delhi
express
sabarmati
()
This function is
for the fare of
the train
sabarmati
express
goa() This function is
for the fare of
the train goa
express
User
Defined
functions
chennai() This function is
for the fare of
the train
chennai
express
ticket_che
cking()
This function is
for the checking
for the booked
tickets
ticket_can
celling()
This function is
for the
cancellation of
the booked
tickets
DATABASE & TABLES
USED
tabulate
checking_
2()
This function is
for the deletion
of existing user
account
checking_
1()
This function is
for creating a
new account in
the project
checking() This function is
used for logging
in of an existing
account in
project
checking_
3()
This function is
for checking
our personal
account details
tabulate()
Used for
displaying the
data in a
tabular format
The Database used in this project is
RAILWAY104
TABLE
NAME
FIELD
NAME
DATA TYPE DESCRIPTION
User_
accounts
fname varchar(100) Stores the first
name of the
user
lname varchar(100) Stores the last
name of the
user
user_
name
varchar(100) Stores the
username of
the user
password Varchar(100) Stores the
password for
the account of
the user
phno Varchar(15) Stores the
phone no. of
the user
gender Varchar(50) Stores the
gender of the
user
dob Varchar(50) Stores the date
of birth of the
user
age Varchar(4) Stores the age
of the user
TABLE
NAME
FILED
NAME
DATA TYPE DESCRIPTION
Train_
details
TRAIN_
NAME
Varchar(30) Stores the
train name
given by the
user
TRAIN_NO Varchar(20) Stores the
train no given
by the user
Source Varchar(30) Stores the
starting point
or location of
the train
Destination Varchar(30) Stores the
destination of
the train
AC1 Varchar(20) Stores the AC1
fare of the
ticket
AC2 Varchar(20) Stores the AC2
fare of the
AC3
Varchar(20)
Stores the AC3
fare of the
ticket
Sleeper Varchar(10) Stores the
sleeper fare of
ticket
TABLE
NAME
FILED
NAME
DATA
TYPE
DESCRIPTION
Railway
PNR_NO Varchar(10) Stores the
generated pnr
no.
pname Varchar(30) Stores the
passenger
name
Age Int(11) Store the age of
the passenger
Train_no Varchar(10) Store the train
no of that train
with which the
passenger is
travelling
Train_name Varchar(30) Store the train
name of that
train with
which the
passenger is
travelling
gender Varchar(10) Stores the
gender of the
passemger
SCOPE OF THE PROJECT
Class Varchar(10) Stores the
class of the
train
source Varchar(20) Stores the
starting point
of the train
Destination Varchar(30) Stores the
destination of
the train
fare int(11) Stores the fare
of the train of
the pasengers
The scope of the project railway reservation system is
we can perfrom a various types of activities through
this project. When you run the code the most starting
you will get to see is there will be four options 1. SIGN
IN 2. SIGN UP 3. DELETE ACCOUNT 4. EXIT first
you should sign up for new user account , when you
made it just select the 1st option and sign in with the
same account you made above . now you will get to see
4 options again 1.TICKET BOOKING, 2.TICKET
CHECKING, 3. TICKET CANCELLING AND ACCOUNT
DETAILS you have to choose the first option first and
by following the steps you can book a ticket , for
booking you have 4 trains available in this project that
will also be shown to you at the time of booking . so
just select the type of seat and book the train.
After booking the train you can choose 2nd option that
is TICKET CHECKING , while booking of the train you
will have gotten a PNR Number so now while checking
just insert your generated PNR number and you will
get to know the no of tickets you have booked with
that PNR no. In this project we have only given a limit
of 2 tickets with one PNR number at a time
Now just select the 3rd option that is TICKET
CANCELLING here also you will be asked by the same
PNR no generated at that time . just type the no and
your all tickets will be cancelled
Our last option is account details ,here you get all the
details about the account you made at first .
You can log out your account with this project and
also can delete the existing account that you have
made
That’s all this project can perform for the users
PROJECT CODE
TABLES CODE:-
import mysql.connector
db=mysql.connector.connect(host='localhost',user='root',pass
word='akshat@123')
c=db.cursor()
s="create database railway104"
c.execute(s)
s="use railway104"
c.execute(s)
s="create table railway(PNR_No varchar(10),pname
varchar(30), Age integer,Train_No varchar(10),train_name
varchar(30),gender varchar(10),Class varchar(10),source
varchar(20),Destination varchar(30),fare integer)"
c.execute(s)
s="create table user_accounts(fname varchar(100),lname
varchar(100),user_name varchar(100),password varchar(100)
,phno varchar(15),gender varchar(50),dob varchar(50),age
varchar(4))"
c.execute(s)
s="create table train_details(Train_Name varchar(30),
Train_No varchar(20),Source varchar(30), Destination
varchar(30), Ac1 varchar(20),Ac2 varchar(20), Ac3
varchar(20), Sleeper varchar(10))"
c.execute(s)
s="insert into train_details values('delhi
express','2365','delhi','jaipur',6000,'5000','4000','4000')"
c.execute(s)
s="insert into train_details values('goa
express','3425','agra','goa',10000,'9000','8000','7000')"
c.execute(s)
s="insert into train_details values('chennai
express','1267','delhi','chennai',12000,'10000','9000','7000')"
c.execute(s)
s="insert into train_details values('sabarmati
express','2365','agra','gujarat',9000,'8000','7000','5000')"
c.execute(s)
db.commit()
MAIN CODE:-
import random
import mysql.connector
mycon=mysql.connector.connect(host='localhost',user='root',p
asswd='akshat@123',database='railway104')
cursor=mycon.cursor()
mycon.autocommit=True
from tabulate import tabulate
def menu():
ch=1
while ch==1:
print('tt-------WELECOME TO ONLINE RAILWAY
RESERVATION SYSTEM-------tt')
print('1.SIGN IN')
print('2.SIGN UP')
print('3.DELETE ACCOUNT')
print('4.EXIT')
ch1=int(input('ENTER YOUR CHOICE:'))
if ch1==1:
a=checking()
if a==True:
print('WELCOME')
main()
else:
continue
elif ch1==2:
a=checking_1()
if a==True:
main()
else:
print('PASSWORD ALREADY EXISTS')
continue
elif ch1==3:
c=checking_2()
if c==True:
print('ACCOUNT DELETED')
continue
else:
print('YOUR PASSWAORD OR USER_NAME IS
INCORRECT')
continue
elif ch1==4:
print('THANK YOU')
break
else:
print('ERROR 404:PAGE NOT FOUND')
break
print('1.YES')
print('2.NO')
ch=int(input('DO YOU WANT TO CONTINUE OR NOT:'))
def main():
print('1.YES')
print('2.NO')
c=int(input("DO YOU WANT TO CONTINUE OR NOT:"))
while (c==1):
print(' 1.TICKET BOOKING',"n", '2.TICKET
CHECKING',"n",'3.TICKET CANCELLING',"n",'4.ACCOUNT
DETAILS',"n",'5.LOG OUT')
ch=int(input('enter ur choice:'))
if ch==1:
ticket_booking()
elif ch==2:
ticket_checking()
elif ch==3:
ticket_cancelling()
elif ch==4:
checking_3()
elif ch==5:
print('THANK YOU')
break
else:
print('WRONG INPUT')
else:
print('ERROR 404: ERROR PAGE NOT FOUND')
def ticket_booking():
mycon.autocommit=True
print("******AVAILABLE TRAINS******")
g="select*from train_details"
cursor.execute(g)
data=cursor.fetchall()
Data=list(data)
a=['TRAIN_NAME','TRAIN_NO','SOURCE','DESTINATION','AC1'
,'AC2','AC3','SLEEPER']
print(tabulate(data,headers=a,tablefmt="psql"))
print("2365.DELHI EXPRESS")
print("3425.GOA EXPRESS")
print("1267.CHENNAI EXPRESS")
print("2564.SABARMATI EXPRESS")
x=input("ENTER THE TRAIN NO. FOR MORE TICKET
OPTIONS:")
n=int(input("HOW MANY TICKETS YOU WANTn(YOU CAN
BOOK ONLY 2 TICKETS):"))
if n<=2:
if x=='2365':
g=delhi()
h="JAIPUR"
c1="DELHI"
c2="DELHI EXPRESS"
elif x=='3425':
g=goa()
h="GOA"
c1="AGRA"
c2="GOA EXPRESS"
elif x=='1267':
g=chennai()
h="CHENNAI"
c1="DELHI"
c2="CHENNAI EXPRESS"
elif x=='2564':
g=sabarmati()
h="GUJARAT"
c1="AGRA"
c2="SABARMATI EXPRESS"
else:
print("INVALID OPTION")
pnrno=random.randint(1000,3000)
for i in range (n):
b=input("ENTER THE PERSON'S NAME:")
c=input("ENTER THE AGE:")
print(' M=MALE','n','F=FEMALE','n','N=NOT TO
MENTION')
v={'m':'MALE','f':'FEMALE','n':'NOT TO MENTION'}
s=input("ENTER THE GENDER:")
s2="insert into railway
values('{}','{}',{},'{}','{}','{}','{}','{}','{}','{}')".format(pnrno,b,c,x,c2,s,g[1]
,c1,h,g[0])
cursor.execute(s2)
print('BOOKED SUCCESSFULLY')
print("YOUR PNR NO. GENERATED IS :",pnrno)
else:
print("MORE THAN 2 TICKETS ARE NOT ALLOWED")
def delhi():
x=input("ENTER YOUR CHOICE OF
TICKET(AC1/AC2/AC3/SLEEPER):")
if(x=='ac1'):
print ("YOU HAVE Chosen FIRST CLASS AC TICKET")
s=6000
elif (x=='ac2'):
print ("YOU HAVE Chosen SECOND CLASS AC TICKET")
s=5000
elif (x=='ac3'):
print ("YOU HAVE Chosen THIRD CLASS AC TICKET")
s=4000
elif (x=='sleeper'):
print ("YOU HAVE Chosen SLEEPER TICKET")
s=3000
else:
print("Invalid option")
print("YOUR TICKET PRICE FOR EACH IS ",s,"n")
return s,x
def sabarmati():
x=input("ENTER YOUR CHOICE OF
TICKET(AC1/AC2/AC3/SLEEPER):")
if(x=='ac1'):
print ("YOU HAVE Chosen FIRST CLASS AC TICKET")
s=9000
elif (x=='ac2'):
print ("YOU HAVE Chosen SECOND CLASS AC TICKET")
s=8000
elif (x=='ac3'):
print ("YOU HAVE Chosen THIRD CLASS AC TICKET")
s=7000
elif (x=='sleeper'):
print ("YOU HAVE Chosen SLEEPER TICKET")
s=5000
else:
print("Invalid option")
print("YOUR TOTAL TICKET PRICE FOR EACH IS ",s,"n")
return s,x
def goa():
x=input("ENTER YOUR CHOICE OF
TICKET(AC1/AC2/AC3/SLEEPER):")
if(x=='ac1'):
print ("YOU HAVE Chosen FIRST CLASS AC TICKET")
s=10000
elif (x=='ac2'):
print ("YOU HAVE Chosen SECOND CLASS AC TICKET")
s=9000
elif (x=='ac3'):
print ("YOU HAVE Chosen THIRD CLASS AC TICKET")
s=8000
elif (x=='sleeper'):
print ("YOU HAVE Chosen SLEEPER TICKET")
s=7000
else:
print("Invalid option")
print("YOUR TOTAL TICKET PRICE FOR EACH IS ",s,"n")
return s,x
def chennai():
x=input("ENTER YOUR CHOICE OF
TICKET(AC1/AC2/AC3/SLEEPER):")
if(x=='ac1'):
print ("YOU HAVE Chosen FIRST CLASS AC TICKET")
s=12000
elif (x=='ac2'):
print ("YOU HAVE Chosen SECOND CLASS AC TICKET")
s=10000
elif (x=='ac3'):
print ("YOU HAVE Chosen THIRD CLASS AC TICKET")
s=9000
elif (x=='sleeper'):
print ("YOU HAVE Chosen SLEEPER TICKET")
s=7000
else:
print("Invalid option")
print("YOUR TOTAL TICKET PRICE FOR EACH IS ",s,"n")
return s,x
def ticket_checking():
print('1.yes')
print('2.no')
ch=int(input("WANT TO CHECK A TICKET:"))
if ch==1:
pnrno=int(input('ENTER YOUR GENERATED PNR NO.:'))
try:
s1="select * from railway where
pnr_no='{}'".format(pnrno)
cursor.execute(s1)
data=cursor.fetchall()
Data=list(data)
a=['PNRNO','P.NAME','AGE','TRAIN NO.','TRAIN
NAME','GENDER','CLASS','SOURCE','DESTINATION','FARE']
print(tabulate(data,headers=a,tablefmt="psql"))
except:
print('TICKET DOES NOT EXISTS')
elif ch==2:
print('THANK YOU')
else:
print('ERROR 404:PAGE NOT FOUND')
def ticket_cancelling():
print('1.yes')
print('2.no')
ch=int(input("WANT TO CANCEL A TICKET:"))
if ch==1:
pnrno=input('ENTER THE PNR NO:')
s1="delete from railway where pnr_no='{}'".format(pnrno)
cursor.execute(s1)
print('TICKET CANCELLED')
elif ch==2:
print('THANK YOU')
else:
print('ERROR 404:PAGE NOT FOUND')
def checking_2():
a=input('USER NAME:')
b=input('PASS WORD:')
try:
s1="select user_name from user_accounts where
password='{}'".format(b)
cursor.execute(s1)
data=cursor.fetchall()[0]
data=list(data)
if data[0]==a:
print('IS THIS YOUR ACCOUNT')
s1="select user_name from user_accounts where
password='{}'".format(b)
c1="select fname,lname from user_accounts where
password='{}'".format(b)
cursor.execute(c1)
data1=cursor.fetchall()[0]
data1=list(data1)
data1=data1[0]+' '+data1[1]
cursor.execute(s1)
data=cursor.fetchall()[0]
data=list(data)
if data[0]==a:
x=['FIRST NAME','LAST NAME','PHONE
NUMBER','GENDER','DATE OF BIRTH','AGE']
s1="select fname,lname,phno,gender,dob,age from
user_accounts where password='{}'".format(b)
cursor.execute(s1)
data=cursor.fetchall()[0]
data=list(data)
for i in range(0,6):
print(x[i],':::',data[i])
print('1.yes')
print('2.no')
vi=int(input('enter your choice:'))
if vi==1:
b1="delete from user_accounts where password
= '{}'".format(b)
cursor.execute(b1)
return True
elif vi==2:
print('SORRY,RETRY')
else:
print('ERROR 404:PAGE NOT FOUND')
else:
return False
except:
print('ACCOUNT DOES NOT EXIST')
def checking_1():
f=input("FIRST NAMEtt:")
l=input("LAST NAME tt:")
n=f+" "+l
a=input('USER NAME tt:')
b=input('PASS WORD tt:')
c=input('RE-ENTER YOUR PASS WORD :')
ph=input("PHONE NUMBERtt:")
print(' M=MALE','n','F=FEMALE','n','N=NOT TO
MENTION')
gen=input('ENTER YOUR GENDERt:')
print("ENTER YOR DATE OF BIRTH")
d=input("Date(DD) :")
o=input("Month(MM) :")
p=input("Year(YYYY) :")
dob=d+'/'+o+'/'+p
age=input('YOUR AGE tt:')
v={'m':'MALE','f':'FEMALE','n':'NOT TO MENTION'}
if b==c:
try:
c1="insert into user_accounts
values('{}','{}','{}','{}','{}','{}','{}','{}')".format(f,l,a,b,ph,v[gen],dob,age)
cursor.execute(c1)
print('WELCOME',f,' ',l)
return True
except:
print('PASSWORD ALREADY EXISTS')
return False
else:
print('BOTH PASSWORDS ARE NOT MATCHING')
def checking():
a=input('USER NAME:')
b=input('PASS WORD:')
try:
s1="select user_name from user_accounts where
password='{}'".format(b)
c1="select fname,lname from user_accounts where
password='{}'".format(b)
cursor.execute(c1)
data1=cursor.fetchall()[0]
data1=list(data1)
data1=data1[0]+' '+data1[1]
cursor.execute(s1)
data=cursor.fetchall()[0]
data=list(data)[0]
if data==a:
print(' HII ',data1)
return True
else:
return False
except:
print('ACCOUNT DOES NOT EXIST')
def checking_3():
a=input('USER NAME:')
b=input('PASS WORD:')
try:
s1="select user_name from user_accounts where
password='{}'".format(b)
c1="select fname,lname from user_accounts where
password='{}'".format(b)
cursor.execute(c1)
data1=cursor.fetchall()[0]
data1=list(data1)
data1=data1[0]+' '+data1[1]
cursor.execute(s1)
data=cursor.fetchall()[0]
data=list(data)
if data[0]==a:
x=['FIRST NAME','LAST NAME','PHONE
NUMBER','GENDER','DATE OF BIRTH','AGE']
s1="select fname,lname,phno,gender,dob,age from
user_accounts where password='{}'".format(b)
cursor.execute(s1)
data=cursor.fetchall()
data=list(data)
print(tabulate(data,headers=x,tablefmt="psql"))
else:
return False
except:
print('ACCOUNT DOES NOT EXIST')
menu()
SCREENSHOTS OF
OUTPUT
SIGNING UP FOR A NEW ACCOUNT:-
NOW SIGNING IN WITH THE ABOVE ACCOUNT:-
NOW MOVING TOWARDS MORE OPTIONS AND
BOOK A RAILWAY TICKET:-
CHECKING THE TICKET WE BOOKED ABOVE:-
CANCELLATION OF THE ABOVE TICKET:-
CHECK THE ACCOUNT DETAILS:-
NOW LOG OUT THE ACCOUNT :-
LETS DELETE THE ACCOUNT:-
COMPUTER SCIENCE PROJECT OF RAILWAY RESERVATION SYSTEM PYTHON PROGRAMMING.pdf
Ad

Recommended

PDF
Computer Project for class 12 CBSE on school management
RemaDeosiSundi
 
DOC
Electricitybillsystemreport
vikram mahendra
 
PDF
HOSPITAL MANAGEMENT SYSTEM project report
PDEA's college of engineering, Pune
 
PDF
Employee Management (CS Project for 12th CBSE)
PiyushKashyap54
 
PDF
Cae result teacher's book
Roberta Torres
 
PDF
Railway management system, database mini project
shashank reddy
 
DOCX
class 12th computer science project Employee Management System In Python
AbhishekKumarMorla
 
DOCX
Atm simulation mini project using Python programming language
Mauryasuraj98
 
PDF
Computer project final for class 12 Students
Shahban Ali
 
PDF
Computer science class 12 project on Super Market Billing
Harsh Kumar
 
PDF
Computer Science Investigatory Project Class 12
Self-employed
 
PDF
Computer science Project for class 11th and 12th(library management system)
lokesh meena
 
DOCX
computer science with python project for class 12 cbse
manishjain598
 
PDF
BANK MANAGEMENT INVESTIGATORY PROJECT CLASS 12TH
SHAJUS5
 
ODT
Library Management Project (computer science) class 12
RithuJ
 
PDF
IP Project for Class 12th CBSE
Sylvester Correya
 
PDF
Informatics Practices/ Information Practices Project (IP Project Class 12)
KushShah65
 
PDF
BOOK SHOP SYSTEM Project in Python
vikram mahendra
 
PDF
203979153 investigatory-project-on-ldr (1)
Chiranjeet Samantaray
 
PDF
COMPUTER SCIENCE INVESTIGATORY PROJECT 2017-18
HIMANSHU .
 
PDF
English Project work.pdf
AakashKushwaha26
 
PDF
Cbse class 12 Chemistry practical file/record 2021-22
PoojaReddy530263
 
DOCX
Physics investigatory project for class 12
Kavita Kulkarni
 
DOCX
Chemistry investigatory project
Abhinav Kumar
 
PDF
Library Management Python, MySQL
Darshit Vaghasiya
 
DOCX
computer science project on movie booking system
Anurag Yadav
 
DOCX
C.S. project report on railway ticket reservation
Virat Prasad
 
PDF
Integrals and Applications on Integrals, Maths project for class 12
Sam
 
DOC
railway_PROJECT.doc on python my SQL connectivity
vicky9095916747
 
DOCX
Documentation of railway reservation system
Sandip Murari
 

More Related Content

What's hot (20)

PDF
Computer project final for class 12 Students
Shahban Ali
 
PDF
Computer science class 12 project on Super Market Billing
Harsh Kumar
 
PDF
Computer Science Investigatory Project Class 12
Self-employed
 
PDF
Computer science Project for class 11th and 12th(library management system)
lokesh meena
 
DOCX
computer science with python project for class 12 cbse
manishjain598
 
PDF
BANK MANAGEMENT INVESTIGATORY PROJECT CLASS 12TH
SHAJUS5
 
ODT
Library Management Project (computer science) class 12
RithuJ
 
PDF
IP Project for Class 12th CBSE
Sylvester Correya
 
PDF
Informatics Practices/ Information Practices Project (IP Project Class 12)
KushShah65
 
PDF
BOOK SHOP SYSTEM Project in Python
vikram mahendra
 
PDF
203979153 investigatory-project-on-ldr (1)
Chiranjeet Samantaray
 
PDF
COMPUTER SCIENCE INVESTIGATORY PROJECT 2017-18
HIMANSHU .
 
PDF
English Project work.pdf
AakashKushwaha26
 
PDF
Cbse class 12 Chemistry practical file/record 2021-22
PoojaReddy530263
 
DOCX
Physics investigatory project for class 12
Kavita Kulkarni
 
DOCX
Chemistry investigatory project
Abhinav Kumar
 
PDF
Library Management Python, MySQL
Darshit Vaghasiya
 
DOCX
computer science project on movie booking system
Anurag Yadav
 
DOCX
C.S. project report on railway ticket reservation
Virat Prasad
 
PDF
Integrals and Applications on Integrals, Maths project for class 12
Sam
 
Computer project final for class 12 Students
Shahban Ali
 
Computer science class 12 project on Super Market Billing
Harsh Kumar
 
Computer Science Investigatory Project Class 12
Self-employed
 
Computer science Project for class 11th and 12th(library management system)
lokesh meena
 
computer science with python project for class 12 cbse
manishjain598
 
BANK MANAGEMENT INVESTIGATORY PROJECT CLASS 12TH
SHAJUS5
 
Library Management Project (computer science) class 12
RithuJ
 
IP Project for Class 12th CBSE
Sylvester Correya
 
Informatics Practices/ Information Practices Project (IP Project Class 12)
KushShah65
 
BOOK SHOP SYSTEM Project in Python
vikram mahendra
 
203979153 investigatory-project-on-ldr (1)
Chiranjeet Samantaray
 
COMPUTER SCIENCE INVESTIGATORY PROJECT 2017-18
HIMANSHU .
 
English Project work.pdf
AakashKushwaha26
 
Cbse class 12 Chemistry practical file/record 2021-22
PoojaReddy530263
 
Physics investigatory project for class 12
Kavita Kulkarni
 
Chemistry investigatory project
Abhinav Kumar
 
Library Management Python, MySQL
Darshit Vaghasiya
 
computer science project on movie booking system
Anurag Yadav
 
C.S. project report on railway ticket reservation
Virat Prasad
 
Integrals and Applications on Integrals, Maths project for class 12
Sam
 

Similar to COMPUTER SCIENCE PROJECT OF RAILWAY RESERVATION SYSTEM PYTHON PROGRAMMING.pdf (20)

DOC
railway_PROJECT.doc on python my SQL connectivity
vicky9095916747
 
DOCX
Documentation of railway reservation system
Sandip Murari
 
DOC
Online Bus Reservation
Astha Patel
 
PPTX
Railway Reservation System initial django.pptx
Nitin846696
 
PPTX
Railway Management PPT.pptx
SandeepKumar81296
 
PPTX
Online Bus Reservation System
Siva Rushi
 
DOCX
E-TICKETING ON RAILWAY TICKET RESERVATION
Nandana Priyanka Eluri
 
DOCX
Bus transportation query report
Sudhanshu Moolya
 
PPTX
Railway Reservation System.pptx
Nitin846696
 
PDF
Sahil Dhungel & Het Unadkat Data Mining.pdf
HetUnadkat
 
DOCX
Visual c
mrshymah
 
PDF
IRJET- Mumbai Suburban Train Ticketing System
IRJET Journal
 
PPTX
Software
RinkuNahar
 
DOCX
Railway reservation(c++ project)
Debashis Rath
 
PPTX
PROJECT_PRSENTATION[1].pptx
animewonderland
 
DOC
project report in C++ programming and SQL
vikram mahendra
 
DOCX
Railway reservation(c++ project)
Debashis Rath
 
PPTX
RAILWAY RESERVATION SYSTEM.pptx
ManishBhoir6
 
PDF
KUMARPAWAN (2)-1-1.pdf
RajKamal754430
 
PPTX
Real Time Vehicle tracking system | Smart India hackathon ppt.pptx
DeepeshRajpoot2
 
railway_PROJECT.doc on python my SQL connectivity
vicky9095916747
 
Documentation of railway reservation system
Sandip Murari
 
Online Bus Reservation
Astha Patel
 
Railway Reservation System initial django.pptx
Nitin846696
 
Railway Management PPT.pptx
SandeepKumar81296
 
Online Bus Reservation System
Siva Rushi
 
E-TICKETING ON RAILWAY TICKET RESERVATION
Nandana Priyanka Eluri
 
Bus transportation query report
Sudhanshu Moolya
 
Railway Reservation System.pptx
Nitin846696
 
Sahil Dhungel & Het Unadkat Data Mining.pdf
HetUnadkat
 
Visual c
mrshymah
 
IRJET- Mumbai Suburban Train Ticketing System
IRJET Journal
 
Software
RinkuNahar
 
Railway reservation(c++ project)
Debashis Rath
 
PROJECT_PRSENTATION[1].pptx
animewonderland
 
project report in C++ programming and SQL
vikram mahendra
 
Railway reservation(c++ project)
Debashis Rath
 
RAILWAY RESERVATION SYSTEM.pptx
ManishBhoir6
 
KUMARPAWAN (2)-1-1.pdf
RajKamal754430
 
Real Time Vehicle tracking system | Smart India hackathon ppt.pptx
DeepeshRajpoot2
 
Ad

Recently uploaded (20)

PPTX
Bitumen Emulsion by Dr Sangita Ex CRRI Delhi
grilcodes
 
PPTX
Solar thermal – Flat plate and concentrating collectors .pptx
jdaniabraham1
 
PDF
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
 
PPTX
Deep Learning for Natural Language Processing_FDP on 16 June 2025 MITS.pptx
resming1
 
PDF
Rapid Prototyping for XR: Lecture 4 - High Level Prototyping.
Mark Billinghurst
 
PPTX
Data Structures Module 3 Binary Trees Binary Search Trees Tree Traversals AVL...
resming1
 
PPTX
Industry 4.o the fourth revolutionWeek-2.pptx
KNaveenKumarECE
 
PPTX
retina_biometrics ruet rajshahi bangdesh.pptx
MdRakibulIslam697135
 
PPTX
Introduction to Python Programming Language
merlinjohnsy
 
PPTX
DESIGN OF REINFORCED CONCRETE ELEMENTS S
prabhusp8
 
PPT
دراسة حاله لقرية تقع في جنوب غرب السودان
محمد قصص فتوتة
 
PPTX
Industrial internet of things IOT Week-3.pptx
KNaveenKumarECE
 
PDF
تقرير عن التحليل الديناميكي لتدفق الهواء حول جناح.pdf
محمد قصص فتوتة
 
PDF
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
Shabista Imam
 
PDF
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
IJDKP
 
PDF
Rapid Prototyping for XR: Lecture 5 - Cross Platform Development
Mark Billinghurst
 
PPTX
CST413 KTU S7 CSE Machine Learning Clustering K Means Hierarchical Agglomerat...
resming1
 
PDF
Complete University of Calculus :: 2nd edition
Shabista Imam
 
PPT
20CE404-Soil Mechanics - Slide Share PPT
saravananr808639
 
PDF
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Mark Billinghurst
 
Bitumen Emulsion by Dr Sangita Ex CRRI Delhi
grilcodes
 
Solar thermal – Flat plate and concentrating collectors .pptx
jdaniabraham1
 
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
 
Deep Learning for Natural Language Processing_FDP on 16 June 2025 MITS.pptx
resming1
 
Rapid Prototyping for XR: Lecture 4 - High Level Prototyping.
Mark Billinghurst
 
Data Structures Module 3 Binary Trees Binary Search Trees Tree Traversals AVL...
resming1
 
Industry 4.o the fourth revolutionWeek-2.pptx
KNaveenKumarECE
 
retina_biometrics ruet rajshahi bangdesh.pptx
MdRakibulIslam697135
 
Introduction to Python Programming Language
merlinjohnsy
 
DESIGN OF REINFORCED CONCRETE ELEMENTS S
prabhusp8
 
دراسة حاله لقرية تقع في جنوب غرب السودان
محمد قصص فتوتة
 
Industrial internet of things IOT Week-3.pptx
KNaveenKumarECE
 
تقرير عن التحليل الديناميكي لتدفق الهواء حول جناح.pdf
محمد قصص فتوتة
 
Tally.ERP 9 at a Glance.book - Tally Solutions .pdf
Shabista Imam
 
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
IJDKP
 
Rapid Prototyping for XR: Lecture 5 - Cross Platform Development
Mark Billinghurst
 
CST413 KTU S7 CSE Machine Learning Clustering K Means Hierarchical Agglomerat...
resming1
 
Complete University of Calculus :: 2nd edition
Shabista Imam
 
20CE404-Soil Mechanics - Slide Share PPT
saravananr808639
 
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Mark Billinghurst
 
Ad

COMPUTER SCIENCE PROJECT OF RAILWAY RESERVATION SYSTEM PYTHON PROGRAMMING.pdf

  • 1. ASSISI CONVENT SCHOOL Agra Road, Etah (UP) Pin 207001 PROJECT REPORT On RAILWAY RESERVATION SYSTEM ACADEMIC SESSION 2022-2023 SUBJECT COMPUTER SCIENCE (083) Prepared By : 1.AKSHAT TIWARI 2.KUSHAGRA DUBEY 3.ARYAN SINGH TOMAR 4.AMAN PRATAP ASSISI CONVENT SCHOOL
  • 2. Agra Road, Etah(UP) Pin 207001 CERTIFICATE This is to certify that AKSHAT TIWARI of Class XII, has completed his project entitled “RAILWAY RESERVATION SYSTEM” under my supervision for the subject “COMPUTER SCIENCE(083) ” for All India Secondary School Examination 2022-2023. He has taken proper care and shown utmost sincerity in the completion of this project. I certify that this project is up to my expectation and as per the guidelines issued by CBSE. RAHUL JOHRI ANJALI MARIA H.O.D (Computer Science) Principal Assisi Convent School Assisi Convent School Etah Etah ACKNOWLEDGEMENT
  • 3. Firstly, I would like to express my special thanks of gratitude to my principal REV. SR. ANJALI MARIA, who gave me this opportunity to work on this project. I would like to thank her for the completion of this project. Secondly, I would like to thank my subject teacher MR. RAHUL JOHRI who continuously guided me and helped me from time to time during the development of this project. At last, I would like to thank my friends and family members for their valuable support. AKSHAT TIWARI TABLE OF CONTENTS
  • 4. SN PARTICULARS PAGE NO. TEACHER’S SIGNATURE 1 INTRODUCTION OF THE PROJECT 1 2 REQUIREMENTS 2-3 3 PROGRAMMING LANGUAGE & CONCEPTS USED 4 4 PACKAGES, MODULES AND FUNCTIONS USED 5-7 5 DATABASE & TABLES USED 8-11 6 SCOPE OF THE PROJECT 12-13 7 PROJECT CODE 14-30 8 SCREENSHOTS OF THE OUTPUT 31-34
  • 5. INTRODUCTION TO THE PROJECT The topic of the project is RAILWAY RESERVATION SYSTEM .The railway reservation system facilitates the passengers to enquiry about the trains available on the basis of source and destination, booking and cancellation of tickets, enquiry about the status of the booked ticket, etc. The aim of case study is to design and develop a data base maintaining records of different trains, train status and passengers.This project contains introduction to the railways reservation system. It is the computerized system of reserving the seats of train seats in advance. It is mainly used for a long route. Online reservation has made the process for the reservation of seats very much easier than ever before.
  • 6. REQUIREMENTS HARDWARE REQUIREMENTS :- • The hardware requirements are laptop of RAM- 4.00 GB32-bit operating system • printer SOFTWARE REQUIREMENTS: • A window based operating system with DOS support • The system must be connected with a LAN connection PROCESSOR REQUIREMENTS: • Intel(R) Core(TM) i5-4300M CPU @ 2.60GHz 2.60 GHz MEMORY REQUIREMENTS: • Hard disk of about 152GB OTHER REQUIREMENTS: • MySql version 5.7 • Python version 3.10.5
  • 8. PROGRAMING LANGUAGE AND CONCEPTS USED The programming language of the project is PYTHON The concepts that we have used in our project are --- we have taken the use of MySql connectivity for this project , we had made a database in Sql with the help of python programming and perform every task in Sql by python programming only. We made various types of user defined functions for the function of each and every functioning in the program. We made the use of if , elif and else approx in every function for the conditional statements . we have also imported tabulate and random module , tabulate module for displaying the data from the database in a tabular form and random module for generating random no. from randint() method for generating a random pnr_no for the tickets. PACKAGES, MODULES &
  • 9. FUNCTIONS USED PACKAGE NAME MODULE NAME FUNTION S DESCRIPTION Nil random randint() Used to generate a Pnr number in a given range mysql. connector connect() To make a connection between mysql and python cursor() It provides a cursor object for the working of the database through menu() It regulates activities like signup, signin in the project main() It regulates all the activities like ticket booking, checking ,cancelling and
  • 10. User defined functions also show the account details of the user ticket_boo king() This function is for the booking of the ticket for train delhi() This function is for the fare of the train delhi express sabarmati () This function is for the fare of the train sabarmati express goa() This function is for the fare of the train goa express User Defined functions chennai() This function is for the fare of the train chennai express ticket_che cking() This function is for the checking for the booked tickets ticket_can celling() This function is for the cancellation of the booked tickets
  • 11. DATABASE & TABLES USED tabulate checking_ 2() This function is for the deletion of existing user account checking_ 1() This function is for creating a new account in the project checking() This function is used for logging in of an existing account in project checking_ 3() This function is for checking our personal account details tabulate() Used for displaying the data in a tabular format
  • 12. The Database used in this project is RAILWAY104 TABLE NAME FIELD NAME DATA TYPE DESCRIPTION User_ accounts fname varchar(100) Stores the first name of the user lname varchar(100) Stores the last name of the user user_ name varchar(100) Stores the username of the user password Varchar(100) Stores the password for the account of the user phno Varchar(15) Stores the phone no. of the user gender Varchar(50) Stores the gender of the user dob Varchar(50) Stores the date of birth of the user age Varchar(4) Stores the age of the user
  • 13. TABLE NAME FILED NAME DATA TYPE DESCRIPTION Train_ details TRAIN_ NAME Varchar(30) Stores the train name given by the user TRAIN_NO Varchar(20) Stores the train no given by the user Source Varchar(30) Stores the starting point or location of the train Destination Varchar(30) Stores the destination of the train AC1 Varchar(20) Stores the AC1 fare of the ticket AC2 Varchar(20) Stores the AC2 fare of the AC3 Varchar(20) Stores the AC3 fare of the ticket Sleeper Varchar(10) Stores the sleeper fare of ticket
  • 14. TABLE NAME FILED NAME DATA TYPE DESCRIPTION Railway PNR_NO Varchar(10) Stores the generated pnr no. pname Varchar(30) Stores the passenger name Age Int(11) Store the age of the passenger Train_no Varchar(10) Store the train no of that train with which the passenger is travelling Train_name Varchar(30) Store the train name of that train with which the passenger is travelling gender Varchar(10) Stores the gender of the passemger
  • 15. SCOPE OF THE PROJECT Class Varchar(10) Stores the class of the train source Varchar(20) Stores the starting point of the train Destination Varchar(30) Stores the destination of the train fare int(11) Stores the fare of the train of the pasengers
  • 16. The scope of the project railway reservation system is we can perfrom a various types of activities through this project. When you run the code the most starting you will get to see is there will be four options 1. SIGN IN 2. SIGN UP 3. DELETE ACCOUNT 4. EXIT first you should sign up for new user account , when you made it just select the 1st option and sign in with the same account you made above . now you will get to see 4 options again 1.TICKET BOOKING, 2.TICKET CHECKING, 3. TICKET CANCELLING AND ACCOUNT DETAILS you have to choose the first option first and by following the steps you can book a ticket , for booking you have 4 trains available in this project that will also be shown to you at the time of booking . so just select the type of seat and book the train. After booking the train you can choose 2nd option that is TICKET CHECKING , while booking of the train you will have gotten a PNR Number so now while checking just insert your generated PNR number and you will get to know the no of tickets you have booked with that PNR no. In this project we have only given a limit of 2 tickets with one PNR number at a time Now just select the 3rd option that is TICKET CANCELLING here also you will be asked by the same
  • 17. PNR no generated at that time . just type the no and your all tickets will be cancelled Our last option is account details ,here you get all the details about the account you made at first . You can log out your account with this project and also can delete the existing account that you have made That’s all this project can perform for the users PROJECT CODE TABLES CODE:-
  • 18. import mysql.connector db=mysql.connector.connect(host='localhost',user='root',pass word='akshat@123') c=db.cursor() s="create database railway104" c.execute(s) s="use railway104" c.execute(s) s="create table railway(PNR_No varchar(10),pname varchar(30), Age integer,Train_No varchar(10),train_name varchar(30),gender varchar(10),Class varchar(10),source varchar(20),Destination varchar(30),fare integer)" c.execute(s) s="create table user_accounts(fname varchar(100),lname varchar(100),user_name varchar(100),password varchar(100) ,phno varchar(15),gender varchar(50),dob varchar(50),age varchar(4))" c.execute(s) s="create table train_details(Train_Name varchar(30), Train_No varchar(20),Source varchar(30), Destination varchar(30), Ac1 varchar(20),Ac2 varchar(20), Ac3 varchar(20), Sleeper varchar(10))" c.execute(s) s="insert into train_details values('delhi express','2365','delhi','jaipur',6000,'5000','4000','4000')" c.execute(s) s="insert into train_details values('goa express','3425','agra','goa',10000,'9000','8000','7000')" c.execute(s) s="insert into train_details values('chennai express','1267','delhi','chennai',12000,'10000','9000','7000')" c.execute(s)
  • 19. s="insert into train_details values('sabarmati express','2365','agra','gujarat',9000,'8000','7000','5000')" c.execute(s) db.commit() MAIN CODE:- import random import mysql.connector mycon=mysql.connector.connect(host='localhost',user='root',p asswd='akshat@123',database='railway104') cursor=mycon.cursor() mycon.autocommit=True from tabulate import tabulate def menu(): ch=1 while ch==1: print('tt-------WELECOME TO ONLINE RAILWAY RESERVATION SYSTEM-------tt') print('1.SIGN IN') print('2.SIGN UP') print('3.DELETE ACCOUNT') print('4.EXIT') ch1=int(input('ENTER YOUR CHOICE:')) if ch1==1: a=checking() if a==True: print('WELCOME') main()
  • 20. else: continue elif ch1==2: a=checking_1() if a==True: main() else: print('PASSWORD ALREADY EXISTS') continue elif ch1==3: c=checking_2() if c==True: print('ACCOUNT DELETED') continue else: print('YOUR PASSWAORD OR USER_NAME IS INCORRECT') continue elif ch1==4: print('THANK YOU') break else: print('ERROR 404:PAGE NOT FOUND') break
  • 21. print('1.YES') print('2.NO') ch=int(input('DO YOU WANT TO CONTINUE OR NOT:')) def main(): print('1.YES') print('2.NO') c=int(input("DO YOU WANT TO CONTINUE OR NOT:")) while (c==1): print(' 1.TICKET BOOKING',"n", '2.TICKET CHECKING',"n",'3.TICKET CANCELLING',"n",'4.ACCOUNT DETAILS',"n",'5.LOG OUT') ch=int(input('enter ur choice:')) if ch==1: ticket_booking() elif ch==2: ticket_checking() elif ch==3: ticket_cancelling() elif ch==4: checking_3() elif ch==5: print('THANK YOU') break else: print('WRONG INPUT')
  • 22. else: print('ERROR 404: ERROR PAGE NOT FOUND') def ticket_booking(): mycon.autocommit=True print("******AVAILABLE TRAINS******") g="select*from train_details" cursor.execute(g) data=cursor.fetchall() Data=list(data) a=['TRAIN_NAME','TRAIN_NO','SOURCE','DESTINATION','AC1' ,'AC2','AC3','SLEEPER'] print(tabulate(data,headers=a,tablefmt="psql")) print("2365.DELHI EXPRESS") print("3425.GOA EXPRESS") print("1267.CHENNAI EXPRESS") print("2564.SABARMATI EXPRESS") x=input("ENTER THE TRAIN NO. FOR MORE TICKET OPTIONS:") n=int(input("HOW MANY TICKETS YOU WANTn(YOU CAN BOOK ONLY 2 TICKETS):")) if n<=2: if x=='2365': g=delhi()
  • 23. h="JAIPUR" c1="DELHI" c2="DELHI EXPRESS" elif x=='3425': g=goa() h="GOA" c1="AGRA" c2="GOA EXPRESS" elif x=='1267': g=chennai() h="CHENNAI" c1="DELHI" c2="CHENNAI EXPRESS" elif x=='2564': g=sabarmati() h="GUJARAT" c1="AGRA" c2="SABARMATI EXPRESS" else: print("INVALID OPTION") pnrno=random.randint(1000,3000) for i in range (n): b=input("ENTER THE PERSON'S NAME:") c=input("ENTER THE AGE:") print(' M=MALE','n','F=FEMALE','n','N=NOT TO MENTION') v={'m':'MALE','f':'FEMALE','n':'NOT TO MENTION'}
  • 24. s=input("ENTER THE GENDER:") s2="insert into railway values('{}','{}',{},'{}','{}','{}','{}','{}','{}','{}')".format(pnrno,b,c,x,c2,s,g[1] ,c1,h,g[0]) cursor.execute(s2) print('BOOKED SUCCESSFULLY') print("YOUR PNR NO. GENERATED IS :",pnrno) else: print("MORE THAN 2 TICKETS ARE NOT ALLOWED") def delhi(): x=input("ENTER YOUR CHOICE OF TICKET(AC1/AC2/AC3/SLEEPER):") if(x=='ac1'): print ("YOU HAVE Chosen FIRST CLASS AC TICKET") s=6000 elif (x=='ac2'): print ("YOU HAVE Chosen SECOND CLASS AC TICKET") s=5000 elif (x=='ac3'): print ("YOU HAVE Chosen THIRD CLASS AC TICKET") s=4000 elif (x=='sleeper'):
  • 25. print ("YOU HAVE Chosen SLEEPER TICKET") s=3000 else: print("Invalid option") print("YOUR TICKET PRICE FOR EACH IS ",s,"n") return s,x def sabarmati(): x=input("ENTER YOUR CHOICE OF TICKET(AC1/AC2/AC3/SLEEPER):") if(x=='ac1'): print ("YOU HAVE Chosen FIRST CLASS AC TICKET") s=9000 elif (x=='ac2'): print ("YOU HAVE Chosen SECOND CLASS AC TICKET") s=8000 elif (x=='ac3'): print ("YOU HAVE Chosen THIRD CLASS AC TICKET") s=7000 elif (x=='sleeper'): print ("YOU HAVE Chosen SLEEPER TICKET") s=5000 else: print("Invalid option") print("YOUR TOTAL TICKET PRICE FOR EACH IS ",s,"n")
  • 26. return s,x def goa(): x=input("ENTER YOUR CHOICE OF TICKET(AC1/AC2/AC3/SLEEPER):") if(x=='ac1'): print ("YOU HAVE Chosen FIRST CLASS AC TICKET") s=10000 elif (x=='ac2'): print ("YOU HAVE Chosen SECOND CLASS AC TICKET") s=9000 elif (x=='ac3'): print ("YOU HAVE Chosen THIRD CLASS AC TICKET") s=8000 elif (x=='sleeper'): print ("YOU HAVE Chosen SLEEPER TICKET") s=7000 else: print("Invalid option") print("YOUR TOTAL TICKET PRICE FOR EACH IS ",s,"n") return s,x def chennai(): x=input("ENTER YOUR CHOICE OF TICKET(AC1/AC2/AC3/SLEEPER):")
  • 27. if(x=='ac1'): print ("YOU HAVE Chosen FIRST CLASS AC TICKET") s=12000 elif (x=='ac2'): print ("YOU HAVE Chosen SECOND CLASS AC TICKET") s=10000 elif (x=='ac3'): print ("YOU HAVE Chosen THIRD CLASS AC TICKET") s=9000 elif (x=='sleeper'): print ("YOU HAVE Chosen SLEEPER TICKET") s=7000 else: print("Invalid option") print("YOUR TOTAL TICKET PRICE FOR EACH IS ",s,"n") return s,x def ticket_checking(): print('1.yes') print('2.no') ch=int(input("WANT TO CHECK A TICKET:")) if ch==1: pnrno=int(input('ENTER YOUR GENERATED PNR NO.:')) try:
  • 28. s1="select * from railway where pnr_no='{}'".format(pnrno) cursor.execute(s1) data=cursor.fetchall() Data=list(data) a=['PNRNO','P.NAME','AGE','TRAIN NO.','TRAIN NAME','GENDER','CLASS','SOURCE','DESTINATION','FARE'] print(tabulate(data,headers=a,tablefmt="psql")) except: print('TICKET DOES NOT EXISTS') elif ch==2: print('THANK YOU') else: print('ERROR 404:PAGE NOT FOUND') def ticket_cancelling(): print('1.yes') print('2.no') ch=int(input("WANT TO CANCEL A TICKET:")) if ch==1: pnrno=input('ENTER THE PNR NO:') s1="delete from railway where pnr_no='{}'".format(pnrno) cursor.execute(s1) print('TICKET CANCELLED') elif ch==2: print('THANK YOU') else: print('ERROR 404:PAGE NOT FOUND')
  • 29. def checking_2(): a=input('USER NAME:') b=input('PASS WORD:') try: s1="select user_name from user_accounts where password='{}'".format(b) cursor.execute(s1) data=cursor.fetchall()[0] data=list(data) if data[0]==a: print('IS THIS YOUR ACCOUNT') s1="select user_name from user_accounts where password='{}'".format(b) c1="select fname,lname from user_accounts where password='{}'".format(b) cursor.execute(c1) data1=cursor.fetchall()[0] data1=list(data1) data1=data1[0]+' '+data1[1] cursor.execute(s1) data=cursor.fetchall()[0] data=list(data) if data[0]==a: x=['FIRST NAME','LAST NAME','PHONE NUMBER','GENDER','DATE OF BIRTH','AGE'] s1="select fname,lname,phno,gender,dob,age from user_accounts where password='{}'".format(b) cursor.execute(s1)
  • 30. data=cursor.fetchall()[0] data=list(data) for i in range(0,6): print(x[i],':::',data[i]) print('1.yes') print('2.no') vi=int(input('enter your choice:')) if vi==1: b1="delete from user_accounts where password = '{}'".format(b) cursor.execute(b1) return True elif vi==2: print('SORRY,RETRY') else: print('ERROR 404:PAGE NOT FOUND') else: return False except: print('ACCOUNT DOES NOT EXIST') def checking_1(): f=input("FIRST NAMEtt:") l=input("LAST NAME tt:") n=f+" "+l a=input('USER NAME tt:') b=input('PASS WORD tt:')
  • 31. c=input('RE-ENTER YOUR PASS WORD :') ph=input("PHONE NUMBERtt:") print(' M=MALE','n','F=FEMALE','n','N=NOT TO MENTION') gen=input('ENTER YOUR GENDERt:') print("ENTER YOR DATE OF BIRTH") d=input("Date(DD) :") o=input("Month(MM) :") p=input("Year(YYYY) :") dob=d+'/'+o+'/'+p age=input('YOUR AGE tt:') v={'m':'MALE','f':'FEMALE','n':'NOT TO MENTION'} if b==c: try: c1="insert into user_accounts values('{}','{}','{}','{}','{}','{}','{}','{}')".format(f,l,a,b,ph,v[gen],dob,age) cursor.execute(c1) print('WELCOME',f,' ',l) return True except: print('PASSWORD ALREADY EXISTS') return False else: print('BOTH PASSWORDS ARE NOT MATCHING') def checking(): a=input('USER NAME:') b=input('PASS WORD:')
  • 32. try: s1="select user_name from user_accounts where password='{}'".format(b) c1="select fname,lname from user_accounts where password='{}'".format(b) cursor.execute(c1) data1=cursor.fetchall()[0] data1=list(data1) data1=data1[0]+' '+data1[1] cursor.execute(s1) data=cursor.fetchall()[0] data=list(data)[0] if data==a: print(' HII ',data1) return True else: return False except: print('ACCOUNT DOES NOT EXIST') def checking_3(): a=input('USER NAME:') b=input('PASS WORD:') try:
  • 33. s1="select user_name from user_accounts where password='{}'".format(b) c1="select fname,lname from user_accounts where password='{}'".format(b) cursor.execute(c1) data1=cursor.fetchall()[0] data1=list(data1) data1=data1[0]+' '+data1[1] cursor.execute(s1) data=cursor.fetchall()[0] data=list(data) if data[0]==a: x=['FIRST NAME','LAST NAME','PHONE NUMBER','GENDER','DATE OF BIRTH','AGE'] s1="select fname,lname,phno,gender,dob,age from user_accounts where password='{}'".format(b) cursor.execute(s1) data=cursor.fetchall() data=list(data) print(tabulate(data,headers=x,tablefmt="psql")) else: return False except: print('ACCOUNT DOES NOT EXIST') menu()
  • 34. SCREENSHOTS OF OUTPUT SIGNING UP FOR A NEW ACCOUNT:-
  • 35. NOW SIGNING IN WITH THE ABOVE ACCOUNT:- NOW MOVING TOWARDS MORE OPTIONS AND BOOK A RAILWAY TICKET:-
  • 36. CHECKING THE TICKET WE BOOKED ABOVE:- CANCELLATION OF THE ABOVE TICKET:-
  • 37. CHECK THE ACCOUNT DETAILS:- NOW LOG OUT THE ACCOUNT :- LETS DELETE THE ACCOUNT:-