Hotel Management System Project Using C++ Language

Last updated Jan 24, 2022

In this project, we will see how to build the HOTEL MANAGEMENT SYSTEM project using C++ programming language.

INTRODUCTION:

It covers macros, classes, objects, arrays, functions, loops, and structure in this project for C++ novices. When this code is launched, the user is presented with a menu with seven options numbered 1 through 7, after which the program executes according to the user's choices. The output from the g++ compiler may be seen at the bottom of this page.
 

The following are the project's main features:

  • Manage rooms: In this project we can manage how much rooms available or booked .

  • Guest Check-In & Check-Out: Using this project we can monitor the guest check-in or check-Out activities with time.

  • Get available rooms: We can get all available rooms.

  • Search customer: Using this we can search any customer or guest, is he/she still available in hotel or not.

  • Get guest summary report:  We will get the summary details of guest using this project.

 


Tools Used using project:
I used Dev C++  IDE or you can use any IDE which is suitable to you.

 

Implementation of Hotel Management System:

Step 1. Create a new Project in Dev C++

File > New >  Source File  or Ctrl + N

 

Step 2. First of all we will include all header file which will use in project.

#include
#include
#include
#define max 100

 

Step 3. Add the following line below header file:

using namespace std;

The using namespace statement simply implies that in the scope in which it is present, all items in the std namespace are available without needing to prefix them with std:
 

Step 4. Now we will create a class(customer) which can take the details of the 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;
};

 

Step 5. Now we will create a class(room) which can take the details of the room.

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);
};

 

Step 6. Now we will create function to add room, search room and display room 

class Room rooms[max];
int count=0;


Room Room::addRoom(int rno)
{
class Room room;
room.roomNumber=rno;
cout<<"\nType AC/Non-AC (A/N) : ";
cin>>room.ac;
cout<<"\nType Comfort (S/N) : ";
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 {
if(rooms[i].roomNumber==rno)
{
found=1;
break;
}
}
if(found==1)
{
cout<<"Room Details\n";
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"< cout<<"\nType AC/Non-AC (A/N) "< cout<<"\nType Comfort (S/N) "< cout<<"\nType Size (B/S) "< cout<<"\nRent: "< }

 

Step 7. Now we will create class(hotel management) which include these function:
1. Checkin
2. getAvailRoom
3. searchCustomer
4. checkout
5. guestSummaryReport 
 

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 {
if(rooms[i].status==1)
{
cout<<"\n Customer First Name : "< cout<<"\n Room Number : "< cout<<"\n Address (only city) : "< cout<<"\n Phone : "< cout<<"\n---------------------------------------";    
}
    
}

getch();
}

 

1. Check-in : check all the customer detail like booking id: name, address, advance payment, from date, to date.

void HotelMgnt::checkIn()
{
int i,found=0,rno;

class Room room;
cout<<"\nEnter Room number : ";
cin>>rno;
for(i=0;i {
if(rooms[i].roomNumber==rno)
{
found=1;
break;
}
}
if(found==1)
{
if(rooms[i].status==1)
{
cout<<"\nRoom is already Booked";
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_date;


cout<<"\nEnter Advance Payment: ";
cin>>rooms[i].cust.payment_advance;

rooms[i].status=1;

cout<<"\n Customer Checked-in Successfully..";
getch();
}
}

 

2. getAvailRoom : It shows all the available room in hotel.

void HotelMgnt::getAvailRoom()
{
int i,found=0;
for(i=0;i {
if(rooms[i].status==0)
{
displayRoom(rooms[i]);
cout<<"\n\nPress enter for next room";
found=1;
getch();
}
}
if(found==0)
{
cout<<"\nAll rooms are reserved";
getch();
}
}

 

3. Search customer:  It shows all persons that have booked room.

void HotelMgnt::searchCustomer(char *pname)
{
int i,found=0;
for(i=0;i {
if(rooms[i].status==1 && stricmp(rooms[i].cust.name,pname)==0)
{
cout<<"\nCustomer Name: "< cout<<"\nRoom Number: "<

cout<<"\n\nPress enter for next record";
found=1;
getch();
}
}
if(found==0)
{
cout<<"\nPerson not found.";
getch();
}
}

 

4. Checkout: It generates the bill of the expenses and remaining payment of the customer.

void HotelMgnt::checkOut(int roomNum)
{
int i,found=0,days,rno;
float billAmount=0;
for(i=0;i {
if(rooms[i].status==1 && rooms[i].roomNumber==roomNum)
{
found=1;
break;
}
}
if(found==1)
{
cout<<"\nEnter Number of Days:\t";
cin>>days;
billAmount=days * rooms[i].rent;

cout<<"\n\t######## CheckOut Details ########\n";
cout<<"\nCustomer Name : "< cout<<"\nRoom Number : "< cout<<"\nAddress : "< cout<<"\nPhone : "< cout<<"\nTotal Amount Due : "< cout<<"\nAdvance Paid: "< cout<<"\n*** Total Payable: "<

rooms[i].status=0;
}
getch();
}

 

5. GuestSummaryReport: It gives the detail of customer.

void HotelMgnt::guestSummaryReport(){

if(count==0){
    cout<<"\n No Guest in Hotel !!";
}    
for(int i=0;i {
if(rooms[i].status==1)
{
cout<<"\n Customer First Name : "< cout<<"\n Room Number : "< cout<<"\n Address (only city) : "< cout<<"\n Phone : "< cout<<"\n---------------------------------------";    
}
    
}

getch();
}

 

Step 8. Here we can see the main menu of the project and Use the switch statement to select one of many code blocks to be executed.

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<<"\n\nEnter Option: ";
cin>>opt;


switch(opt)
{
case 1:
cout<<"\nEnter Room Number: ";
cin>>rno;
i=0;
for(i=0;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: ";
cin>>rno;
room.searchRoom(rno);
break;
case 3:
break;
default:
cout<<"\nPlease Enter correct option";
break;
}
}while(opt!=3);
}

 

Step9. finally we create main funtion it is a special function is the primary function. A function called main is required in every C++ application. It acts as the program's starting point. The computer will begin running the code from the main function's beginning.

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<<"\n\nEnter 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();
}
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();
}


 

OUTPUT:

Main Screen: 

Hotel

 

Manage Rooms:

Hotel

 

Add Room:

Hotel

 

Search Room:

 

Checkin Screen:

Hotel

 

Available Rooms:

Hotel

 

Search Customer:

Hotel

 

Check-Out Screen:

Hotel

 

Guest Summary Screen:

Hotel

 

Conclusion: In this project, we have covered how to build Hotel Management System Project and manage information of rooms, guests etc.. using C++ programming language.

 

Download Source code

 

Article Contributed By :
https://www.rrtutors.com/site_assets/profile/assets/img/avataaars.svg

7372 Views