0% found this document useful (0 votes)
35 views28 pages

Railway Reservation System

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

Railway Reservation System

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

AFFILIATION NO.

:830728
#21/3 Ramachandrapura, Vidyaranyapura,
Jalahalli Post, Bangalore-560013

PROJECT DETAILS
SUBJECT: INFORMATICS PRACTICES
NAME:
CLASS: Grade XII
PROJECT NAME:RAILWAY RESERVATION SYSTEM
ACKNOWLEDGEMENT

“THERE ARE TIMES WHEN SILENCE SPEAKS SO MUCH


MORE LOUDLY THAN WORDS OF PRAISE TO ONLY AS
GOOD AS BELITTLE A PERSON WHOSE WORDS DO
NOT EXPRESS, BUT ONLY PUT A VENEER OVER TRUE
FEELINGS, WHICH ARE OF GRATITUDE AT THIS POINT
OF TIME.”

I acknowledge the support of our Principal in providing the


laboratory facilities.
I also express my gratitude to my teachers and the faculty of
Informatics Practices.
I am deeply dented to the support provided by my parents and
friends who helped me in successfully complete of this project
CONTENTS

1. Introduction

2. Hardware and software requirements

3. Implementation

4. Coding

5. Future Enhancements

6. Conclusion

7. Bibliography
INTRODUCTION

MODULES DESCRIPTION

Modules description includes the following details:


Module 1: To create Database: This lets us create the database.
Module 2:
Module 3:
HARDWARE AND SOFTWARE
REQUIREMENTS

Before installing this project the following requirements must be


attended to-
HARDWARE REQUIREMENTS:
Processor.Intel Pentinum CPU [email protected]
RAM: 2:00GB

SOFTWARE REQUIREMENTS:
System Type: 32-Bit Operating System
FRONT END: PythonVersion 3.7.0.
BACK END: MySQL 5.1, 5.3 with connector J
Supported Softwares: Python Libraries such as Pandas, Numpy,
matplotlib…
IMPLEMENTATION
CODING

CREATION OF DATABASE:

def connection():
import mysql.connector
mycon=mysql.connector.connect(host='localhost',user='root',passwd='mana
ger',database='railway')
if mycon.is_connected():
print("successfully connected")
connection()
cursor=mycon.cursor()
mycon.autocommit=True
s1="create database railway"
cursor.execute(s1)
TABLE CREATION:

cursor=mycon.cursor()

mycon.autocommit=True

s1="create table railway(name varchar(100),phno varchar(15) primary key,age


int(4),gender varchar(50),from_f varchar(100),to_t varchar(100),date_d varchar(20))"

cursor.execute(s1)

s1="create table user_accounts(fname varchar(100),lname varchar(100),user_name


varchar(100) ,password varchar(100) primary key, phno varchar(15),gender
varchar(50),dob varchar(50),age varchar(4))"

cursor.execute(s1)

def menu():

print('1.YES')

print('2.NO')
ch=int(input('DO YOU WANT TO CONTINUE OR NOT:'))

while ch==1:

print('WELECOME TO ONLINE RAILWAY RESERVATION SYSTEM')

print('1.SIGN IN')

print('2.SIGN UP')

print('3.DELETE ACCOUNT')

print('4.EXIT')

ch1=int(input('ENTER YOUR CHOICE:'))

if ch1==1:

a=checking()

if a==True:

print('WELCOME')

main()

else:

continue

elif ch1==2:

a=checking_1()

if a==True:

main()

else:

print('PASSWORD ALREADY EXISTS')


continue

elif ch1==3:

c=checking_2()

if c==True:

print('ACCOUNT DELETED')

continue

else:

print('YOUR PASSWAORD OR USER_NAME IS INCORRECT')

continue

elif ch1==4:

print('THANK YOU')

break

else:

print('ERROR 404:PAGE NOT FOUND')

break

def main():

print('1.yes')

print('2.no')

c=int(input("do you want to continue or not:"))


while (c==1):

print(' 1.TICKET BOOKING',"\n", '2.TICKET CHECKING',"\n",'3.TICKET


CANCELLING',"\n",'4.ACCOUNT DETAILS',"\n",'5.LOG OUT')

ch=int(input('enter ur choice:'))

if ch==1:

ticket_booking()

elif ch==2:

ticket_checking()

elif ch==3:

ticket_cancelling()

elif ch==4:

checking_3()

elif ch==5:

print('THANK YOU')

break

else:

print('WRONG INPUT')

else:

print('ERROR 404: ERROR PAGE NOT FOUND')

def ticket_booking():
import mysql.connector

mycon=mysql.connector.connect(host='localhost',user='root',passwd='manager',da
tabase='railway')

cursor=mycon.cursor()

mycon.autocommit=True

nm=input('enter your name:')

phno=input('enter your phone number:')

age=int(input('enter your age:'))

print(' M=MALE','\n','F=FEMALE','\n','N=NOT TO MENTION')

gender=input('enter your gender:')

Gender=gender.upper()

fr=input('enter ur starting point:')

to=input('enter your destination:')

date1=input('enter date(dd):')

date2=input('enter month(mm):')

date3=input('enter year(yyyy):')

date=date1+"/"+date2+"/"+date3

a={'M':'MALE','F':'FEMALE','N':'NOT TO MENTION'}

v=a[Gender]

s1="insert into railway values('{}',{},


{},'{}','{}','{}','{}')".format(nm,phno,age,v,fr,to,date)

cursor.execute(s1)
print('BOOKED SUCCESSFULLY')

def ticket_checking():

import mysql.connector

mycon=mysql.connector.connect(host='localhost',user='root',passwd='manager',da
tabase='railway')

cursor=mycon.cursor()

mycon.autocommit=True

print('1.yes')

print('2.no')

ch=int(input("do you want to continue or not:"))

if ch==1:

phno=int(input('enter your phnone number:'))

try:

s1="select * from railway where phno=phno"

cursor.execute(s1)

data=cursor.fetchall()[0]

Data=list(data)

a=['NAME','PHONE NUMBER','AGE','GENDER','STARTING
POINT','DESTINATION','DATE',]

print(a[0],'::::',Data[0].upper())

print(a[1],'::::',Data[1])
print(a[2],'::::',Data[2])

print(a[3],'::::',Data[3].upper())

print(a[4],'::::',Data[4].upper())

print(a[5],'::::',Data[5].upper())

print(a[6],'::::',Data[6])

except:

print('TICKET DOES NOT EXISTS')

elif ch==2:

print('THANK YOU')

else:

print('ERROR 404:PAGE NOT FOUND')

def ticket_cancelling():

import mysql.connector

mycon=mysql.connector.connect(host='localhost',user='root',passwd='manager',da
tabase='railway')

cursor=mycon.cursor()

mycon.autocommit=True

print('1.yes')

print('2.no')
ch=int(input("do you want to continue or not:"))

if ch==1:

phno=input('enter your phone number:')

s1="delete from railway where phno=phno"

cursor.execute(s1)

print('TICKET CANCELLED')

elif ch==2:

print('THANK YOU')

else:

print('ERROR 404:PAGE NOT FOUND')

def checking_2():

import mysql.connector

mycon=mysql.connector.connect(host='localhost',user='root',passwd='manager',da
tabase='railway')

cursor=mycon.cursor()

mycon.autocommit=True

a=input('USER NAME:')

b=input('PASS WORD:')

try:

s1="select user_name from user_accounts where password='{}'".format(b)

cursor.execute(s1)
data=cursor.fetchall()[0]

data=list(data)

if data[0]==a:

print('IS THIS YOUR ACCOUNT')

s1="select user_name from user_accounts where password='{}'".format(b)

c1="select fname,lname from user_accounts where


password='{}'".format(b)

cursor.execute(c1)

data1=cursor.fetchall()[0]

data1=list(data1)

data1=data1[0]+' '+data1[1]

cursor.execute(s1)

data=cursor.fetchall()[0]

data=list(data)

if data[0]==a:

x=['FIRST NAME','LAST NAME','PHONE NUMBER','GENDER','DATE OF


BIRTH','AGE']

s1="select fname,lname,phno,gender,dob,age from user_accounts


where password='{}'".format(b)

cursor.execute(s1)

data=cursor.fetchall()[0]

data=list(data)

print(x[0],':::',data[0])
print(x[1],':::',data[1])

print(x[2],':::',data[2])

print(x[3],':::',data[3])

print(x[4],':::',data[4])

print(x[5],':::',data[5])

print('1.yes')

print('2.no')

vi=int(input('enter your choice:'))

if vi==1:

b1="delete from user_accounts where password = '{}'".format(b)

cursor.execute(b1)

return True

elif vi==2:

print('SORRY,RETRY')

else:

print('ERROR 404:PAGE NOT FOUND')

else:

return False

except:

print('ACCOUNT DOES NOT EXIST')


def checking_1():

import mysql.connector

mycon=mysql.connector.connect(host='localhost',user='root',passwd='manager',da
tabase='railway')

cursor=mycon.cursor()

mycon.autocommit=True

f=input("FIRST NAME:")

l=input("LAST NAME:")

n=f+" "+l

a=input('USER NAME:')

b=input('PASS WORD:')

c=input('RE-ENTER YOUR PASS WORD:')

ph=input("PHONE NUMBER:")

print(' M=MALE','\n','F=FEMALE','\n','N=NOT TO MENTION')

gen=input('ENTER YOUR GENDER:')

print("ENTER YOR DATE OF BIRTH")

d=input("DD:")

o=input("MM:")

p=input("YYYY:")

dob=d+'/'+o+'/'+p

age=input('YOUR AGE:')

v={'m':'MALE','f':'FEMALE','n':'NOT TO MENTION'}
if b==c:

try:

c1="insert into user_accounts


values('{}','{}','{}','{}','{}','{}','{}','{}')".format(f,l,a,b,ph,v[gen],dob,age)

cursor.execute(c1)

print('WELCOME',f,' ',l)

return True

except:

print('PASSWORD ALREADY EXISTS')

return False

else:

print('BOTH PASSWORDS ARE NOT MATCHING')

def checking():

import mysql.connector

mycon=mysql.connector.connect(host='localhost',user='root',passwd='manager',da
tabase='railway')

cursor=mycon.cursor()

mycon.autocommit=True

a=input('USER NAME:')
b=input('PASS WORD:')

try:

s1="select user_name from user_accounts where password='{}'".format(b)

c1="select fname,lname from user_accounts where password='{}'".format(b)

cursor.execute(c1)

data1=cursor.fetchall()[0]

data1=list(data1)

data1=data1[0]+' '+data1[1]

cursor.execute(s1)

data=cursor.fetchall()[0]

data=list(data)[0]

if data==a:

print(' HII ',data1)

return True

else:

return False

except:

print('ACCOUNT DOES NOT EXIST')

def checking_3():

import mysql.connector
mycon=mysql.connector.connect(host='localhost',user='root',passwd='manager',da
tabase='railway')

cursor=mycon.cursor()

mycon.autocommit=True

a=input('USER NAME:')

b=input('PASS WORD:')

try:

s1="select user_name from user_accounts where password='{}'".format(b)

c1="select fname,lname from user_accounts where password='{}'".format(b)

cursor.execute(c1)

data1=cursor.fetchall()[0]

data1=list(data1)

data1=data1[0]+' '+data1[1]

cursor.execute(s1)

data=cursor.fetchall()[0]

data=list(data)

if data[0]==a:

x=['FIRST NAME','LAST NAME','PHONE NUMBER','GENDER','DATE OF


BIRTH','AGE']

s1="select fname,lname,phno,gender,dob,age from user_accounts where


password='{}'".format(b)
cursor.execute(s1)

data=cursor.fetchall()[0]

data=list(data)

print(x[0],':::',data[0])

print(x[1],':::',data[1])

print(x[2],':::',data[2])

print(x[3],':::',data[3])

print(x[4],':::',data[4])

print(x[5],':::',data[5])

else:

return False

except:

print('ACCOUNT DOES NOT EXIST')

menu()
FUTURE ENHANCEMENTS

Though this project is highly efficient and time saving, nothing


can be perfect.
There is always scope for improvement in everything. Similarly
even this project can be enhanced.
CONCLUSION

From a proper analysis of positive points and constraints on the

component, it can be safely concluded that the product is a highly

efficient menu based component. This application is working

properly and meeting to all user requirements. This component

can be easily plugged in many other systems. It is a huge step

towards a safer and much quicker society.


BIBLIOGRAPHY

Books:
1. Informatics Practices XII-by Sumita Arora
2. Together With IP Textbook-by Rachana Sagar

Websites:
1. www.wikipedia.com
2. www.googleimages.com
3. www.dev.mysql.com

You might also like