0% found this document useful (0 votes)
13 views14 pages

Cspro

The document describes a railway reservation system project created by Raviramanbumani. The program allows users to view train details, book and cancel tickets, and check the status of reservations. It uses a MySQL database to store information on trains, passengers, and reservations. The Python code implements menu-driven functions for the different reservation tasks. Sample outputs demonstrate booking and cancelling a ticket using the PNR number.

Uploaded by

Drums Raviram
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views14 pages

Cspro

The document describes a railway reservation system project created by Raviramanbumani. The program allows users to view train details, book and cancel tickets, and check the status of reservations. It uses a MySQL database to store information on trains, passengers, and reservations. The Python code implements menu-driven functions for the different reservation tasks. Sample outputs demonstrate booking and cancelling a ticket using the PNR number.

Uploaded by

Drums Raviram
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Hari om!

VGN CHINMAYA VIDYALAYA

COMPUTER SCIENCE
PROJECT

RAILWAY RESERVATION

by RAVIRAM ANBUMANI

XII - A 12A08
Acknowledgement:

I RAVIRAMANBUMANIof class XII A roll no.12A08

wouldliketoexpressmy sinceregratitudetomycomputer scienceteacher

Mr.SUKUMAR.CV, COMPUTERSCIENCE,for his vital support, guidanceand

encouragement– withoutwhichthisprojectwouldnot havecomeforth.

I wouldalsoliketoexpress mygratitudetomyschool VGN CHINMAYA

VIDYALAYAforlettingmeusetheschool laboratory.
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
onehastotakea print andjusthavetoshowatthestation.

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
acceptedacross thecountry.
OVERVIEW OF THE PROGRAM:

This is a project based on train reservation. The program helps us to enter,


displayoralterthedetailsof differenttrains.

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.
whethertheticketis confirmedor not.

It includesvarious functionprograms to dotheabovementionedtasks.

Datafilehandlinghas been effectivelyusedintheprogram.

The database is a collection of interrelated data to serve multiple applications.


That is database programs create files of information. So we see that files are
workedwith most,insidetheprogram.

DBMS

The software required for the management of data is called as DBMS. It has3
models

• Relationmodel

• Hierarchical model

• Networkmodel

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 thetable is
calledascardinality.Number of columnsinthetableis calledas degree.

HIERARCHICALMODEL: In thistypeof model,wehavemultiplerecordsforeach


record. Aparticular recordhasoneparentrecord.Nochiderecordcanexist
without parentrecord.Inthis,therecordsareorganizedin tree(likestructure

NETWORKMODEL:-Inthis,thedata is representedby collectionof recordsand


relationshipis representedby (inkorassociation.

CHARACTERISTICSOF DB MS: -

• Itreduces theredundancy

• Reduction ofdata in inconsistency

• Data sharing

• Data standardization

DIFFERENTTYPESOFFILES: -BASED ONACCESS:-

• Sequential file

• Serial file

• Random(direct access) fileBASED ONSTORAGE:-

• Textfile

• BinaryFile
DBMS: MySQL
Host : localhost
User: root
Pass: root
DataBase: RAIL Table Structure: (Images Bellow)
Python Code:

import mysql.connector

pnr = 1024
mydb = mysql.connector.connect(host="localhost", user="vaibhav", passwd="vaibhav",
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")

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 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. 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()
print("PNR STATUS are as follows : ")
print("(pname,age,trainno, noofpas,cls,amt,status, pnrno)")
for x in res:
print(x)
print("Go back to menu")
print('\n' * 10)
print("===================================================================")
railresmenu()
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
CERTIFICATE

CLASS: XII - A YEAR:2023-24

This is to certify that Investigatory Project is successfully

completed by RAVIRAM ANBUMANI of Class: XII A Roll


no. : 12A08 for the academic year 2023 - 2024 in the
School Computer lab.

Head Teacher External Internal Examiner


Signature: Examiner (Subject Teacher)

Date: / / 20 Department of: COMPUTER


SCIENCE

Principal

You might also like