×
Samples Blogs Make Payment About Us Reviews 4.9/5 Order Now

Create A Program to Implement Hotel Management System in C++ Assignment Solution

June 29, 2024
Anderson James
Anderson James
🇨🇦 Canada
C++
Anderson James is a seasoned C++ Specialist with over 10 years of expertise in tackling complex assignments. Holding a Master's degree from the University of Toronto, Canada.
Key Topics
  • Instructions
  • Requirements and Specifications
Tip of the day
Familiarize yourself with OCaml's pattern matching; it simplifies handling recursive data structures like lists and trees, making your code concise and easier to debug.
News
In 2024, Girls Who Code introduced a Data Science + AI track in their free summer programs for high school students, fostering skills in cybersecurity and creative coding​

Instructions

Objective
Write a C++ assignment program to implement hotel management system.

Requirements and Specifications

program to implement hotel management system in C++
program to implement hotel management system in C++ 1
program to implement hotel management system in-C++ 2
program to implement hotel management system in C++ 3

Source Code

GUEST

#include <Date.h>

#include <Information.h>

class Guests

{

private:

Date check_in;

Date check_out;

Information guests_in_room[4];

int room_number;

int n_guests;

public:

// constructors

Guests() {};

Guests(Date in, Date out, int room_n) {

heck_in = in;

check_out = out;

room_number = room_n;

n_guests;

}

void addPerson(Information inf) {

guests_in_room[n_guests++] = inf;

}

// getters and setters

Date getCheckInDate() { return check_in; }

Date getCheckOutDate() { return check_out; }

int getRoomNumber() { return room_number; }

void print() {

for (int i = 0; i < n_guests; i++) {

std::cout << "Person No. " << (i + 1) << ": ";

guests_in_room[i].print();

}

}

};

RESERVATION MANAGER

#include <Guests_Res_Request.h>

class Reservation_Manager

{

private:

int max_no_of_nights;

int no_of_rooms;

Guests_Res_Request* arr;

int requests;

int* reservation_ids;

public:

Reservation_Manager() {};

Reservation_Manager(int max_nights, int n_rooms) {

requests = 0;

max_no_of_nights = max_nights;

no_of_rooms = n_rooms;

reservation_ids = (int*)malloc((max_no_of_nights * no_of_rooms) * sizeof(int));

// initialize with zeros

for (int i = 0; i < max_no_of_nights; i++) {

for (int j = 0; j < no_of_rooms; j++) {

*(reservation_ids + max_no_of_nights * i + j) = 0;

}

}

}

void addGuestRequest(Guests_Res_Request request, int reserv_id) {

bool isAvailable = true;

// check that room is available

Guests guest = request.getGuests();

Date check_in = guest.getCheckInDate();

Date check_out = guest.getCheckOutDate();

// get row id

int start_row_id = check_in.getMonth() * 30 + check_in.getDay();

int end_row_id = check_out.getMonth() * 30 + check_in.getDay();

// Now check if there is a room available for this time

int n_room = -1;

for (int j = 0; j < no_of_rooms; j++) {

isAvailable = true;

for (int i = start_row_id; i <= end_row_id; i++) {

if (*(reservation_ids + max_no_of_nights * i + j) != 0) {

isAvailable = false;

break;

}

}

if (isAvailable) {

n_room = j;

break;

}

}

if (n_room != -1) // a room was found

{

for (int i = start_row_id; i <= end_row_id; i++) {

*(reservation_ids+max_no_of_nights*i+n_room) = request.getReservationId();

arr[requests++] = request;

}

}

}

void printReservationDetails(int reserv_id) {

int request_id = -1;

for (int i = 0; i < requests; i++) {

if (arr[i].getReservationId() == reserv_id) {

Guests_Res_Request r = arr[i];

r.print();

return;

}

}

// if we reach this line it is because no reservation found

std::cout << "Reservation with id " << reserv_id << " not found." << std::endl;

}

void removeReservation(int reserv_id) {

for (int j = 0; j < no_of_rooms; j++) {

for (int i = 0; i < max_no_of_nights; i++) {

if (*(reservation_ids + max_no_of_nights * i + j) == reserv_id) {

*(reservation_ids + max_no_of_nights * i + j) = 0;

}

}

}

}

};

Related Samples

Explore our C++ Assignment Samples featuring meticulously crafted solutions for diverse programming tasks. From fundamental concepts to intricate algorithms, each sample showcases our commitment to clarity, efficiency, and precise coding techniques. Empower your learning and excel in C++ programming with our insightful examples and expert guidance.