-
Notifications
You must be signed in to change notification settings - Fork 141
/
Copy pathRailway management system.py
233 lines (182 loc) · 6.12 KB
/
Railway management system.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
import pandas as pd
import mysql.connector as sql
conn=sql.connect(host='localhost',user='root',passwd='isha@2192',database='railway')
if conn.is_connected():
print('successfully connected')
def menu():
print()
print("********************************************************")
print( " RAILWAY MANAGEMENT SYSTEM Project")
print("1. Create Table Passenger")
print("2. Add new Passenger Detail")
print("3. Create Table traindetail")
print("4. Add new in Train Detail")
print("5. Show ALL from train detail")
print("6. Show ALL from Passenger Table")
print("7. Show PNR NO.")
print("8. Reservation of Ticket")
print("9. Cancellation of Reservation")
menu()
#PNR is the abbreviation of "Passenger Name Record" and
# it is also used as booking no.
def create_passengers():
c1=conn.cursor()
c1.execute('create table if not exists passengers(pname varchar(30), age varchar(25),trainno varchar(30),noofpas varchar(25),cls varchar(25),destination varchar(30),amt varchar(20),status varchar(25),pnrno varchar(30))')
print('table passengers created')
def add_passengers():
c1=conn.cursor()
L=[]
pname=input("ENTER NAME: ")
L.append(pname)
age=input("ENTER AGE: ")
L.append(age)
trainno=input("ENTER TRAIN NO. : ")
L.append(trainno)
noofpas=input("ENTER NO. OF PASSENGERS : ")
L.append(noofpas)
cls=input("ENTER CLASS : ")
L.append(cls)
destination=input("ENTER DESTINATION : ")
L.append(destination)
amt=input("ENTER FARE: ")
L.append(amt)
status=input("ENTER STATUS: ")
L.append(status)
pnrno=input("ENTER pnrno. : ")
L.append(pnrno)
pas=(L)
sql="insert into passengers(pname,age,trainno,noofpas,cls,destination,amt,status,pnrno)values(%s,%s,%s,%s,%s,%s,%s,%s,%s)"
c1.execute(sql,pas)
conn.commit()
print('Record of Passenger inserted')
df=pd.read_sql("select * from passengers", conn)
print(df)
def create_trainsdetail():
c1=conn.cursor()
c1.execute('create table if not exists trainsdetail(tname varchar(30),tnum varchar(25),source varchar(30),destination varchar(30),fare varchar(10),ac1 varchar(25),ac2 varchar(30),slp varchar(30))')
print('table trainsdetail created')
def add_trainsdeatil():
c1=conn.cursor()
df=pd.read_sql("select * from trainsdetail", conn)
print(df)
L=[]
tname=input("ENTER TRAIN NAME : ")
L.append(tname)
tnum=input("ENTER NUMBER OF TRAIN: ")
L.append(tnum)
source=input("ENTER SOURCE OF TRAIN: ")
L.append(source)
destination=input("ENTER DESTINATION OF TRAIN: ")
L.append(destination)
fare=input("ENTER FARE OF STATION: ")
L.append(fare)
ac1=input("ENTER No. OF SEATS FOR AC1: ")
L.append(ac1)
ac2=input("ENTER No. OF SEATS FOR AC2: ")
L.append(ac2)
slp=input("ENTER No. OF SEATS FOR SLEEPER : ")
L.append(slp)
f=(L)
sql="insert into trainsdetail(tname,tnum,source,destination,fare,ac1,ac2,slp)values(%s,%s,%s,%s,%s,%s,%s,%s)"
c1.execute(sql,f)
conn.commit()
print('Record inserted in Trains Detail')
def showtrainsdetail():
print('ALL TRAINS DETAIL')
df=pd.read_sql("select * from trainsdetail",conn)
print(df)
def showpassengers():
print('ALL PASSENGERS DETAIL')
df=pd.read_sql("select * from passengers ", conn)
print(df)
def disp_pnrno():
print("PNR STATUS WINDOW")
a=input("Enter Train No. : ")
qry="select pname,status from passengers where trainno=%s;"%(a,)
df=pd.read_sql(qry,conn)
print(df)
def ticketreservation():
print("WE HAVE THE FOLLOWING SEAT TYPE FOR YOU :- ")
print("TNAME is 1 FOR GOA EXPRESS FROM NEW DELHI :- ")
print()
print("1. FIRST CLASS AC RS 6000 Per PERSON")
print("2. SECOND CLASS AC RS 5000 Per PERSON")
print("3. THIRD CLASS AC RS 4000 Per PERSON")
print("4. FOR SLEEPER RS 3000 Per PERSON")
print()
print("TNAME is 2 FOR JAMMU EXPRESS FROM NEW DELHI:-")
print()
print("1. FIRST CLASS AC RS 10000 Per PERSON")
print("2. SECOND CLASS AC RS 9000 Per PERSON")
print("3. THIRD CLASS AC RS 8000 Per PERSON")
print("4. FOR SLEEPER RS 7000 Per PERSON")
tname = input("ENTER YOUR CHOICE of TRAIN NAME PLEASE->")
print(tname)
x = int(input("ENTER YOUR CHOICE of TICKET PLEASE->"))
n = int(input("HOW MANY TICKETS YOU NEED :"))
if tname == '1':
if x == 1:
print("YOU HAVE Chosen FIRST CLASS AC TICKET")
s = 6000 * n
elif x == 2:
print("YOU HAVE Chosen SECOND CLASS AC TICKET")
s = 5000 * n
elif x == 3:
print("YOU HAVE Chosen THIRD CLASS AC TICKET")
s = 4000 * n
elif x == 4:
print("YOU HAVE Chosen SLEEPER TICKET")
s = 3000 * n
else:
print("Invalid option")
return
elif tname == '2':
if x == 1:
print("YOU HAVE Chosen FIRST CLASS AC TICKET")
s = 10000 * n
elif x == 2:
print("YOU HAVE Chosen SECOND CLASS AC TICKET")
s = 9000 * n
elif x == 3:
print("YOU HAVE Chosen THIRD CLASS AC TICKET")
s = 8000 * n
elif x == 4:
print("YOU HAVE Chosen SLEEPER TICKET")
s = 7000 * n
else:
print("Invalid option")
return
else:
print("Invalid option for train")
print("your TOTAL TICKET PRICE is =", s, "\n")
def cancel():
print('Before any changes in STATUS')
df=pd.read_sql("select * from passengers",conn)
print(df)
mc=conn.cursor()
mc.execute("update passengers set status='cancelled' where pnrno='G1001'")
#conn.commit()
df=pd.read_sql("select * from passengers",conn)
print(df)
opt=""
opt=int(input("Enter your choice: "))
if opt==1:
create_passengers()
if opt==2:
add_passengers()
if opt==3:
create_trainsdetail()
if opt==4:
add_trainsdeatil()
if opt==5:
showtrainsdetail()
elif opt==6:
showpassengers()
elif opt==7:
disp_pnrno()
elif opt==8:
ticketreservation()
elif opt==9:
cancel()
elif opt>=10:
print('Invalid option')