Cse Project Final

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 23

COMPUTER SCIENCE

INVESTIGATORY
PROJECT
CONTENTS

CONTENT
SR.NO PAGE NO.

1 INTRODUCTION TO 2
PYTHON
2 INTRODUCTION TO 3
PROJECT

3 SYSTEM 4
REQUIREMENTS

4 BACK END DETAILS 4

5 FRONT END DETAILS 5

6 SOURCE CODE 6

7 MOTIVES 17

8 SCREENSHOTS OF 18
OUTPUTS
9 BIBLIOGRAPHY 23
INTRODUCTION TO PYTHON:

Python is an open-source object-oriented high-level programming language


which was developed by Guido van Rossum in 1991.

1. Easy to use: python is compact and very easy to use object-oriented language
with very simple syntax rules. Hence less time is required to understand and
learn python programming and its user friendly

2. cross platform language: python can run across different platforms like
windows, Linux mac etc.

3. interpreted language: python is an interpreted language which make python


easy to debug language.
Aim of the Project
RAILWAY RESERVATION SYSTEM

INTRODUCTION

The railway reservation 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.

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 research or applied


Computer Science project, requiring writing and presentation skills which
exemplify scholarly style in computer science.
SYSTEM REQUIREMENTS

● Windows 7 or higher.

● MYSQL server 5.5 or higher.

● Python IDLE 3.6 or higher.

● Microsoft Word 2010 or higher for documentation.

BACK END DETAILS:


The back end used in this project is MYSQL

 SQL stands for Structured Query Language

 SQL lets you access and manipulate databases

 SQL became a standard of the American National Standards Institute


(ANSI) in 1986, and of the International Organization for Standardization
(ISO) in 1987

FRONT END DETAILS:


Python is a computer programming language often used to build websites and
software, automate tasks, and analyze data. Python is a general-purpose language,
not specialized for any specific problems, and used to create various programmes.

SOURCE CODE

import mysql.connector
mycon=mysql.connector.connect(host='localhost',user='
root',passwd='root')
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)

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='root',
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='root',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='root',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='root',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[1],':::',data[1])

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

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

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

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

print('

1. yes')
vi=int(input('enter your
choice:')) if vi==1:
2. no') b1="delete from
print(x[0],':::',data[0]) user_accounts

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

cursor.execute(b1) return
True
elif vi==2:

print('SORRY,RETRY')

else:

print('ERROR 404:PAGE NOT FOUND')

return False
else:

except:

print('ACCOUNT DOES NOT EXIST')

def checking_1():mycon=mysql.connector.connect(host='localhost',user='
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='root',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='root',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()
MOTIVES:

A railway reservation system like IRCTC (Indian Railway Catering and Tourism
Corporation) manages millions of users and transactions daily, handling
bookings, cancellations, passenger information, and real-time updates. Efficient
database design ensures smooth operations, quick response times and a simple
user experience.
In this article, we will learn about How Database Design Essentials for a Railway
Reservation System by understanding various aspects of the article in detail.

Databases for railway reservation systems offer a range of features designed to


support user management, train schedules, booking and cancellation processes,
seat allocation, and real-time updates. These features typically include:

 User Management: Managing user accounts, profiles and authentication.


 Train Schedules: Storing train details, routes, schedules and availability.
 Booking Management: Handling ticket bookings, cancellations and
payments.
 Seat Allocation: Managing seat availability and assignment.
 Real-time Updates: Providing real-time notifications for booking status
and train schedules.
 Analytics and Reporting: Generating insights and reports on booking
trends, user engagement and system performance.
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
BIBLIOGRAPHY

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

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

***

You might also like