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

Source Code

The document contains a Python script for a railway reservation system that connects to a MySQL database. It provides functionalities for viewing train details, reserving tickets, canceling tickets, and displaying PNR status. The script includes functions for each operation and handles user input to perform the corresponding database actions.

Uploaded by

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

Source Code

The document contains a Python script for a railway reservation system that connects to a MySQL database. It provides functionalities for viewing train details, reserving tickets, canceling tickets, and displaying PNR status. The script includes functions for each operation and handles user input to perform the corresponding database actions.

Uploaded by

Umang
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

SOURCE CODE

import mysql.connector
import os
import platform

pnr = 1024

mydb = mysql.connector.connect(host="localhost", user="root",


passwd="Prachikhinchi2007", database="project")
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")
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[0], l[1], l[2], l[3], l[4], l[5])


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 details?")
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 passengers: "))
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. AC 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 * 350
cls = 'ac3'
else:
amount = np * 350
cls = 'lp'

l1.append(cls)
print("Total amount to be paid: ", amount)
l1.append(amount)
pnr += 1
print("PNR Number: ", pnr)
print("Status: Confirmed")
sts = 'conf'
l1.append(sts)
l1.append(pnr)

train1 = (l1[0], l1[1], l1[2], l1[3], l1[4], l1[5], l1[6], l1[7])


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()

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()
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()

You might also like