PROJECT ON Railway Reservation System
PROJECT ON Railway Reservation System
ON
“
RAI
LWAYRESERVATI
ON
SYSTEM”
PYTHONCODE:
defmenu(
):
pri
nt(
'1.YES'
)
pri
nt(
'2.NO')
ch=i
nt(input
('DOYOUWANTTOCONTI NUEORNOT:')
)
whil
ech==1:
pri
nt(
'WELECOMETOONLI NERAI
LWAYRESERVATI
ONSYSTEM'
)
pri
nt(
'1.SIGNI N'
)
pri
nt(
'2.SIGNUP' )
pri
nt(
'3.DELETEACCOUNT' )
pri
nt(
'4.EXIT')
ch1=int(i
nput('
ENTERYOURCHOI CE:
'
))
i
fch1==1:
a=checki ng(
)
ifa==Tr ue:
pri
nt(
'WELCOME')
main()
else:
conti
nue
eli
fch1==2:
a=checki ng_1(
)
ifa==Tr ue:
main()
else:
pri
nt(
'PASSWORDALREADYEXISTS'
)
conti
nue
eli
fch1==3:
c=checki ng_2(
)
ifc==Tr ue:
pri
nt(
'ACCOUNTDELETED'
)
conti
nue
else:
pri
nt(
'YOURPASSWAORDORUSER_ NAMEI
SINCORRECT'
)
conti
nue
eli
fch1==4:
pr i
nt('
THANKYOU' )
break
else:
pr i
nt('
ERROR404: PAGENOTFOUND'
)
br eak
defmai
n()
:
pri
nt('
1.yes')
pri
nt('
2.no')
c=int(
input (
"doy ouwantt ocontinueornot
:")
)
while(c==1) :
print(
'1. TICKETBOOKI NG',
"\
n",'
2.
TICKETCHECKI NG'
,
"\n"
,'
3.
TICKET
CANCELLI NG',"\n"
,'
4.ACCOUNTDETAI LS'
,
"\n"
,'
5.
LOGOUT')
ch=int(i
nput (
'ent erurchoi ce:
')
)
i
fch==1:
ti
cket _booki ng()
el
ifch==2:
ticket_ checking( )
el
ifch==3:
ti
cket _cancel l
ing()
el
ifch==4:
checki ng_ 3(
)
el
ifch==5:
pr i
nt('
THANKYOU' )
br eak
el
se:
print(
'WRONGI NPUT')
el
se:
pr
int
('
ERROR404:
ERRORPAGENOTFOUND'
)
deft
icket
_booki
ng():
impor
tmysql
.connect
or
my con=my sql.connect or.
connect(host
='l
ocal
host
',
user
='r
oot'
,
passwd='
root
',
dat
abase='
rai
l
way
')
cursor =my con. cur sor()
my con. autocommi t
=Tr ue
nm=i nput('
ent ery ourname: ')
phno=i nput ('
ent ery ourphonenumber :
'
)
age=i nt(i
nput ('
ent ery ourage: '
))
print('M=MALE' ,'
\n',
'F=FEMALE' ,
'
\n',
'
N=NOTTOMENTI ON')
gender =i
nput ('
ent ery ourgender :'
)
Gender =gender .
upper ()
fr=input (
'enterurst arti
ngpoi nt:'
)
to=input ('
entery ourdest inati
on:'
)
dat e1=input (
'ent erdat e(dd):'
)
dat e2=input (
'ent ermont h(mm) :'
)
dat e3=input (
'ent ery ear(yyyy)
:'
)
dat e=date1+" /"+dat e2+" /"+date3
a={ '
M' :
'MALE' ,
'F':
'FEMALE' ,'
N':
'NOTTOMENTI ON'
}
v=a[ Gender ]
s1="i
nsertint
orail
wayv
alues(
'{
}'
,{
},
{}
,'
{}
',
'
{}'
,
'{
}'
,'
{}
')
".
for
mat
(nm,
phno,
age,
v,
fr
,t
o,dat
e)
cursor
.execute(
s1)
pri
nt('
BOOKEDSUCCESSFULLY' )
deft
icket
_checki
ng(
):
i
mpor tmy sql.connector
my con=my sql.connector.connect (host='
localhost'
,
user='
root'
,
passwd='
manager
',
dat
abase='
rai
l
way
')
cursor=my con.cursor(
)
my con.autocommi t
=True
pri
nt('
1.yes')
pri
nt('
2.no')
ch=int(
input("
doy ouwantt ocont i
nueornot :
"))
i
fch==1:
phno=int(i
nput('
ent ery ourphnonenumber :
')
)
tr
y:
s1="sel
ect*f rom rail
waywher ephno=phno"
cursor.
execut e(s1)
data=cursor.fetchall(
)[0]
Data=li
st(data)
a=['
NAME' ,'
PHONENUMBER' ,
'AGE','
GENDER','
STARTING
POINT',
'DESTI NATI ON' ,
'DATE',
]print
(a[0]
,
':
::
:
',
Data[
0].
upper
())
pri
nt(a[
1],'
::
::
',
Dat a[
1] )
pri
nt(a[
2],'
::
::
',
Dat a[
2] )
pri
nt(a[
3],'
::
::
',
Dat a[
3] .
upper())
pri
nt(a[
4],'
::
::
',
Dat a[
4] .
upper())
pri
nt(a[
5],'
::
::
',
Dat a[
5] .
upper())
pri
nt(a[
6],'
::
::
',
Dat a[
6] )
except:
pri
nt('
TICKETDOESNOTEXI STS')
el
ifch==2:
pri
nt('
THANKYOU' )
el
se:
pri
nt('
ERROR404: PAGENOTFOUND' )
deft
icket
_cancel
li
ng(
):
i
mpor tmy sql.connector
my con=my sql.connector
.connect
(host
='l
ocal
host
',
user
='r
oot
',
passwd='
root
',
dat
abase='
ra
i
lway '
)cursor=my con.cursor(
)
my con.autocommi t=True
pri
nt('
1.yes')
pri
nt('
2.no')
ch=int(
input("
doy ouwantt ocont
inueornot:
")
)
i
fch==1:
phno=input('
enteryourphonenumber:'
)
s1="del
etefr
om r
ail
waywherephno=phno"cur
sor
.execut
e(s1)
pri
nt('
TICKETCANCELLED'
)
el
i
fch==2:
pri
nt('
THANKYOU' )
el
se:
pri
nt('
ERROR404:PAGENOTFOUND' )
defchecki
ng_
2()
:
i
mpor tmy sql .
connect or
my con=my sql .
connect or .connect (host='l
ocalhost',
user='root
',
passwd='r
oot '
,
database='
ra
i
lway '
)cursor =my con. cur sor ()
my con.autocommi t
=Tr ue
a=input('
USERNAME: '
)
b=input('
PASSWORD: ')
tr
y:
s1="selectuser _ namef rom user _account swher epasswor d='
{}
'"
.format(b)
cursor.execut e( s1)
data=cur sor.fetchal l()[
0]
data=list(data)
i
fdat a[0]==a:
pri
nt('
ISTHI SYOURACCOUNT' )
s1="selectuser _namef rom user _account swher epassword='{
}'
".
format(
b)
c1="selectf name, lnamef rom user_account swher e
passwor d=' {
}'".
format (
b)cur sor.execute(c1)
data1=cur sor .
fetchall(
)[
0]
data1=l i
st ( data1)
data1=dat a1[0]+' '
+data1[ 1]
cursor.execut e(s1)
data=cur sor .fetchall(
)[
0]
data=list( dat a)
i
fdat a[0]==a:
x=['
FIRSTNAME' ,'
LASTNAME' ,
'PHONENUMBER' ,
'GENDER','
DATEOFBI RTH',
'
AGE'
]
s1="selectf name, lname, phno,gender,dob,agefrom user_
account swhere
passwor d=' {
}'".
format (
b)
cursor.execut e(s1)
data=cur sor .fetchall(
)[
0]
data=list( dat a)
pri
nt(x[0] ,
':::'
,
dat a[0])
pri
nt(x[1] ,
':::'
,
dat a[1])
pri
nt(x[2] ,
':::'
,
dat a[2])
pri
nt(x[3] ,
':::'
,
dat a[3])
pri
nt(x[4] ,
':::'
,
dat a[4])
pri
nt(x[5] ,
':::'
,
dat a[5])
pri
nt('
1. yes' )
pri
nt('
2. no' )
vi
=int(i
nput('
enteryourchoice:'
))
i
fv i
==1:
b1="del
etefrom user_account
swher
epasswor
d='
{}
'"
.f
ormat
(b)
cursor.
execute(b1)
ret
urnTrue
el
ifvi==2:
pri
nt('
SORRY,RETRY')
el
se:
pri
nt('
ERROR404: PAGENOTFOUND' )
el
se:
ret
urnFal
se
except
:
pr
int
('
ACCOUNTDOESNOTEXI
ST'
)
defchecki
ng_
1()
:
mpor tmy sql .
connect or
my con=my sql.
connect or.connect(host='
local
host'
,
user='
root'
,passwd='r
oot',
dat
abase='r
ail
way')
cursor=my con. cursor ()
my con.autocommi t
=Tr ue
f=i
nput ("
FIRSTNAME: ")
l
=input (
"LASTNAME: ")
n=f+""+l
a=input('
USERNAME: '
)
b=input('
PASSWORD: ')
c=input('
RE- ENTERYOURPASSWORD: ')
ph=input("PHONENUMBER: ")
pri
nt('M=MALE' ,
'
\n','
F=FEMALE' ,
'\n',
'
N=NOTTOMENTI ON')
gen=input (
'ENTERYOURGENDER: '
)
pri
nt("ENTERYORDATEOFBI RTH" )
d=input("DD:")
o=input("MM: ")
p=input("YYYY: ")
dob=d+' /'
+o+'/'+p
age=input (
'YOURAGE: '
)
v={'
m':'MALE' ,
'f
':'
FEMALE' ,
'
n':
'
NOTTOMENTI ON'}
i
fb==c:
tr
y :
c1=" inser tint
ouser _accountsval
ues('
{}
',
'{
}'
,'
{}
',
'
{}'
,'
{}
',
'
{}'
,
'{
}'
,'
{}
')
".
for
mat(f
,l
,a,
b,ph,
v[
gen]
,
dob, age)
cur sor.execut e(
c1)
pr i
nt('WELCOME' ,f
,''
,l
)
returnTr ue
except :
pr i
nt('PASSWORDALREADYEXI STS')
returnFal se
el
se:
pr
int
('
BOTHPASSWORDSARENOTMATCHI
NG'
)
defchecki
ng(
):
i
mpor tmy sql .
connect or
my con=my sql.connect or .
connect(host='l
ocalhost
',
user
='r
oot'
,passwd='root'
,dat
abase='
rai
l
way
')
cursor=my con. cur sor()
my con.autocommi t
=Tr ue
a=input('USERNAME: '
)
b=input('PASSWORD: '
)
tr
y:
s1=" selectuser _namef rom user_accountswherepasswor d='{
}'
".
format(b)
c1=" selectf name, lnamef rom user_account
swher epasswor d='
{}'
".
format(
b)
cursor .execut e(c1)
data1=cur sor .
fet chall
()[
0]
data1=l ist( data1)
data1=dat a1[0] +' '
+data1[1]
cursor .execut e(s1)
data=cur sor .fetchal l
()
[0]
data=l i
st (dat a)[0]
i
fdat a==a:
pr i
nt ('HI I',
data1)
ret urnTr ue
else:
ret urnFal se
except:
pri
nt ('
ACCOUNTDOESNOTEXI ST'
)
defchecki
ng_
3()
:
i
mpor tmy sql .
connect or
my con=my sql.connect or.
connect(host='
localhost
',
user
='r
oot'
,passwd='root'
,dat
abase='
rai
l
way '
)
cursor=my con. cur sor()
my con.autocommi t
=Tr ue
a=input('
USERNAME: '
)
b=input('
PASSWORD: '
)
tr
y:
s1="selectuser _namef rom user_accountswherepasswor d='{
}'
".
format(b)
c1="selectf name, lnamef rom user_account
swher epasswor d='
{}'
".
format(
b)
cursor.execut e(c1)
data1=cur sor .
fetchall
()[
0]
data1=list( data1)
data1=dat a1[0] +''
+data1[1]
cursor.execut e(s1)
data=cur sor .fetchall
()
[0]
data=li
st (dat a)
i
fdat a[0]==a:
x=[ 'FIRSTNAME' ,'
LASTNAME' ,
'PHONENUMBER' ,
'
GENDER' ,'
DATEOFBI RTH',
'AGE'
]
s1="sel
ectf name, lname,phno,
gender
,dob,
agef
rom user
_account
swher
e
passwor d='{
}'".
format (
b)
cursor.
execut e(s1)
data=cursor.fetchall
()[
0]
data=li
st(data)
pri
nt(x[
0],'
::
:'
,
dat a[0])
pri
nt(x[
1],'
::
:'
,
dat a[1])
pri
nt(x[
2],'
::
:'
,
dat a[2])
pri
nt(x[
3],'
::
:'
,
dat a[3])
pri
nt(x[
4],'
::
:'
,
dat a[4])
pri
nt(x[
5],'
::
:'
,
dat a[5])
el
se:
r
etur
nFal
se
except
:
pr
int
('
ACCOUNTDOESNOTEXI
ST'
)
menu()
MYSQLTABLE
OUTPUT:
1.FORSI
GNI
N
3.
FORTI
CKETBOOKI
NG
*
***
***
***
***
***
***
***
***
***
***
***
***
***
***
***
***
***
***
***
***
***
***
***
***
***
***
***
***
***
***
**