Project File CS Railway
Project File CS Railway
2024-25
PROJECT TOPIC :
RAILWAY RESERVATION SYSTEM
Submitted By:
Name: PALLAVI PUNDIR
Class: XII-A
roll no: 19
Submitted To: MR. YOGESH BAJAJ PGT CS.
1|Page
COMPUTE SCIENCE PROJect
2024-25
PROJECT TOPIC :
RAILWAY RESERVATION SYSTEM
Submitted By:
Name: DIKSHANSH
Class: XII-A
roll no: 14
Submitted To: MR. YOGESH BAJAJ
PGTS(CS)
2|Page
CERTIFICATE
PRINCIPAL
3|Page
CERTIFICATE
PRINCIPAL
4|Page
ACKNOWLEDGMENT
It is with pleasure that I acknowledge my sincere
gra�tude to our teacher, MR. YOGESH BAJAJ
who taught and undertook the responsibility of
teaching the subject computer science. I have
been greatly benefited from his classes.
I am especially indebted to our Principal MR.
MANOJ KUMAR SHARMA who has always been a
source of encouragement and support and
without whose inspira�on this project would not
have been a successful I would like to place on
record hear�elt thanks to him.
Finally, I would like to express my sincere
apprecia�on for all the other students in my
batch their friend & the fine �me that we all
shared together.
TEACHER PRINCIPAL
5|Page
hardwares and softwares
required
HARDWARES
1. Desktop / Laptop
2. Mobile Phone
SOFTWARES
6|Page
contents
S.No. Topic Page No.
1 Cer�ficate 2
2 Acknowledgement 3
4 Introduc�on 6
6 MySQL Database 22
7|Page
.
Update Train Details: The system allows administrators to
modify existing train details, adapting to dynamic demands
and operational changes. This includes updating seat
availability, journey details, and fare information.
Cancel Train: In response to operational constraints or changing
demands, administrators have the authority to cancel trains,
ensuring flexibility and adaptability in the system.
User Interaction
User Login: The system provides a secure login interface for
registered users, requiring user ID and password for access.
Forgot User ID: Users can retrieve forgotten user IDs
through their registered email addresses, enhancing user
experience and reducing barriers to access.
Forgot User ID
The `forgot_user_id()` function provides a mechanism for
users to retrieve their registered user IDs via email
verification, ensuring a smooth user experience.
9|Page
Admin Password Verification
The `adminpassword()` function implements a secure
password system for accessing the admin panel, ensuring
restricted access and system security.
Train Search
The `Train_Search()` function allows users to search for
trains based on origin and destination, providing detailed
information about available trains.
Book Tickets
The `Book_Ticket(uid)` function simulates the ticket booking
process, allowing users to select trains, classes, and
passengers for reservation.
Cancel Tickets
The `Cancel_Ticket()` function facilitates the cancellation of
booked tickets, showcasing the system's ability to handle
modifications to user bookings.
10 | P a g e
Significance of the Project
The significance of our project extends beyond its technical
complexity; it lies in its real-world applicability. In a world
where efficient transportation is vital, an effective railway
reservation system is crucial. The project addresses the
pressing need for systems that can adapt to the evolving
demands of the railway industry while prioritizing user
satisfaction, security, and transparency.
i. #FORGET USER ID
22. def forgot_user_id():
23. dbo=con.connect(host="localhost",user="root",password="admin",database="train_
reservation")
24. co=dbo.cursor()
25. email=input("Enter your registered email: ")
26. co.execute("select user_id from user where email_id like '{}'".format(email))
27. emel=co.fetchall()
28. for i in emel:
29. print("Your user_id is: ",(i[0]))
i. # old user id
30. def old_user():
12 | P a g e
31. dbo=con.connect(host="localhost",user="root",password="admin",database="train_
reservation")
32. co=dbo.cursor()
33. print("\n---------------------------------------------------------------\n")
34. uid=input("Enter your user id: ")
35. co.execute("select user_id from user where user_id like '{}'".format(uid))
36. b=co.fetchall() 37. c=len(b)
38. if c==0:
39. print("---------------- Your given id is not registered -----------------")
40. print("\n------------------------------------------------------------------\n")
41. print("1. Try again")
42. print("2. Forgot user id")
43. print("3. Register as a new user")
44. choose=int(input("Choose an option from above: "))
45. if choose==1:
46. old_user() 47. elif choose==2:
48.
forgot_user_id()
49. elif choose==3:
50. new_user() 51.
else:
52. pas=input("Enter your password: ")
53. co.execute("select password from user where password like '{}'".format(pas))
54. n=co.fetchall() 55. for i in n:
56. if pas==(i[0]):
a. print("\n---------------------------------------------------------------\n")
b. print("-----------Welcome back sir/ma'am what's your plan Today??---------\n") c.
passenger_panel(uid)
i. #ADD TRAIN
78. def add_train():
79. dbo=con.connect(host="localhost",user="root",password="admin",database="t
rain_ reservation")
80. co=dbo.cursor()
81. print("---------------------------------------------------------------------")
82. a=int(input("Enter train no: "))
83. b=input("Enter train name: ")
84. c=input("Enter train origin: ")
85. d=input("Enter train destination: ")
86. e=int(input("Enter train journey distance: "))
87. g=input("Enter train journey time: ")
88. h=int(input("Enter no of seats in AC: "))
89. i=int(input("Enter no of seats in SL: "))
90. j=int(input("Enter no of seats in GEN: "))
91. k=int(input("Enter price of AC: "))
92. l=int(input("Enter price of SL: "))
93. m=int(input("Enter price of GEN: "))
94. n=input("Enter days available: ")
95. print("---------------------------------------------------------------------")
96. co.execute("insert into train_schedule values
({},'{}','{}','{}',{},'{}',{},{},{},{},{},{},'{}')".format(a,b,c,d,e,g,h,i,j,k,l,m,n))
97. print("*********You have added a new train details successfully************")
98. dbo.commit()
14 | P a g e
i. #UPDATE TRAIN TABLE
99. def update_details():
100. dbo=con.connect(host="localhost",user="root",password="admin",database=
"train_reservation")
101. co=dbo.cursor()
102. print("---------------------------------------------------------------------")
103. print("******Welcome to update train system******")
104. print("1. Update train no")
105. print("2. Update train name")
106. print("3. Update train origin")
107. print("4. Update train destination")
108. print("5. Update journey dist")
109. print("6. Update available days")
110. print("7. Update journey time")
111. print("8. Update no of seats in AC")
112. print("9. Update no of seats in SL")
113. print("10. Update no of seats in GEN")
114. print("11. Update price of AC")
115. print("12. Update price of SL")
116. print("13. Update price of GEN")
117. print("14. Exit")
118. x=int(input("Enter your choice to use: "))
15 | P a g e
i. # To Update train name 130.
elif x==2:
131. print("---------------------------------------------------------------------")
132. print("**********YOU ARE GOING TO UPDATE TRAIN NAME***********")
133. tno=int(input("Enter train no whose name you want to update: "))
134. tname=input("Enter updated train name: ")
135. co.execute("update train_schedule set train_name='{}' where train_no={}".
format(tname,tno))
136. print("*******UPDATED SUCCESSFULLY********")
137. print("---------------------------------------------------------------------")
138. dbo.commit()
139. return
17 | P a g e
193. tno=int(input("Enter train no whose no of seats in AC you want to update: "))
194. tsa=input("Enter updated no of seats in AC: ")
195. co.execute("update train_schedule set ac1='{}' where train_no={}".
format(tsa,tno))
196. print("*******UPDATED SUCCESSFULLY********")
197. print("---------------------------------------------------------------------")
198. dbo.commit()
199. return
18 | P a g e
224. tfa=input("Enter updated fare price of ac: ")
225. co.execute("update train_schedule set ac_fare={} where train_no={}".
format(tfa,tno))
226. print("*******UPDATED SUCCESSFULLY********")
227. print("---------------------------------------------------------------------")
228. dbo.commit()
229. return
19 | P a g e
i. #CANCEL TRAIN 254. def cancel_train():
255. dbo=con.connect(host="localhost",user="root",password="admin",database=
"train_reservation")
256. co=dbo.cursor()
257. ct=int(input("enter train no which you want to cancel: "))
258. co.execute("delete from train_schedule where train_no={}".format(ct))
259. dbo.commit()
260. print("*********** Train cancelled Successfully ****************")
20 | P a g e
283. o=input("Enter your origin: ")
284. d=input("Enter your destination: ")
285. co.execute("select * from train_schedule where origin like '%{}%' and
destination like '%{}%'".format(o,d)) 286. a=co.fetchall() 287. for i in a:
288. print("Train no.: ",a[0][0])
289. print("Train name: ",a[0][1])
290. print("Origin: ",a[0][2])
291. print("Destination: ",a[0][3])
292. print("Journey distance: ",a[0][4])
293. print("Available days: ",a[0][12])
294. print("total time: ",a[0][5])
295. print("Seats in ac1: ",a[0][6])
296. print("Seats in sl: ",a[0][7])
297. print("Seats in GEN: ",a[0][8])
298. print("Fare of ac1: ",a[0][9])
299. print("Fare of sl: ",a[0][10])
300. print("Fare of gen: ",a[0][11])
301. dbo.commit()
i. #BOOK TICKETS
302. def Book_Ticket(uid):
303. dbo=con.connect(host="localhost",user="root",password="admin",database=
"train_reservation")
304. co=dbo.cursor()
305. print("THIS IS OUR ALL TRAINS AVAILABLE \n ---------------------------------------------
------------------------")
306. op="select train_no,train_name,origin,destination from train_schedule"
307. co.execute(op)
308. r=co.fetchall()
309. columns=[i[0] for i in co.description]
310. print(tabulate(r,headers=columns,tablefmt="fancy_grid"))
311. print("---------------------------------------------------------------------\n\n")
312. trainno=int(input("Enter your Train no: "))
313. tcktno=int(input("Enter no of seats you want to book: "))
314. print("1. AC TICKET")
315. print("2. SL TICKET")
316. print("3. GEN TICKET")
317. typ=int(input("Enter your choice of class: ")) 318. if typ==1:
319. a=co.execute("select ac1_fare from
train_schedule where train_no={}".format(trainno))
21 | P a g e
320. b=co.fetchall() 321. print(b[0][0]) 322. elif
typ==2:
323. a=co.execute("select sl_fare from
train_schedule where train_no={}".format(trainno))
324. b=co.fetchall() 325. print(b[0][0]) 326. elif
typ==3:
327. a=co.execute("select gen_fare from train_schedule where
train_no={}".format(trainno))
328. b=co.fetchall()
329. print(b[0][0])
330. for i in range (tcktno):
331. cus1=input("Enter customer name: ")
332. age=int(input("Enter your age: "))
333. print("--------------- For gender M=Male, F=Female, O=Other ------------------")
334. gender=input("Enter your gender: ")
335. j=random.randint(100000,999999)
336. print("Your PNR no is: ",j)
337. cnf="Confirmed"
338. p=b[0][0]
339. co.execute("insert into booked_tickets values
('{}',{},{},'{}',{},'{}',{},'{}')".format(uid,j,trainno,cus1,age,gender,p,cnf))
340. p=b[0][0]
341. amt=tcktno*p
342. print("Your total ticket price is: ",amt)
343. dbo.commit()
388. main_menu()
mysql database
TRAIN TABLE :
23 | P a g e
PASSENGER LIST :
USER DETAILS :
BOOKED_TICKETS:
24 | P a g e
25 | P a g e
OUTPUT :-
26 | P a g e
the admin login panel:
27 | P a g e
cancel ticket:
booking tickets :
search train:
28 | P a g e
references:
1. CLASS 11th& 12th Computer
Science Book
(SUMITA ARORA)
2.PYTHON https://www.python.org/
3.MySQL https://www.mysql.com/
4.KV Coders https://kvcoders.in
79874: 5. IRCTC:
https://www.irctc.co.in/nget/ train-
search
THANK YOU
29 | P a g e