The document outlines a project focused on developing a Hotel Management System (HMS) that automates various hotel operations such as guest booking, accounting, and event management. It details the objectives of the project, the phases of the System Development Life Cycle (SDLC), and the hardware and software requirements necessary for implementation. Additionally, it includes source code snippets and a discussion on the importance of each SDLC phase in ensuring successful software development.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0 ratings0% found this document useful (0 votes)
4 views42 pages
Ip Project
The document outlines a project focused on developing a Hotel Management System (HMS) that automates various hotel operations such as guest booking, accounting, and event management. It details the objectives of the project, the phases of the System Development Life Cycle (SDLC), and the hardware and software requirements necessary for implementation. Additionally, it includes source code snippets and a discussion on the importance of each SDLC phase in ensuring successful software development.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 42
INDEX
ABLE OF CONTENTS[TOC
2]
Im
a
DESCRIPTION
PAGE NO
ACKNOWLEDGEMENT
INTRODUCTION
OBJECTIVES OF THE PROJECT
PROPOSED SYSTEM
SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE
HARDWARE AND SOFTWARE REQUIREMENTS
SCREEN SHOT
SOURCE CODE
BIBLIOGRAPHYINTRODUCTION
HMS is a type of properly management system that facilitates the
management of hotel management of operations and functions; main operations
such as front office, sales, planning and accounting.
General Hotel Management software aims to automate functions such as:-
1. Guest Booking
2. Guest Details
3. Point of sale
. Telephony
. Accounts receivable
Pan
}. Sales and Marketing
su
. Banquets
~
. Event Management
9
|. And many more features
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 , requiring writing and
presentation skills which exemplify scholarly.
PROPOSED SYSTEM
Today one cannot afford to rely on the fallible human beings of be really
wants to stand against today's merciless competition where not to wise saying “to
err is human” no longer valid, it's outdated to rationalize your mistake. So, to keep
pace with time, to bring about the best result without malfunctioning and greater
efficiency so to replace the unending heaps of flies with a much sophisticated hard
disk of the computer.
One has to use the data management software. Software has been an
ascent in atomization various organisations. Many software products working are
now in markets, which have helped in making the organizations work easier and
efficiently, Data management initially had to maintain a lot of ledgers and a lot of
paper work has to be done but now software product on this organization has made
their work faster and easier. Now only this software has to be loaded on the
computer and work can be done.
This prevents a lot of time and money. The work becomes fully automated
and any information regarding the organization can be obtained by clicking the
button. Moreover, now it's an age of computers of and automating such an
organization gives the better look.SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
The System Development Life Cycle
Server App!
The systems development life cycle is a project management technique that
divides complex projects into smaller, more easily managed segments or phases.
‘Segmenting projects allows managers to verify the successful completion of project
phases before allocating resources to subsequent phases.
Software development projects typically include initiation, planning, design,
development, testing, implementation, and maintenance phases. However, the
phases may be divided differently depending on the organization involved.
For example, initial project activities might be designated as request,
requirements-definition, and planning phases, or initiation, concept-development,
and planning phases. End users of the system under development should be
involved in reviewing the output of each phase to ensure the system is being built to
deliver the needed functionality.
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLEINITIATION PHASE
The Initiation Phase begins when a business sponsor identifies a need or an
opportunity.
The purpose of the Initiation Phase is to:
+ Identify and validate an opportunity to improve business accomplishments of
the organization or a deficiency related to a business need.
+ Identify significant assumptions and constraints on solutions to that need.
+ Recommend the exploration of alternative concepts and methods to satisfy
the need including questioning the need for technology, ie., will a change in
the business process offer a solution?
* Assure executive business and executive technical sponsorship. The
Sponsor designates a Project Manager and the business need is
documented in a Concept Proposal. The Concept Proposal includes
information about the business process andthe relationship to the
Agency/Organization.
+ Infrastructure and the Strategic Plan. A successful Concept Proposal results
in a Project Management Charter which outlines the authority of the project
manager to begin
the project.
Careful oversight is required to ensure projects support strategic business
objectives and resources are effectively implemented into an organization's
enterprise architecture. The initiation phase begins when an opportunity to add,
improve, or correct a system is identified and formally requested through the
presentation of a business case. The business case should, at a minimum, describe
a proposal’s purpose, identify expected benefits, and explain how the proposed
system supports one of the organization's business strategies. The business case
should also identify alternative solutions and detail as many informational,
functional, and network requirements as possible.
SYSTEM CONCEPT DEVELOPMENT PHASE
The System Concept Development Phase begins after a business need or
opportunity is validated by the Agency/Organization Program Leadership and the
Agency/Organization CIO.
The purpose of the System Concept Development Phase is to:
Determine the feasibility and appropriateness of the alternatives.
Identify system interfaces.
Identify basic functional and data requirements to satisfy the business need.
Establish system boundaries; identify goals, objectives, critical success
factors, and performance measures.
+ Evaluate costs and benefits of alternative approaches to satisfy the basic
functional requirements
+ Assess project risks
+ Identify and initiate risk mitigation actions, andDevelop high-level technical
architecture, process models, data models, and a concept of operations. This
phase explores potential technical solutions within the context of the
business need.+ Itmay include several trade-off decisions such as the decision to use COTS
software products as opposed to developing custom software or reusing
software components, or the decision to use an incremental delivery versus a
complete, onetime deployment.
* Construction of executable prototypes is encouraged to evaluate technology
to support the business process. The System Boundary Document serves as
an important reference document to support the Information Technology
Project Request (ITPR) process.
* The ITPR must be approved by the State CIO before the project can move
forward.
PICTORIAL REPRESENTATION OF SDLC:
implementation
£XS
Maintenance
PLANNING PHASE
The planning phase is the most critical step in completing development,
acquisition, and maintenance projects. Careful planning, particularly in the early
stages of a project, is necessary to coordinate activities and manage project riskseffectively. The depth and formality of project plans should be commensurate with
the characteristics and risks of a given project. Project plans refine the information
gathered during the initiation phase by further identifying the specific activities and
resources required to complete a project.
Accritical part of a project manager’ sjob is to coordinate discussions between
user, audit, security, design, development, and network personnel to identify and
document as many functional, security, and network requirements as possible.
During this phase, a plan is developed that documents the approach to be used and
includes a discussion of methods, tools, tasks, resources, project schedules, and
user input. Personnel assignments, costs, project schedule, and target dates are
established.
‘A Project Management Plan is created with components related to
acquisition planning, configuration management planning, quality assurance
planning, concept of operations, system security, verification and validation, and
systems engineering management planning.
REQUIREMENTS ANALYSIS PHASE
This phase formally defines the detailed functional user requirements using
high-level requirements identified in the Initiation, System Concept, and Planning
phases. It also delineates the requirements in terms of data, system performance,
security, and maintainability requirements for the system. The requirements are
defined in this phase to alevel of detail sufficient for systems design to proceed.
They need to be measurable, testable, and relate to the business need or
opportunity identified in the Initiation Phase. The requirements that will be used to
determine acceptance of the system are captured in the Test and Evaluation
MasterPlan.
The purposes of this phase are to:
+ Further define and refine the functional and data requirements and document
them in the Requirements Document,
+ Complete business process reengineering of the functions to be supported
(i.e., verify what information drives the business process, what information is
generated, who generates it, where does the information go, and who
processes it),
+ Develop detailed data and process models (system inputs, outputs, and the
process.
+ Develop the test and evaluation requirements that will be used to determine
acceptable system performance.
DESIGN PHASE
The design phase involves converting the informational, functional, and
network requirements identified during the initiation and planning phases into unified
design specifications that developers use to scriptprograms during the development
phase. Program designs are c onstructed in various ways. Using a top-down
approach, designers first identify and link majorprogram components and interfaces,
then expand design layouts as they identify and link smaller subsystems and
connections. Using a bottom-up approach, designers first identify and link minor
program components and interfaces, then expand design layouts as they identify
and link larger systems and connections. Contemporary design techniques often
use prototyping tools that build mock-up designs of items such as application
screens, database layouts, and system architectures. End users, designers,developers, database managers, and network administrators should review and
refine the prototyped designs in an iterative process until they agree on an
acceptable design. Audit, security, and quality assurance personnel should be
involved in the review and approval process. During this phase, the system is
designed to satisfy the functional requirements identified in the previous phase.
Since problems in the design phase could be very expensive to solve in the later
stage of the software development, a variety of elements are considered in the
design to mitigate risk. These include:
Identifying potential risks and defining mitigating design features.
Performing a security risk assessment.
Developing a conversion plan to migrate current data to the new system.
Determining the operating environment.
Defining major subsystems and their inputs and outputs.
Allocating processes to resources.
Preparing detailed logic specifications for each software module. The result
is a draft System Design Document which captures the preliminary design for
the system.
+ Everything requiring user input or approval is documented and reviewed by
the user. Once these documents have been approved by the Agency CIO
and Business Sponsor, the final System Design Document is created to
serve as the Critical/Detailed Design for the system,
+ This document receives a rigorous review byAgency technical and functional
Tepresentatives to ensure that it satisfies the business requirements.
Concurrent with the development of the system design, the Agency Project
Manager begins development of the Implementation Plan, Operations and
Maintenance Manual, and the Training Plan.
DEVELOPMENT PHASE
The development phase involves converting design specifications into
executable programs. Effective development standards include requirements
that programmers and other project participants discuss design specifications
before programming begins. The procedures help ensure programmers clearly
understand program designs and functional requirements. Programmers use
various techniques to develop computer programs. The large transaction
oriented programs associated with financial institutions have traditionally been
developed using procedural programming techniques. Procedural programming
involves the line-by-line scripting of logical instructions that are combined to form
a program.Effective completion of the previous stages is a key factor in the
success of the Development phase. The Development phase consists of:
+ Translating the detailed requirements and design into system components.
+ Testing individual elements (units) for usability.
+ Preparing for integration and testing of the IT system.
INTEGRATION AND TEST PHASE
+ Subsystem integration, system, security, and user acceptance testing is
conducted during the integration and test phase. The user, with thoseresponsible for quality assurance, validates that the functional requirements,
as defined in the functional requirements document, are satisfied by the
developed or modified system. OIT Security staff assess the system security
and issue a security cerfification and accreditation prior to
installation/implementation.
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 reviewedand
accepted prior to acceptance of the system.
IMPLEMENTATION PHASE
This phase is initiated after the system has been tested and accepted by the
user. In this phase, the system is installed to support the intended business
functions. System performance is compared to performance objectives established
during the planning phase. Implementation includes user notification, user training,
installation of hardware, installation of software onto production computers, and
integration of the system into daily work processes. This phase continues until the
system is operating in production in accordance with the defined userrequirements.
OPERATIONS AND MAINTENANCE PHASE
The system operation is ongoing. The system is monitored for continued
performance in accordance with user requirements and needed system
modifications are incorporated. Operations continue as long as the system can be
effectively adapted to respond to the organization's needs. When modifications or
changes are identified, the system may reenter the planning phase.
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.
HARDWARE AND SOFTWARE REQUIREMENTS
|LOPERATING SYSTEM
ROCESSOR
Ill. MOTHERBOARD
MSI
IV. RAM
V. Hard disk
VI. CD/DVD r/w multi drive combo:
Vil. FLOPPY DRIVE 1.44 MB
VII. MONITOR 14.1 or 15 -17 inch
IX. Key board and mouse
X. Printer
SOFTWARE REQUIREMENTS:
Windows OS
Python
mysql connector module
panadas library
matplotlib
WINDOWS 7 AND ABOVE
PENTIUM(ANY) OR AMD
ATHALON(3800+- 4200+ DUAL CORE)
1.845 OR 915,995 FOR PENTIUM OR
K9MM-V VIA K8M800+8237R PLUS.
CHIPSET FOR AMD ATHALON,
512MB+
SATA 40 GB OR ABOVE
(If back up required)
(if Backup required)
(if print is required — [Hard copy])Wsqi> use hot
atabase changed
ysql> desc
hiredate |
a
eer
Null | eke eae
seaenifs
ne aie
YES
aia NULL
aaa) NULL
i) WULL1. Guest Tabl
Doon
eee)
Cerrar
Preset]
ates
yea
cee
errs
eeceied
een
te ae Su
Peo
p rows in set (0.02
2. Staff Tabl
i
i]
i
|
|
|
|
|
|
os
Mysql Table Structure
STAT CeBY |
ee)
Nene)
puree) i
Petes |
Perey |
ruc
varchar(18)
ETL TEED) |
ec
Pecan moar)
ea
ree
Cae
poemans="y"
def
add
ysql> use hotel;
e
Field | Type Beco
id cae
eee c int |
Coad cl 2 S res i
rr | int(a1) nn i
eter NULL i
; 7 -- "
5
Peace Ue CRS Be 9)
Source Code
guest ():
print("\nl. show all the records of guest \n2.
records of guest \n3. search records \n4. delete
records of guest \n5. Graphical representation \né.
update the records")
def
nt (input ("Enter the choice of no:"))
i1*
showallrecords ()
elif x==2:
addrecords ()
elif x==3:
search()
elif x==4:
delete ()
elif x==5:
guestgr ()
elif x==6:
changerecord()
elif x!=[1,2,3,4,5,6]:
print ("\t\tINVAILD INPUT")
guestgr():
print ("1. Rooms booked \n2. Source of booking")
x=int (input ("enter the no:"))
if x==1:
roomgraph ()
elif x=
sobgraph ()elif x!=[1,2]:
print ("INVAILD INPUT")
def roomgraph():
import pymysql
import matplotlib.pyplot as plt
di=pymysql.connect (host="localhost", user="root", passw
d="", database="hotel")
cl=d1.cursor ()
quer='''select count(*) from guest where
type_of_room="single";''
cl.execute (quer
x=cl . fetchone()
lst=list (x)
quer='''select count (*) from guest where
type_of_room="double";'''
cl.execute (quer
y=cl.fetchone()
ist(y)
‘select count(*) from guest where
type_of_room="triple";'''
cl.execute (quer
z=cl.fetchone ()
ist (z)
"*select count(*) from guest where
type_of_room="quad";''*
cl.execute (quer)
a=cl.fetchone()
sttlstl+lst2+1st3
y=["single", "double", "triple", "quad"]
plt.bar (y, lstt, width=0.50)
plt.xlabel ("types of rooms")
plt.ylabel ("no.ofrooms")
plt.show()
def sobgraph():
import pymysql
import matplotlib.pyplot as plt
dl=pymysql.connect (host="localhost", user="root", passw
", database="hotel")
cl=d1.cursor ()
quer='select count (*) from guest where
source_of_booking="online";'
cl execute (quer
x=cl.fetchone ()
Ist=List (x)
quer="select count(*) from guest where
source _of_booking='offline';"cl.execute (quer)
y=cl.fetchone ()
ist (y)
=lst+1stl
online", "offline"]
-bar(y,1stt,width=0.50)
.xlabel ("source of booking")
-ylabel ("no.ofrooms")
. show ()
def showallrecords():
import pymysql
import pandas as pd
pd.set_option('display.expand_frame_repr', False
localhost", user="root",passw
dl=pymysql.connect (hos
d="", database="hotel")
cl=dl.cursor()
gquery="select * from guest;"
df=pd.read_sql (query, d1)
df=df. rename ({"guestid": "id", "nameofguest": "name", "ty
pe_of_room":"type of
m_no": "room", "source_of_booking": "source of
"netpay": "net payment"), axis=1)
print (df)
def addrecords():
import pymysql
import pandas as pd
dl=pymysql .connect (host="localhost", user="root", passw
;database="hotel")
cl=dl.cursor ()
ansl="yes”
while ansl
"ye
for i in range(1,201):
xed
quer2="select * from guest where
guestid=%d" %x
cl.execute (quer2)
break
y=input ("Enter the guest name
an="yes"
while a yes":
v=input ("enter the type of room:")
if v=="single":an="no"
else:
cisinput ("enter the check in date:")
co=input ("entr the check out date:")
ans3="yes
while ans3=="yes":
a-input ("Enter the source of booking:")
else:
print ("invaild input")
ans2="ye"
if single"
while ans2=="ye":
for i in range(1,51):
coi
quer2="select * from guest where
room_no=%d" %c
cl.execute (quer2)
if cl.rowcoun
ans2="no"
break
elif v=="double"
while ans. ye":
for i in range(51,101):
eni
quer2="select * from guest where
room_no=%d" %c
cl.execute (quer2)
if cl.rowcoun
ans2="no"
break
elif v=="triple":
while ans2=="ye"
for i in range(101,151):
coi
quer2="select * from guest where
room_no=%d" %¢
cl.execute (quer2)if cl.rowcount:
ans2="no"
break
for i in range(151,201):
c=i
quer2
select * from guest where
room_no=%d" $c
cl.execute (quer2)
if cl. rowcount==0:
ans2="no"
break
if v=="single":
b=2000*r+ (2000*r*9/50)
elif v=="double":
000*r+ (4000*r*9/50)
"triple":
6000*r+(6000*r*9/50)
"quad":
b=8000*r+ (8000*r*9/50)
quer="Insert into guest
values ($d, '8s', '%s',%d,'%s', 'Ss', 3d, '%5', $d) 7"
%(x,y,V,r,Ci,CO,C, a,b)
cl.execute (quer
dl.commit ()
print ("Record Added")
f=input ("Want to see the added record:")
if fe="y":
elif
elif
pd.set_option('display.expand_frame_repr', False
quer="select * from guest where
guestid=8d;"%x
d.read_sql (quer, d1
df 1=d£. rename ({"guestid'
ype_of room": "type of
jays", "cidate
a", "nameofguest": "name
check
room", "source_of _booking":"source of
net payment"},axis=1)
booking"
print (df1)
else:
print ("Thank You")
def search():
import pymysql
import pandas as pdyymysql.connect (user=
, database="hotel")
cl=d1.cursor()
print("1. Id \n2. Name \n3. Source of booking
\n4. Room no. \n5. date \n6. Type of room")
cho=int (input ("enter the no."))
if cho
"root", host="localhost", passw
pd. set_option('display.expand_frame_repr', False)
x=int (input ("enter the id:"))
quer="select * from guest where
guestid="%d';" x
df=pd.read_sql (quer, dl)
dfl=df. rename ({"guestid
ype_of_room":"type of
room", "noofdays": "days", "cidate": "check
codate": "check
out", "xoom_no": "room", "source_of_booking": "source of
booking", “netpay": "net payment"},axis=1)
print (df£1)
elif cho==2:
id", "nameofguest": "name", "t
pd. set_option ('display.expand_frame_repr', False)
=input ("enter the name:")
quer="select * from guest where
nameofguest="%s"';" %x
df=pd.read_sql (quer, dl)
dfl=df. rename ({"guestid
ype_of_room": "type of
room", "noofdays": "days", "cidate"
in", "codate": "check
out", "room_no": "room", "source_of_booking": "source of
booking", "netpay":"net payment"), axis=1)
print (df£1)
elif cho: :
id", "nameofguest": "name", "t
check
pd.set_option('display.expand_frame_repr', False)
x=input ("enter the source of booking
quer="select * from guest where
source_of_booking='"%s';" 8x
df=pd. read_sql (quer, dl)
dfl=df. rename ({"guestid'
ype_of_room":"type of
room", "noofdays": "days", "cidate": "check
in", "codate": "check
id", "nameofguest": "name", "tout", "room_no": "room", "source_of_booking": "source of
booking", "netpay": "net payment"), axis=1)
print (df1)
elif cho==4:
pd.set_option ('display.expand_frame_repr', False)
x=int (input ("enter the room no:"))
quer="select * from guest where
room_no='$d';" $x
df=pd. read_sql (quer, d1)
df1=d£. rename ({"guestid
ype_of room":"type of
room", "noofdays": "days", "cidate": "check
in", "codate": "check
out", "room_no": "room", "source_of_booking": "source of
booking", "netpay":"net payment"},axis=1)
print (df1)
elif cho==5:
"id", "nameofguest": "name", "t
pd. set_option ('display.expand_frame_repr', False)
nput ("enter the date:")
quer="select * from guest where cidate='%s';"
$x
df=pd.read_sql (quer,d1)
dfl=dé. rename ({"guestid
ype_of_room":"type of
room", "noofdays": "days", "cidate": "check
"check
room", "source_of_booking": "source of
"id", "nameofguest": "name", "t
out", "room_no"
booking", "netpay": "net payment"},axis=1)
print (df1)
elif cho:
pd.set_option ('display.expand_frame_repr', False)
=input ("enter the type of room:")
quer="select * from guest where
type_of_room="%s'" x
df=pd.read_sql (quer,d1)
dfl=df. rename ({"guestid": "id", "nameofguest": "name", "t
ype_of_room":"type of
room", "noofdays": "days", "cidate"
in", "codate": "check
out", "room_no": "room", "source_of_booking": "source of
booking", "netpay": "net payment"},axis=1)
print (df1)
def delete():
“checkimport pymysql
ymysql.connect (host="localhost", user="root", passw
,database="hotel")
cl=dl.cursor ()
x=int (input ("enter the id:"))
quer="delete from guest where guestid=%d;" %x
rowcount=cl,. execute (quer)
if rowcount>0:
dl. commit ()
print ("Record Deleted")
else:
print ("NO RECORD FOUND")
def changerecord():
import pymysql
import pandas as pd
pd. set_option('display.expand_frame_repr', False)
ymysql.connect (user="root", host="Localhost", passw
;database="hotel")
cel=d1.cursor ()
guid=int (input ("enter the id:"))
quer="select * from guest where guestid=%d" %
guid
cl.execute (quer)
if cl.rowcount>0:
row=list (c1l.fetchone())
df=pd.read_sql (quer, dl)
print (df)
print("\nl. nameofguest \n2. source of
booking \n3. date \n4. type of room")
cexr=int (input ("enter the no:"))
if cr==1:
y=input ("enter the new name of guest:")
"update guest set nameofguest='%s!
d" %(y,guid)
c1.execute (quer)
dl.commit ()
print ("RECORD CHANGED")
eli£ or z
y=input ("enter the new source guest:")
quer="update guest set
source_of_booking='%s' where guestid=%d" %(y,guid)
cl.execute (quer)
dl.commit ()
print ("RECORD CHANGED")
elif cr:
y=:
nput ("enter the new date:")quer="update guest set cidate='%s' where
guestid=%a" %(y, guid’
cl.execute (quer)
dl.commit ()
print ("RECORD CHANGED”
elif cr==4:
y-input ("enter the new type of room:")
quer="update guest set type of _room='%s'
where guestid-%d" %(y, guid!
cl.execute (quer)
dl.commit ()
quer4="select nofdays from guest where
guestid=td" % (guid)
cl.execute (quer4
r=list (cl. fetchone())
"ye"
"single
while ans2=="ye":
for i in range({1,51):
cai
quer2="select * from guest
where room_no=%d" %c
cl execute (quer2
if cl.rowcount: ?
ans2="no"
break
elif y=="double":
while ans2=="ye":
for i in range(51,101):
cai
quer2="select * from guest
where room_no=%d" &c
cl.execute (quer2)
if cl.rowcount==0:
ans2="no"
break
elif y-="triple"
while ans2=="ye":
for i in range{101,151):
csi
quer2="select * from guest
where room_no=%d" &c
cl.execute (quer2
if cl.rowcount
ans2="no"
break
elif y=="quad
while ans2=="ye":
for i in range(151,201):eri
quer2="select * from guest
where room_no=%d" %c
cl .execute (quer2)
if ¢l.rowcount==0:
ans2="no"
break
querl="update guest set room_no='%d’
where guestid=%d" %(c, guid
cl.execute (querl)
dl.commit ()
single":
000#x [0] +(2000*x [0] *9/50
"double":
"triple"
000*r [0] + (6000*x [0] *9/50
"quad":
000+ [0] + (8000*r [0] *9/50
update guest set netpay=%d where
guestid=%d" %(b, guid’
cl.execute (quer2
dl.commit ()
print ("RECORD CHANGED")
elif cr!=[1,2,3,4,5,6,7]:
print (“INVAILD INPUT")
elif cl.rowcoun
print ("NO RECORD FOUND TO CHANGE")
def staff():
print ("\nl. show all the records of staff \n2.
add records of staff\n3. search records of staff \n4.
delete records of staff \n5. Graphical representation
\n6. update the records")
int (input ("Enter the choice of no."))
if x=
allrecords ()
elif
addrecordss ()
elif x==3:
searchrec()
elif x=
deleterec ()
elif x=
staffgr()
elif x
changerec ()
elif x!=[1,2,3,4,5,6]:
print ("\t\tINVAILD INPUT")
def staffgr():print ("1. Department \n2. Salary")
x=int (input ("enter the no:"))
if x==1:
deptgraph ()
elif x==2
salgraph ()
def deptgraph ():
import pymysql
import matplotlib.pyplot as plt
di=pymysql . connect (host="localhost", user="
", database="hotel")
oot", passw
select count (*) from staff where
dept='managment ';
cl.execute (quer)
x=cl.fetchone ()
lst=list (x)
quer="select count (*) from staff where
dept="cleaning';"
cl.execute (quer)
y=cl. fetchone ()
AIst1=list (y)
quer="select count (*) from staff where dept="food
and beverages! ;"
el.execute (quer)
y=[ "managment", "cleaning","food & beverages"]
plt-bar(y,1stt)
plt.xlabel ("department")
plt.ylabel ("no.ofstaff")
plt.show()
def salgraph():
import pymysql
import matplotlib.pyplot as plt
ymysql. connect (host="localhost", user="root", passw
,database="hotel")
cl=dl.cursor()
quer="select count (*) from staff where sal=2000;"
cl. execute (quer)
x=cl.fetchone()
Ist=list (x)
quer="select count({*) from staff where sal=4000;"
cl.execute (quer)
y=cl. fetchone ()
Ist1=list (y)