[go: up one dir, main page]

100% found this document useful (1 vote)
2K views26 pages

6475 - Railway Reservation System

The document provides an acknowledgement and thanks to various individuals who helped with the successful completion of a railway reservation system project. It then provides an introduction describing the railway reservation system as a database project using Python that allows users to book and cancel train tickets from home. It outlines the objectives of the project including applying programming skills to a real-world problem and developing software using object-oriented principles. It includes flow charts and source code files with functions for various aspects of the reservation system like booking, checking, and cancelling tickets as well as user account functions.

Uploaded by

himanshu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
2K views26 pages

6475 - Railway Reservation System

The document provides an acknowledgement and thanks to various individuals who helped with the successful completion of a railway reservation system project. It then provides an introduction describing the railway reservation system as a database project using Python that allows users to book and cancel train tickets from home. It outlines the objectives of the project including applying programming skills to a real-world problem and developing software using object-oriented principles. It includes flow charts and source code files with functions for various aspects of the reservation system like booking, checking, and cancelling tickets as well as user account functions.

Uploaded by

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

RAILWAY RESERVATION SYSTEM

ACKNOWLEDGEMENT

Apart from the efforts of me, the success of any project depends largely on
the encouragement and guidelines of many others. I take this opportunity to express
my gratitude to the people who have been instrumental in the successful completion
of this project.
I express deep sense of gratitude to almighty God for giving me strength for
the successful completion of the project.
I express my heartfelt gratitude to my parents for constant encouragement
while carrying out this project.
I gratefully acknowledge the contribution of the individuals who contributed in
bringing this project up to this level, who continues to look after me despite my flaws,
I express my deep sense of gratitude to the luminary The Principal, Dr.Kiran
Saujiya Sr. Sec. School, Mainpuri who has been continuously motivating and
extending their helping hand to us.
I express my sincere thanks to the academician The vice Principal, Sainik
School Amaravathinagar, for constant encouragement and the guidance provided
during this project
I am overwhelmed to express my thanks to The Administrative Officer for
providing me an infrastructure and moral support while carrying out this project in the
school.
My sincere thanks to Mr. Ashutosh Tripathi, Master In-charge, A guide,
Mentor all the above a friend, who critically reviewed my project and helped in
solving each and every problem, occurred during implementation of the project
The guidance and support received from all the members who contributed
and who are contributing to this project, was vital for the success of the project. I am
grateful for their constant support and help.
RAILWAY RESERVATION SYSTEM

INTRODUCTION

The railway reservation system system is basically a database based project

done with help of python language. This project is very use full for the people to book

or cancel train tickets by sitting at home with one cell phone in their hand. This

project can be modified for various reservations.

OBJECTIVES OF THE PROJECT

The objective of this project is to let the students apply the programming

knowledge into a real- world situation/problem and exposed the students how

programming skills helps in developing a good software.

• Write programs utilizing modern software tools.

• Apply object oriented programming principles effectively when developing

small to medium sized projects.

• Write effective procedural code to solve small to medium sized problems.

• Students will demonstrate a breadth of knowledge in computer science, as

exemplified in the areas of systems, theory and software development.

• Students will demonstrate ability to conduct a research or applied Computer

Science project, requiring writing and presentation skills which exemplify

scholarly style in computer science.


The purpose of this phase is to:
• Operate, maintain, and enhance the system.
• Certify that the system can process sensitive information.
• Conduct periodic assessments of the system to ensure the functional
requirements continue to be satisfied.
• Determine when the system needs to be modernized, replaced, or retired.

FLOW CHART

4. THEN THE DATA WILL 1. COMMANDED


BE SEND TO THE PROGRAM WILL BE
PYTHON IDLE. EXECUTED IN PYTHON IDLE
.

3. THE REQUIRED 2. AS THE PYTHON AND


DATA WILL BE MYSQL ARE CONNECTED
THE COMMAND WILL BE
TAKEN FROM THE
SENT TO MYSQL.
DATABASE.

SOURCE CODE

FILE NAME : TABLES


import mysql.connector

mycon=mysql.connector.connect(host='localhost',user='
root',passwd='manager')
cursor=mycon.cursor()
mycon.autocommit=True
s1="create database railway"
cursor.execute(s1)
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)

FILE NAME : MAIN

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('ERROR 404: ERROR PAGE NOT FOUND')

def ticket_booking():
import mysql.connector
Mycon=mysql.connector.connect (host='localhost',
User='root', passwd='manager',
database='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',database='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 railwaywhere 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',database='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',database='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',database='railway')
cursor=mycon.cursor()
mycon.autocommit=True
f=input("FIRST NAME:")
l=input("LAST NAME:")
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('{}','{}','{}','{}','{}','{}','{}','{}')".form
at(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',database='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',database='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()
OUTPUT
CHOICE WINDOW

IF CHOICE IS 1(LOGIN WINDOW)


IF CHOICE IS 2 (SIGN UP WINDOW)
IF CHOICE IS 3(DELETE ACCOUNT)
IF CHOICE IS 4(EXIT)

IF CHOICE IS 5 OR MORE

SECOND CHOICE LIST AFTER LOGIN


IF CHOICE IS 1(TICKET BOOKING)
IF CHOICE IS 2(TICKET CHECKING)
IF CHOICE IS 3(TICKET CANCELLING)

IF CHOICE IS 4(ACCOUNT DETAILS)


IF CHOICE IS 5(LOG OUT)

IF CHOICE IS 5 OR MORE
HARDWARE AND SOFTWARE REQUIREMENTS

I.OPERATING SYSTEM : WINDOWS 7 AND ABOVE

II. PROCESSOR : PENTIUM(ANY) OR AMD

ATHALON(3800+- 4200+ DUAL CORE)

III. MOTHERBOARD : 1.845 OR 915,995 FOR PENTIUM 0R MSI

K9MM-V VIA K8M800+8237R PLUS

CHIPSET FOR AMD ATHALON

IV. RAM : 512MB+

V. Hard disk : SATA 40 GB OR ABOVE

VI. CD/DVD r/w multi drive combo: (If back up required)

VII. FLOPPY DRIVE 1.44 MB : (If Backup required)

VIII. MONITOR 14.1 or 15 -17 inch

IX. Key board and mouse

X. Printer : (if print is required – [Hard copy])

SOFTWARE REQUIREMENTS:

• Windows OS
• Python
• mysql connector modulle

BIBLIOGRAPHY

• Computer science With Python - Class XI By : Sumita Arora


• Website: https://www.w3resource.com
***

You might also like