100% found this document useful (2 votes)
3K views

Railway Reservation System

This document is a project report on a Railway Reservation System created by Abhisheek Gowda A L for their Class XII Informatics Practices subject. The report includes an introduction to the project, objectives, source code, output, hardware and software requirements, and bibliography sections. Abhisheek completed the project under the guidance of their teacher, Mr. Krishan Meena.

Uploaded by

Aditya
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
100% found this document useful (2 votes)
3K views

Railway Reservation System

This document is a project report on a Railway Reservation System created by Abhisheek Gowda A L for their Class XII Informatics Practices subject. The report includes an introduction to the project, objectives, source code, output, hardware and software requirements, and bibliography sections. Abhisheek completed the project under the guidance of their teacher, Mr. Krishan Meena.

Uploaded by

Aditya
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

JAWAHAR NAVODAYA VIDYALAYA

PERIYAKALAPET, PUDUCHERRY

ACADEMIC YEAR : 2022-23

PROJECT REPORT ON
RAILWAY RESERVATION SYSTEM

ROLL NO :

NAME : ABHISHEK GOWDA A L

CLASS : XII

SUBJECT : INFORMATICS PRACTICES

SUB CODE : 065

PROJECT GUIDE: Mr. KRISHAN MEENA

PGT (CS)
JNV PUDUCHERRY

JAWAHAR NAVODAYA VIDYALAYA


PERIYAKALAPET, PUDUCHERRY

CERTIFICATE
This is to certify that Mast. ABHISHEK GOWDA AL Roll No:

has successfully completed the project Work entitled RAILWAY RESERVATION

SYSTEM in the subject Informatics Practices (065) laid down in the regulations of

CBSE for the purpose of Practical Examination in Class XII to be held in JNV

Puducherry on______________.

(Krishan Meena)
PGT CS

External Examiner:

Name: _______________

Signature:
TABLE OF CONTENTS [ T O C ]

Sr.No DESCRIPTION PAGE NO

01 ACKNOWLEDGEMENT 04

02 INTRODUCTION 05

03 OBJECTIVES OF THE PROJECT 05

04 SOURCE CODE 07

05 OUTPUT 20

06 HARDWARE AND SOFTWARE REQUIREMENTS 28

07 BIBLIOGRAPHY 28
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 my heartfelt gratitude to my parents for constant
encouragement while carrying out this project.
I express my deep sense of gratitude to Smt. C Umamaswari The
Principal, who has been continuously motivating and extending their
helping hand to us.
I am overwhelmed to express my thanks to The Administrative
Officer for providing me with infrastructure and moral support while
carrying out this project in the school.
My sincere thanks to Mr. Krishan Meena, PGT CS, 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.

Signature of principal
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
useful for 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 expose
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.
Multiple levels of testing are performed, including:

• Testing at the development facility by the contractor and possibly


supported by end users

• Testing as a deployed system with end users working together


with contract personnel

• Operational testing by the end user alone performing all functions.


Requirements are traced throughout testing,a final Independent
Verification & Validation evaluation is performed and all
documentation is reviewed and accepted prior to acceptance of
the system.

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

#To create database and table and connect IDLE with


MySQL

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('WELCOME 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 PASSWORD 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,d
ate)

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 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',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 PASSWORD:')
ph=input("PHONE NUMBER:")
print(' M=MALE','\n','F=FEMALE','\n','N=NOT TO
MENTION')
gen=input('ENTER YOUR GENDER:')
print("ENTER YOUR 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,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

SOFTWARE REQUIREMENTS:
• Windows OS
• Python
• mysql connector module

BIBLIOGRAPHY

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


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

***

You might also like