SlideShare a Scribd company logo
1 of 24
Hotel Management Project
Using C++(OOP) structure
Features:
 Manage Rooms
 Check-In
 Get available rooms
 Search customer
 Check-out room
 Get guest summary report
1
Introduction:
Object Oriented Programming in C++
The prime purpose of C++ programming was to add object orientation to the C programming language,
which is in itself one of the most powerful programming languages. The core of the pure object-oriented
programming is to create an object, in code, that has certain properties and methods. While designing
C++ modules, we try to see whole world in the form of objects. Object Oriented programming is a
programming style that is associated with the concept of Class, Objects and various other concepts
revolving around these two, like Inheritance, Polymorphism, Abstraction, Encapsulation etc.
Let us try to understand a little about all these, through a simple example. Human Beings are living
forms, broadly categorized into two types, Male and Female. Right? Its true. Every Human being(Male or
Female) has two legs, two hands, two eyes, one nose, one heart etc. There are body parts that are
common for Male and Female, but then there are some specific body parts, present in a Male which are
not present in a Female, and some body parts present in Female but not in Males. All Human Beings
walk, eat, see, talk, hear etc. Now again, both Male and Female, performs some common functions, but
there are some specifics to both, which is not valid for the other. For example : A Female can give birth,
while a Male cannot, so this is only for the Female. Human Anatomy is interesting, isn't it? But let's see
how all this is related to C++ and OOPS. Here we will try to explain all the OOPS concepts through this
example and later we will have the technical definitons for all this.
There are a few principle concepts that form the foundation of object oriented programming −
Object:-
This is the basic unit of object oriented programming. That is both data and function that operate on
data are bundled as a unit called as object.
Class:-
When you define a class, you define a blueprint for an object. This doesn't actually define any data, but
it does define what the class name means, that is, what an object of the class will consist of and what
operations can be performed on such an object.
Abstraction:-
Data abstraction refers to, providing only essential information to the outside world and hiding their
background details, i.e., to represent the needed information in program without presenting the details.
For example, a database system hides certain details of how data is stored and created and maintained.
2
Similar way, C++ classes provides different methods to the outside world without giving internal detail
about those methods and data.
Encapsulation:-
Encapsulation is placing the data and the functions that work on that data in the same place. While
working with procedural languages, it is not always clear which functions work on which variables but
object-oriented programming provides you framework to place the data and the relevant functions
together in the same object.
Inheritance
One of the most useful aspects of object-oriented programming is code reusability. As the name
suggests Inheritance is the process of forming a new class from an existing class that is from the existing
class called as base class, new class is formed called as derived class. This is a very important concept of
object-oriented programming since this feature helps to reduce the code size.
Polymorphism
The ability to use an operator or function in different ways in other words giving different meaning or
functions to the operators or functions is called polymorphism. Poly refers to many. That is a single
function or an operator functioning in many ways different upon the usage is called polymorphism.
Overloading
The concept of overloading is also a branch of polymorphism. When the exiting operator or function is
made to operate on new data type, it is said to be overloaded.
3
Project explanation:
Idea:-
project is a project for managing the hotel rooms and reservation throw multi features that help to
register,checkin,add rooms and other features .
Code explanation:
We will start by explaining every piece of code in the project and for that we will explain the functions
then we will gather all the pieces to make a running managing hotel rooms program
Notes: we will write Arabic explanation on code screens to make it clear
We will need to classes Customer and Rooms
Input:-
Customer class
4
Room Class
Then we will will need a Hotel management class for putting our functions in
Hotel management class
It has 5 main functions in it listed in the screen above
5
We now start with the first function which is Check in()
Check in secreen1
6
Check in secreen2
7
2. Get Avilable Rooms() to check if there is available room
8
3. searchcustomer() to search if this customer is reserving a room
9
4. Check out() to checkout from room
10
5.getsummeryreport() to get a report about the status of hotel
11
Now the Main() finction will contain all the options in hotel including add rooms
Main secreen1
12
Main secreen2
13
Finally the integration of code is below
#include<iostre
am>
#include<string
.h>
#include<conio.
h>
#define max 100
using namespace
std;
//Class
Customer class
Customer
{
public:
char name[100];
char
address[100];
char phone[12];
char
from_date[20];
char
to_date[20];
float
payment_advance; int
booking_id;
};
class Room
{
public:
char type;
char stype;
char ac;
int
roomNumber;
int rent;
int status;
class Customer cust;
class Room
addRoom(int); void
searchRoom(int); void
deleteRoom(int); void
displayRoom(Room);
};
//Global Declarations
class Room rooms[max];
int count=0;
Room Room::addRoom(int rno)
14
{
class Room room;
room.roomNumber=rno;
cout<<"nType AC/Non-AC (A/N) :
"; cin>>room.ac;
cout<<"nType Comfort (S/N) : ";
15
cin>>room.type;
cout<<"nType Size (B/S) :
"; cin>>room.stype;
cout<<"nDaily Rent : ";
cin>>room.rent;
room.status=0;
cout<<"n Room Added Successfully!";
getch();
return room;
}
void Room::searchRoom(int rno)
{
int i,found=0;
for(i=0;i<count;i++)
{
if(rooms[i].roomNumber==rno)
{
found=1;
break;
}
}
if(found==1)
{
cout<<"Room
Detailsn";
if(rooms[i].status==1)
{
cout<<"nRoom is Reserved";
}
else
{
cout<<"nRoom is available";
}
displayRoom(rooms[i]);
getch();
}
else
{
cout<<"nRoom not found";
getch();
}
}
void Room::displayRoom(Room tempRoom)
{
cout<<"nRoom Number: t"<<tempRoom.roomNumber;
cout<<"nType AC/Non-AC (A/N) "<<tempRoom.ac;
cout<<"nType Comfort (S/N) "<<tempRoom.type;
cout<<"nType Size (B/S) "<<tempRoom.stype;
cout<<"nRent: "<<tempRoom.rent;
}
16
//hotel management class
class HotelMgnt:protected
Room
{
public:
void checkIn();
void
getAvailRoom();
void searchCustomer(char
*); void checkOut(int);
void guestSummaryReport();
};
void HotelMgnt::guestSummaryReport(){
if(count==0){
cout<<"n No Guest in Hotel !!";
}
for(int i=0;i<count;i++)
{
if(rooms[i].status==1)
{
cout<<"n Customer First Name : "<<rooms[i].cust.name;
cout<<"n Room Number : "<<rooms[i].roomNumber;
cout<<"n Address (only city) :
"<<rooms[i].cust.address; cout<<"n Phone :
"<<rooms[i].cust.phone;
cout<<"n ";
}
}
getch();
}
//hotel management reservation of room
void HotelMgnt::checkIn()
{
int i,found=0,rno;
class Room room;
cout<<"nEnter Room number :
"; cin>>rno;
for(i=0;i<count;i++)
{
if(rooms[i].roomNumber==rno)
{
found=1;
break;
}
}
if(found==1)
{
if(rooms[i].status==1)
{
cout<<"nRoom is already Booked";
17
getch();
return;
}
cout<<"nEnter booking id: ";
cin>>rooms[i].cust.booking_id;
cout<<"nEnter Customer Name (First Name): ";
cin>>rooms[i].cust.name;
cout<<"nEnter Address (only city): ";
cin>>rooms[i].cust.address;
cout<<"nEnter Phone: ";
cin>>rooms[i].cust.phone;
cout<<"nEnter From Date: ";
cin>>rooms[i].cust.from_date;
cout<<"nEnter to Date:
";
cin>>rooms[i].cust.to_da
te;
cout<<"nEnter Advance Payment: ";
cin>>rooms[i].cust.payment_advance;
rooms[i].status=1;
cout<<"n Customer Checked-in Successfully..";
getch();
}
}
//hotel management shows available
rooms void HotelMgnt::getAvailRoom()
{
int i,found=0;
for(i=0;i<count;i++)
{
if(rooms[i].status==0)
{
displayRoom(rooms[i]);
cout<<"nnPress enter for next
room"; found=1;
getch();
}
}
if(found==0)
{
cout<<"nAll rooms are
reserved"; getch();
}
}
18
//hotel management shows all persons that have booked
room void HotelMgnt::searchCustomer(char *pname)
{
int i,found=0;
for(i=0;i<count;i++)
{
if(rooms[i].status==1 && stricmp(rooms[i].cust.name,pname)==0)
{
cout<<"nCustomer Name: "<<rooms[i].cust.name;
cout<<"nRoom Number: "<<rooms[i].roomNumber;
cout<<"nnPress enter for next record";
found=1;
getch();
}
}
if(found==0)
{
cout<<"nPerson not found.";
getch();
}
}
//hotel managemt generates the bill of the expenses
void HotelMgnt::checkOut(int roomNum)
{
int
i,found=0,days,rno;
float billAmount=0;
for(i=0;i<count;i++)
{
if(rooms[i].status==1 && rooms[i].roomNumber==roomNum)
{
//rno = rooms[i].roomNumber;
found=1;
//getch();
break;
}
}
if(found==1)
{
cout<<"nEnter Number of
Days:t"; cin>>days;
billAmount=days * rooms[i].rent;
cout<<"nt######## CheckOut Details ########n";
cout<<"nCustomer Name : "<<rooms[i].cust.name;
cout<<"nRoom Number : "<<rooms[i].roomNumber;
cout<<"nAddress : "<<rooms[i].cust.address;
cout<<"nPhone : "<<rooms[i].cust.phone;
cout<<"nTotal Amount Due : "<<billAmount<<" /";
cout<<"nAdvance Paid: "<<rooms[i].cust.payment_advance<<" /";
19
cout<<"n*** Total Payable: "<<billAmount-
rooms[i].cust.payment_advance<<"/ only";
rooms[i].status=0;
}
getch();
}
//managing rooms (adding and searching available rooms)
void manageRooms()
{
class Room room;
int opt,rno,i,flag=0;
char ch;
do
{
system("cls");
cout<<"n### Manage Rooms
###"; cout<<"n1. Add Room";
cout<<"n2. Search Room";
cout<<"n3. Back to Main
Menu"; cout<<"nnEnter
Option: "; cin>>opt;
//switch statement
switch(opt)
{
case 1:
cout<<"nEnter Room Number: ";
cin>>rno;
i=0;
for(i=0;i<count;i++)
{
if(rooms[i].roomNumber==rno)
{
flag=1;
}
}
if(flag==1)
{
cout<<"nRoom Number is Present.nPlease enter unique Number";
flag=0;
getch();
}
else
{
rooms[count]=room.addRoom(rno);
count++;
}
break;
case 2:
cout<<"nEnter room number: ";
20
cin>>rno;
room.searchRoom(rno);
break;
case 3:
//nothing to
do break;
default:
cout<<"nPlease Enter correct option";
break;
}
}while(opt!=3);
}
using namespace
std; int main()
{
class HotelMgnt
hm; int
i,j,opt,rno; char
ch;
char
pname[100];
system("cls");
do
{
system("cls");
cout<<"######## Hotel Management #########n";
cout<<"n1. Manage Rooms";
cout<<"n2. Check-In Room";
cout<<"n3. Available Rooms";
cout<<"n4. Search Customer";
cout<<"n5. Check-Out Room";
cout<<"n6. Guest Summary
Report"; cout<<"n7. Exit";
cout<<"nnEnter Option: ";
cin>>opt;
switch(opt)
{
case 1:
manageRooms();
break;
case 2:
if(count==0)
{
cout<<"nRooms data is not available.nPlease add the rooms first.";
getch();
}
else
hm.checkIn();
break;
case 3:
if(count==0)
{
cout<<"nRooms data is not available.nPlease add the rooms first.";
getch();
21
}
else
hm.getAvailRoom()
; break;
case 4:
if(count==0)
{
cout<<"nRooms are not available.nPlease add the rooms first.";
getch();
}
else
{
cout<<"Enter Customer Name: ";
cin>>pname;
hm.searchCustomer(pname);
}
break;
case 5:
if(count==0)
{
cout<<"nRooms are not available.nPlease add the rooms first.";
getch();
}
else
{
cout<<"Enter Room Number : ";
cin>>rno;
hm.checkOut(rno);
}
break;
case 6:
hm.guestSummaryReport(
); break;
case 7:
cout<<"nTHANK YOU! FOR USING SOFTWARE";
break;
default:
cout<<"nPlease Enter correct option";
break;
}
}while(opt!=7);
getch();
}
22
Final result after run
oop micro 2 ok.docx

More Related Content

Similar to oop micro 2 ok.docx

CSc investigatory project
CSc investigatory projectCSc investigatory project
CSc investigatory projectDIVYANSHU KUMAR
 
Lab manual object oriented technology (it 303 rgpv) (usefulsearch.org) (usef...
Lab manual object oriented technology (it 303 rgpv) (usefulsearch.org)  (usef...Lab manual object oriented technology (it 303 rgpv) (usefulsearch.org)  (usef...
Lab manual object oriented technology (it 303 rgpv) (usefulsearch.org) (usef...Make Mannan
 
Interview preparation for programming.pptx
Interview preparation for programming.pptxInterview preparation for programming.pptx
Interview preparation for programming.pptxBilalHussainShah5
 
Object Oriented Programming Lecture Notes
Object Oriented Programming Lecture NotesObject Oriented Programming Lecture Notes
Object Oriented Programming Lecture NotesFellowBuddy.com
 
Diving in OOP (Day 1) : Polymorphism and Inheritance (Early Binding/Compile T...
Diving in OOP (Day 1) : Polymorphism and Inheritance (Early Binding/Compile T...Diving in OOP (Day 1) : Polymorphism and Inheritance (Early Binding/Compile T...
Diving in OOP (Day 1) : Polymorphism and Inheritance (Early Binding/Compile T...Akhil Mittal
 
Interoduction to c++
Interoduction to c++Interoduction to c++
Interoduction to c++Amresh Raj
 
Cs6301 programming and datastactures
Cs6301 programming and datastacturesCs6301 programming and datastactures
Cs6301 programming and datastacturesK.s. Ramesh
 
Chapter 04 object oriented programming
Chapter 04 object oriented programmingChapter 04 object oriented programming
Chapter 04 object oriented programmingPraveen M Jigajinni
 
Principal of objected oriented programming
Principal of objected oriented programming Principal of objected oriented programming
Principal of objected oriented programming Rokonuzzaman Rony
 
Oop in c++ lecture 1
Oop in c++  lecture 1Oop in c++  lecture 1
Oop in c++ lecture 1zk75977
 
The Ring programming language version 1.7 book - Part 90 of 196
The Ring programming language version 1.7 book - Part 90 of 196The Ring programming language version 1.7 book - Part 90 of 196
The Ring programming language version 1.7 book - Part 90 of 196Mahmoud Samir Fayed
 
I assignmnt(oops)
I assignmnt(oops)I assignmnt(oops)
I assignmnt(oops)Jay Patel
 
Bca winter 2013 2nd sem
Bca winter 2013 2nd semBca winter 2013 2nd sem
Bca winter 2013 2nd semsmumbahelp
 

Similar to oop micro 2 ok.docx (20)

CSc investigatory project
CSc investigatory projectCSc investigatory project
CSc investigatory project
 
Lab manual object oriented technology (it 303 rgpv) (usefulsearch.org) (usef...
Lab manual object oriented technology (it 303 rgpv) (usefulsearch.org)  (usef...Lab manual object oriented technology (it 303 rgpv) (usefulsearch.org)  (usef...
Lab manual object oriented technology (it 303 rgpv) (usefulsearch.org) (usef...
 
Interview preparation for programming.pptx
Interview preparation for programming.pptxInterview preparation for programming.pptx
Interview preparation for programming.pptx
 
C++ & VISUAL C++
C++ & VISUAL C++ C++ & VISUAL C++
C++ & VISUAL C++
 
Object Oriented Programming Lecture Notes
Object Oriented Programming Lecture NotesObject Oriented Programming Lecture Notes
Object Oriented Programming Lecture Notes
 
Diving in OOP (Day 1) : Polymorphism and Inheritance (Early Binding/Compile T...
Diving in OOP (Day 1) : Polymorphism and Inheritance (Early Binding/Compile T...Diving in OOP (Day 1) : Polymorphism and Inheritance (Early Binding/Compile T...
Diving in OOP (Day 1) : Polymorphism and Inheritance (Early Binding/Compile T...
 
Oo ps exam answer2
Oo ps exam answer2Oo ps exam answer2
Oo ps exam answer2
 
Interoduction to c++
Interoduction to c++Interoduction to c++
Interoduction to c++
 
Cs6301 programming and datastactures
Cs6301 programming and datastacturesCs6301 programming and datastactures
Cs6301 programming and datastactures
 
Object oriented concepts
Object oriented conceptsObject oriented concepts
Object oriented concepts
 
Chapter 04 object oriented programming
Chapter 04 object oriented programmingChapter 04 object oriented programming
Chapter 04 object oriented programming
 
ICT C++
ICT C++ ICT C++
ICT C++
 
M.c.a (sem iii) paper - i - object oriented programming
M.c.a (sem   iii) paper - i - object oriented programmingM.c.a (sem   iii) paper - i - object oriented programming
M.c.a (sem iii) paper - i - object oriented programming
 
Principal of objected oriented programming
Principal of objected oriented programming Principal of objected oriented programming
Principal of objected oriented programming
 
Oop in c++ lecture 1
Oop in c++  lecture 1Oop in c++  lecture 1
Oop in c++ lecture 1
 
The Ring programming language version 1.7 book - Part 90 of 196
The Ring programming language version 1.7 book - Part 90 of 196The Ring programming language version 1.7 book - Part 90 of 196
The Ring programming language version 1.7 book - Part 90 of 196
 
Chapter1
Chapter1Chapter1
Chapter1
 
Mca 504 dotnet_unit3
Mca 504 dotnet_unit3Mca 504 dotnet_unit3
Mca 504 dotnet_unit3
 
I assignmnt(oops)
I assignmnt(oops)I assignmnt(oops)
I assignmnt(oops)
 
Bca winter 2013 2nd sem
Bca winter 2013 2nd semBca winter 2013 2nd sem
Bca winter 2013 2nd sem
 

Recently uploaded

Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 

Recently uploaded (20)

Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 

oop micro 2 ok.docx

  • 1. Hotel Management Project Using C++(OOP) structure Features:  Manage Rooms  Check-In  Get available rooms  Search customer  Check-out room  Get guest summary report
  • 2. 1 Introduction: Object Oriented Programming in C++ The prime purpose of C++ programming was to add object orientation to the C programming language, which is in itself one of the most powerful programming languages. The core of the pure object-oriented programming is to create an object, in code, that has certain properties and methods. While designing C++ modules, we try to see whole world in the form of objects. Object Oriented programming is a programming style that is associated with the concept of Class, Objects and various other concepts revolving around these two, like Inheritance, Polymorphism, Abstraction, Encapsulation etc. Let us try to understand a little about all these, through a simple example. Human Beings are living forms, broadly categorized into two types, Male and Female. Right? Its true. Every Human being(Male or Female) has two legs, two hands, two eyes, one nose, one heart etc. There are body parts that are common for Male and Female, but then there are some specific body parts, present in a Male which are not present in a Female, and some body parts present in Female but not in Males. All Human Beings walk, eat, see, talk, hear etc. Now again, both Male and Female, performs some common functions, but there are some specifics to both, which is not valid for the other. For example : A Female can give birth, while a Male cannot, so this is only for the Female. Human Anatomy is interesting, isn't it? But let's see how all this is related to C++ and OOPS. Here we will try to explain all the OOPS concepts through this example and later we will have the technical definitons for all this. There are a few principle concepts that form the foundation of object oriented programming − Object:- This is the basic unit of object oriented programming. That is both data and function that operate on data are bundled as a unit called as object. Class:- When you define a class, you define a blueprint for an object. This doesn't actually define any data, but it does define what the class name means, that is, what an object of the class will consist of and what operations can be performed on such an object. Abstraction:- Data abstraction refers to, providing only essential information to the outside world and hiding their background details, i.e., to represent the needed information in program without presenting the details. For example, a database system hides certain details of how data is stored and created and maintained.
  • 3. 2 Similar way, C++ classes provides different methods to the outside world without giving internal detail about those methods and data. Encapsulation:- Encapsulation is placing the data and the functions that work on that data in the same place. While working with procedural languages, it is not always clear which functions work on which variables but object-oriented programming provides you framework to place the data and the relevant functions together in the same object. Inheritance One of the most useful aspects of object-oriented programming is code reusability. As the name suggests Inheritance is the process of forming a new class from an existing class that is from the existing class called as base class, new class is formed called as derived class. This is a very important concept of object-oriented programming since this feature helps to reduce the code size. Polymorphism The ability to use an operator or function in different ways in other words giving different meaning or functions to the operators or functions is called polymorphism. Poly refers to many. That is a single function or an operator functioning in many ways different upon the usage is called polymorphism. Overloading The concept of overloading is also a branch of polymorphism. When the exiting operator or function is made to operate on new data type, it is said to be overloaded.
  • 4. 3 Project explanation: Idea:- project is a project for managing the hotel rooms and reservation throw multi features that help to register,checkin,add rooms and other features . Code explanation: We will start by explaining every piece of code in the project and for that we will explain the functions then we will gather all the pieces to make a running managing hotel rooms program Notes: we will write Arabic explanation on code screens to make it clear We will need to classes Customer and Rooms Input:- Customer class
  • 5. 4 Room Class Then we will will need a Hotel management class for putting our functions in Hotel management class It has 5 main functions in it listed in the screen above
  • 6. 5 We now start with the first function which is Check in() Check in secreen1
  • 8. 7 2. Get Avilable Rooms() to check if there is available room
  • 9. 8 3. searchcustomer() to search if this customer is reserving a room
  • 10. 9 4. Check out() to checkout from room
  • 11. 10 5.getsummeryreport() to get a report about the status of hotel
  • 12. 11 Now the Main() finction will contain all the options in hotel including add rooms Main secreen1
  • 14. 13 Finally the integration of code is below #include<iostre am> #include<string .h> #include<conio. h> #define max 100 using namespace std; //Class Customer class Customer { public: char name[100]; char address[100]; char phone[12]; char from_date[20]; char to_date[20]; float payment_advance; int booking_id; }; class Room { public: char type; char stype; char ac; int roomNumber; int rent; int status; class Customer cust; class Room addRoom(int); void searchRoom(int); void deleteRoom(int); void displayRoom(Room); }; //Global Declarations class Room rooms[max]; int count=0; Room Room::addRoom(int rno)
  • 15. 14 { class Room room; room.roomNumber=rno; cout<<"nType AC/Non-AC (A/N) : "; cin>>room.ac; cout<<"nType Comfort (S/N) : ";
  • 16. 15 cin>>room.type; cout<<"nType Size (B/S) : "; cin>>room.stype; cout<<"nDaily Rent : "; cin>>room.rent; room.status=0; cout<<"n Room Added Successfully!"; getch(); return room; } void Room::searchRoom(int rno) { int i,found=0; for(i=0;i<count;i++) { if(rooms[i].roomNumber==rno) { found=1; break; } } if(found==1) { cout<<"Room Detailsn"; if(rooms[i].status==1) { cout<<"nRoom is Reserved"; } else { cout<<"nRoom is available"; } displayRoom(rooms[i]); getch(); } else { cout<<"nRoom not found"; getch(); } } void Room::displayRoom(Room tempRoom) { cout<<"nRoom Number: t"<<tempRoom.roomNumber; cout<<"nType AC/Non-AC (A/N) "<<tempRoom.ac; cout<<"nType Comfort (S/N) "<<tempRoom.type; cout<<"nType Size (B/S) "<<tempRoom.stype; cout<<"nRent: "<<tempRoom.rent; }
  • 17. 16 //hotel management class class HotelMgnt:protected Room { public: void checkIn(); void getAvailRoom(); void searchCustomer(char *); void checkOut(int); void guestSummaryReport(); }; void HotelMgnt::guestSummaryReport(){ if(count==0){ cout<<"n No Guest in Hotel !!"; } for(int i=0;i<count;i++) { if(rooms[i].status==1) { cout<<"n Customer First Name : "<<rooms[i].cust.name; cout<<"n Room Number : "<<rooms[i].roomNumber; cout<<"n Address (only city) : "<<rooms[i].cust.address; cout<<"n Phone : "<<rooms[i].cust.phone; cout<<"n "; } } getch(); } //hotel management reservation of room void HotelMgnt::checkIn() { int i,found=0,rno; class Room room; cout<<"nEnter Room number : "; cin>>rno; for(i=0;i<count;i++) { if(rooms[i].roomNumber==rno) { found=1; break; } } if(found==1) { if(rooms[i].status==1) { cout<<"nRoom is already Booked";
  • 18. 17 getch(); return; } cout<<"nEnter booking id: "; cin>>rooms[i].cust.booking_id; cout<<"nEnter Customer Name (First Name): "; cin>>rooms[i].cust.name; cout<<"nEnter Address (only city): "; cin>>rooms[i].cust.address; cout<<"nEnter Phone: "; cin>>rooms[i].cust.phone; cout<<"nEnter From Date: "; cin>>rooms[i].cust.from_date; cout<<"nEnter to Date: "; cin>>rooms[i].cust.to_da te; cout<<"nEnter Advance Payment: "; cin>>rooms[i].cust.payment_advance; rooms[i].status=1; cout<<"n Customer Checked-in Successfully.."; getch(); } } //hotel management shows available rooms void HotelMgnt::getAvailRoom() { int i,found=0; for(i=0;i<count;i++) { if(rooms[i].status==0) { displayRoom(rooms[i]); cout<<"nnPress enter for next room"; found=1; getch(); } } if(found==0) { cout<<"nAll rooms are reserved"; getch(); } }
  • 19. 18 //hotel management shows all persons that have booked room void HotelMgnt::searchCustomer(char *pname) { int i,found=0; for(i=0;i<count;i++) { if(rooms[i].status==1 && stricmp(rooms[i].cust.name,pname)==0) { cout<<"nCustomer Name: "<<rooms[i].cust.name; cout<<"nRoom Number: "<<rooms[i].roomNumber; cout<<"nnPress enter for next record"; found=1; getch(); } } if(found==0) { cout<<"nPerson not found."; getch(); } } //hotel managemt generates the bill of the expenses void HotelMgnt::checkOut(int roomNum) { int i,found=0,days,rno; float billAmount=0; for(i=0;i<count;i++) { if(rooms[i].status==1 && rooms[i].roomNumber==roomNum) { //rno = rooms[i].roomNumber; found=1; //getch(); break; } } if(found==1) { cout<<"nEnter Number of Days:t"; cin>>days; billAmount=days * rooms[i].rent; cout<<"nt######## CheckOut Details ########n"; cout<<"nCustomer Name : "<<rooms[i].cust.name; cout<<"nRoom Number : "<<rooms[i].roomNumber; cout<<"nAddress : "<<rooms[i].cust.address; cout<<"nPhone : "<<rooms[i].cust.phone; cout<<"nTotal Amount Due : "<<billAmount<<" /"; cout<<"nAdvance Paid: "<<rooms[i].cust.payment_advance<<" /";
  • 20. 19 cout<<"n*** Total Payable: "<<billAmount- rooms[i].cust.payment_advance<<"/ only"; rooms[i].status=0; } getch(); } //managing rooms (adding and searching available rooms) void manageRooms() { class Room room; int opt,rno,i,flag=0; char ch; do { system("cls"); cout<<"n### Manage Rooms ###"; cout<<"n1. Add Room"; cout<<"n2. Search Room"; cout<<"n3. Back to Main Menu"; cout<<"nnEnter Option: "; cin>>opt; //switch statement switch(opt) { case 1: cout<<"nEnter Room Number: "; cin>>rno; i=0; for(i=0;i<count;i++) { if(rooms[i].roomNumber==rno) { flag=1; } } if(flag==1) { cout<<"nRoom Number is Present.nPlease enter unique Number"; flag=0; getch(); } else { rooms[count]=room.addRoom(rno); count++; } break; case 2: cout<<"nEnter room number: ";
  • 21. 20 cin>>rno; room.searchRoom(rno); break; case 3: //nothing to do break; default: cout<<"nPlease Enter correct option"; break; } }while(opt!=3); } using namespace std; int main() { class HotelMgnt hm; int i,j,opt,rno; char ch; char pname[100]; system("cls"); do { system("cls"); cout<<"######## Hotel Management #########n"; cout<<"n1. Manage Rooms"; cout<<"n2. Check-In Room"; cout<<"n3. Available Rooms"; cout<<"n4. Search Customer"; cout<<"n5. Check-Out Room"; cout<<"n6. Guest Summary Report"; cout<<"n7. Exit"; cout<<"nnEnter Option: "; cin>>opt; switch(opt) { case 1: manageRooms(); break; case 2: if(count==0) { cout<<"nRooms data is not available.nPlease add the rooms first."; getch(); } else hm.checkIn(); break; case 3: if(count==0) { cout<<"nRooms data is not available.nPlease add the rooms first."; getch();
  • 22. 21 } else hm.getAvailRoom() ; break; case 4: if(count==0) { cout<<"nRooms are not available.nPlease add the rooms first."; getch(); } else { cout<<"Enter Customer Name: "; cin>>pname; hm.searchCustomer(pname); } break; case 5: if(count==0) { cout<<"nRooms are not available.nPlease add the rooms first."; getch(); } else { cout<<"Enter Room Number : "; cin>>rno; hm.checkOut(rno); } break; case 6: hm.guestSummaryReport( ); break; case 7: cout<<"nTHANK YOU! FOR USING SOFTWARE"; break; default: cout<<"nPlease Enter correct option"; break; } }while(opt!=7); getch(); }