170k views
4 votes
Write a program that calculates the occupancy rate for ahotel. The program should start by asking the user how many floorsthe hotel has. A loop should then iterate once for each floor. Ineach iteration, , the loop should ask the user for the number ofrooms on the floor and how many of them are occupied. After all theiterations, the program should display how many rooms the hotelhas, how many of them are occupied, how many are unoccupied, andthe percentage of rooms that are occupied. The percentage may becalculated by dividing the number of rooms occupied by the numberof rooms.

Requirements:
Do not accept a value less than one for the number offloors
Do not accept a value less than 10 for the number ofrooms on the floor
In this hotel, the third floor is used for restaurants. Theloop in this program should skip the entire third iteration.
Use for loop and while loop in the program
Sample ouput
How many floors does the hotel have?
How many rooms are on floor 1?
How many of those rooms are occupied?
How many rooms are on floor 2?
How many of those rooms are occupied?
How many rooms are on floor 4?
How many of those rooms are occupied?
How many rooms are on floor 5?
How many of those rooms are occupied?
How many rooms are on floor 6?
How many of those rooms are occupied?
The hotel has a total of 65 rooms.
53 are occupied.
12 are unoccupied.
The occupancy rate is 81.5%

User Dolbysurnd
by
5.8k points

1 Answer

4 votes

Answer:

Here is the C++ program:

#include <iostream> //to use input output functions

using namespace std; //to identify objects like cin cout

int main(){ //start of main function

int MinFloors = 1; //minimum number of floors

int MinRooms = 10; //minimum number of rooms

int NoOfFloors; //stores number of floors

int NoOfRooms; //stores number of rooms

int OccupiedRooms; //stores number of rooms occupied

double TotalRooms=0, TotalOccupied=0; //stores computed total number of rooms and total number of occupied rooms

cout<<"How many floors does the hotel have? "; //prompts user to enter number of floors

do{ //iterates until the user enters valid number of floors

cout<<"(cannot be less than "<<MinFloors<<"): "; //error message

cin >>NoOfFloors; //reads number of floors from user

}while(NoOfFloors<MinFloors); //repeats as long as number of floors is less than minimum number of floors

for(int floor=1; floor <= NoOfFloors; floor++){ //iterates through the floors to skip third iteration

if(floor == 3){ //if floor is third floor

continue; }

cout<<"How many rooms are on floor " <<floor; //prompts user to enter number of floors

do{ //start of do while loop

cout<<"(cannot be less than "<<MinRooms<<"): "; //error message

cin >>NoOfRooms; //reads number of rooms from user

}while(NoOfRooms<MinRooms); //iterates as long as number of rooms are less than valid minimum number of rooms

TotalRooms += NoOfRooms; //adds number of rooms to the count of total number of rooms

cout<<"How many of those rooms are occupied?"; //prompts user to enter number of rooms occupied

do{ //start of do while loop

cout<<"(cannot be less than 0 or greater than "<<NoOfRooms<<"): "; //generates error message

cin >>OccupiedRooms; //reads number of rooms occupied by user

}while(OccupiedRooms<0 || OccupiedRooms>NoOfRooms); //iterates as long as the number of occupied rooms are less than 0 or greater than number of rooms

TotalOccupied += OccupiedRooms; } //adds number of rooms occupied to the count of total number of occupied rooms

cout<<"\\The hotel has a total of "<<TotalRooms<<" rooms"<<endl; //displays the total number of rooms in the hotel

cout<<TotalOccupied<<" are occupied."<<endl; //displays the total number of occupied rooms

cout<<(TotalRooms-TotalOccupied)<<" are unoccupied."<<endl; //displays the total number of unoccupied rooms

cout<<"The occupancy rate is: "<<100*(TotalOccupied/TotalRooms)<<"%"<<endl; } //computes and displays the occupancy rate

Step-by-step explanation:

The program first prompts the user to enter number of floors in the hotel. Lets say user enters 6. This is stored in NoOfFloors So

NoOfFloors = 6

So the loop runs for 6 times

Next it asks user to enter the number of rooms in the floor 1. Lets say user enters 12 so this is stored in NoOfRooms so

NoOfRooms = 12

TotalRooms += NoOfRooms;

this statement keeps adding number of rooms to TotalRooms so

TotalRooms = 12

Next program asks user about the number of occupied rooms. Lets say user enters 10 so this is stored in OccupiedRooms so

OccupiedRooms = 10

this statement keeps adding number of rooms to TotalOccupied so

TotalOccupied += OccupiedRooms;

TotalOccupied = 10

At next iteration program asks user again to enter number of rooms in floor 2. Suppose user enters 14 so

NoOfRooms = 12

TotalRooms += NoOfRooms;

TotalRooms = 12+14

TotalRooms = 26

Program asks again to enter number of occupied rooms so it becomes:

OccupiedRooms = 8

this statement keeps adding number of rooms to TotalOccupied so

TotalOccupied += OccupiedRooms;

TotalOccupied = 10+8

TotalOccupied = 18

Next is skips floor 3 and iteration 3. and asks user to enter number of rooms in floor 4. Suppose user enters 14

Number of rooms become:

TotalRooms = 12+14+14

TotalRooms = 40

and suppose user enters 14 as occupied rooms so total occupied become:

TotalOccupied = 10+8 + 14

TotalOccupied = 32

For floor 5: Suppose user enters 13

TotalRooms = 12+14+14+13

TotalRooms = 53

For floor 5: Suppose user enters 10

TotalOccupied = 10+8 + 14+10

TotalOccupied = 42

For floor 6: Suppose user enters 12

TotalRooms = 12+14+14+13+12

TotalRooms = 65

For floor 6: Suppose user enters 11

TotalOccupied = 10+8 + 14+10+11

TotalOccupied = 53

Now the loop breaks

Hence

TotalRooms = 65

TotalOccupied = 53

total unoccupied = TotalRooms-TotalOccupied = 65-53 = 12

The occupancy rate is: 100*(TotalOccupied/TotalRooms) = 100*(53/65) = 81.5385

The output of the program is attached in a screenshot.

Write a program that calculates the occupancy rate for ahotel. The program should-example-1
User Leandrodemarco
by
5.0k points