cp2024

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 10

1.

import random
2. from tabulate import tabulate
3. import mysql.connector as con
4.

dbo=con.connect(host="localhost",user="root",password="admin",database="train_
reservation")
5. co=dbo.cursor()

i. #NEW USER REGISTRATION SECTION


6. def new_user():
7.

dbo=con.connect(host="localhost",user="root",password="admin",database="train_
reservation")
8. co=dbo.cursor()
9. import random
10. pid=random.randint(0,1000)*10
11. print(" ")
12. print(" \n Welcome to our reservation system \n Register Yourself here to use
our system")
13. uid=input("Enter your user id: ")
14. name=input("Enter your name: ")
15. pno=input("Enter your phone no: ")
16. eid=input("Enter your email_id: ")
17. pwd=input("Enter your password: ")
18. co.execute("insert into user values ('{}',{},'{}',
{},'{}','{}')".format(uid,pid,name,pno,eid,pwd))
19. print("************* Congratulations!!! Your id is successfully created
**************")
20. print(" ")
21. dbo.commit()

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():
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. #PASSWORD FUNCTION FOR ACCESS TO USER PANEL


57. def user_panel():
58. print(" 1. Register")
59. print(" 2. Login")
60. print(" 3. Back")
61. out=int(input("Enter your choice: "))
62. if out==1:
63. new_user()
64. elif out==2:
65. old_user()
66. elif out==3:
67. main_menu()

i. #PASSWORD FUNCTION FOR ACCESS TO ADMIN FUNCTION


68. def adminpassword():

69. password=(input("Enter your password: "))


70. if password=="CLASS12CS":
71. print("******************Access Granted********************")
72. print(" ")
73. admin_panel()
74. else:
75. print("***************ACCESS NOT GRANTED ENTER CORRECT PASSWORD************")
76. print(" ")
77. adminpassword()

i. #ADD TRAIN
78. def add_train():
79.

dbo=con.connect(host="localhost",user="root",password="admin",database="train_
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()

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: "))

119. while True:


i. # To Update train no
120. if x==1:
121. print(" ")
122. print("**********YOU ARE GOING TO UPDATE TRAIN NO***********")
123. tname=input("Enter train name whose no you want to update: ")
124. tno=int(input("Enter updated train no: "))
125. co.execute("update train_schedule set train_no={} where train_name='{}'".
format(tno,tname))
126. print("*******UPDATED SUCCESSFULLY********")
127. print(" ")
128. dbo.commit()
129. return

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

i. # To Update train origin


140. elif x==3:

141. print(" ")


142. print("**********YOU ARE GOING TO UPDATE TRAIN ORIGIN***********")
143. tno=int(input("Enter train no whose origin you want to update: "))
144. orgn=input("Enter updated train origin: ")
145. co.execute("update train_schedule set origin='{}' where train_no={}".
format(orgn,tno))
146. print("*******UPDATED SUCCESSFULLY********")
147. print(" ")
148. dbo.commit()
149. return
i. # To Update train destination
150. elif x==4:
151. print(" ")
152. print("**********YOU ARE GOING TO UPDATE TRAIN DESTINATION***********")
153. tno=int(input("Enter train no whose destination you want to update: "))
154. td=input("Enter updated train destination: ")
155. co.execute("update train_schedule set destination='{}' where train_no={}".
format(td,tno))
156. print("*******UPDATED SUCCESSFULLY********")
157. print(" ")
158. dbo.commit()
159. return

i. # To Update journey distance


160. elif x==5:
161. print(" ")
162. print("**********YOU ARE GOING TO UPDATE JOURNEY DISTANCE ***********")
163. tno=int(input("Enter train no whose journey dist you want to update: "))
164. tjd=input("Enter updated journey dist: ")
165. co.execute("update train_schedule set journey_distance='{}' where
train_no={}". format(tjd,tno))
166. print("*******UPDATED SUCCESSFULLY********")
167. print(" ")
168. dbo.commit()
169. return

i. # To Update the days train is available


170. elif x==6:
171. print(" ")
172. print("**********YOU ARE GOING TO UPDATE AVAILABLE DAYS***********")
173. tno=int(input("Enter train no whose avl_days you want to update: "))
174. tad=input("Enter updated available days: ")
175. co.execute("update train_schedule set avl_days ='{}' where train_no={}".
format(tad,tno))
176. print("*******UPDATED SUCCESSFULLY********")
177. print(" ")
178. dbo.commit()

179. return

i. # To Update journey time


180. elif x==7:
181. print(" ")
182. print("**********YOU ARE GOING TO UPDATE JOURNEY TIME***********")
183. tno=int(input("Enter train no whose journey_time you want to update: "))
184. tj=input("Enter updated journey time: ")
185. co.execute("update train_schedule set total_time='{}' where train_no={}".
format(tj,tno))
186. print("*******UPDATED SUCCESSFULLY********")
187. print(" ")
188. dbo.commit()
189. return

i. # To Update no of seats in ac coach of that train


190. elif x==8:
191. print(" ")
192. print("**********YOU ARE GOING TO UPDATE SEATS IN AC***********")
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

i. # To Update no of seats in SL coach of that train


200. elif x==9:
201. print(" ")
202. print("**********YOU ARE GOING TO UPDATE SEATS IN SL***********")
203. tno=int(input("Enter train no whose no of seats in Sl you want to update: "))
204. tss=input("Enter updated no of seats in Sl: ")
205. co.execute("update train_schedule set sl='{}' where train_no={}".
format(tss,tno))
206. print("*******UPDATED SUCCESSFULLY********")
207. print(" ")
208. dbo.commit()
209. return
i. # To Update no of seats in GEN coach of that train
210. elif x==10:
211. print(" ")
212. print("**********YOU ARE GOING TO UPDATE SEATS IN GEN***********")
213. tno=int(input("Enter train no whose no of seats in GEN you want to update:
"))

214. tsg=input("Enter updated no of seats in GEN: ")


215. co.execute("update train_schedule set gen='{}' where train_no={}".
format(tsg,tno))
216. print("*******UPDATED SUCCESSFULLY********")
217. print(" ")
218. dbo.commit()
219. return

i. # To Update fare price of AC of that train


220. elif x==11:
221. print(" ")
222. print("**********YOU ARE GOING TO UPDATE FARE PRICE OF AC***********")
223. tno=int(input("Enter train no whose fare price of ac you want to update: "))
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

i. # To Update fare price of SL of that train


230. elif x==12:
231. print(" ")
232. print("**********YOU ARE GOING TO UPDATE FARE PRICE OF SL***********")
233. tno=int(input("Enter train no whose fare price of SL you want to update: "))
234. tfs=input("Enter updated fare price of SL: ")
235. co.execute("update train_schedule set sl_fare={} where train_no={}".
format(tfs,tno))
236. print("*******UPDATED SUCCESSFULLY********")
237. print(" ")
238. dbo.commit()
239. return
i. # To Update fare price of GEN of that train

240. elif x==13:


241. print(" ")
242. print("**********YOU ARE GOING TO UPDATE FARE PRICE OF GEN***********")
243. tno=int(input("Enter train no whose fare price of GEN you want to update: "))
244. tfg=input("Enter updated fare price of GEN: ")
245. co.execute("update train_schedule set gen_fare={} where train_no={}".
format(tfg,tno))
246. print("*******UPDATED SUCCESSFULLY********")
247. print(" ")
248. dbo.commit()
249. return

250. elif x==14:


251. print("**********YOU ARE NOW OUT OF UPDATE DETAILS SECTION***********")
252. break
253. return

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 ****************")

i. #ADMIN PANEL OPTIONS


261. def admin_panel():
262. while True:
263. try:
264. print(" ")
265. print("******Welcome to admin panel******")
266. print("1. Add train")
267. print("2. Update details")
268. print("3. Cancel Train")
269. print("4. Log out")
270. opt=int(input("Choose your option: "))
271.
a. if opt==1:
add_train()
272. elif opt==2:

273. a. update_details()
elif opt==3:
a. cancel_train()
274.
a. elif opt==4:
print("**********You are out of admin panel***********")
b. print(" ")

275. c. main_menu()
except InvalidOptionError as e:
276. print(f"Error: {e}")
277. except:
278. print("**********Choose a correct option***********")
279. print(" ")

i. #PASSENGER PANEL FUNCTIONALITIES


280. def Train_Search():
281. dbo=con.connect(host="localhost",user="root",password="admin",database=
"train_reservation")
282. co=dbo.cursor()
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))
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()

344. def Cancel_Ticket():


345. dbo=con.connect(host="localhost",user="root",password="admin",database=
"train_reservation")
346. co=dbo.cursor()
347. pnr=int(input("enter pnr no. you want to cancel: "))
348. co.execute("delete from booked_tickets where pnr_no={}".format(pnr))
349. dbo.commit()
350. print("*********** Your ticket cancelled Successfully ****************")

i. #PASSENGER PANEL
351. def passenger_panel(uid):
352. dbo=con.connect(host="localhost",user="root",password="admin",database=
"train_reservation")
353. co=dbo.cursor()
354. while True:
355. print(" ")

356. print("******Welcome to passenger panel******")


357. print("1. Train Search")
358. print("2. Book Ticket")
359. print("3. Cancel Ticket")
360. print("4. Log out")
361. choic=int(input("Enter your choice to use: "))
362. if choic==1:
363. Train_Search()
364. elif choic==2:
365. Book_Ticket(uid)
366. elif choic==3:
367. Cancel_Ticket()
368. elif choic==4:
369. main_menu()
370. print("*****You are successfully logged out of Passenger panel*****")
371. print(" ")

i. #Panel functions
372. def main_menu():
373. print(" ")
374. print("********WELCOME TO TRAIN RESERVATION SYSTEM********")
375. print("1. Admin panel")
376. print("2. Passenger panel")
377. print("3. Exit")
378. ch=int(input("Enter your choice: "))
379. while True:
380. if ch==1:
381. adminpassword()
382. elif ch==2:
383. user_panel()
384. elif ch==3:
385. print("***** Thank You for using reservation system*****")
386. print(" ")
387. break
388. main_menu()

You might also like