Assignment 2a [20 points]A guessing game Among other possibilities, algorithms developed using repetition control structures such as loops can be used to generate properly formatted output of various types of intelligence tests. Write a program that plays a number guessing game with a Human user. The Human user will think of a number between 1 and 100, inclusive. The program will make guesses and the user will tell the program to guess higher or lower. A sample run of the program might look like this (user input is in bold): The strategy that the program will use to make guesses is similar to what is often called a "binary search". (Although the binary search was reviewed earlier in the Gaddis Chapter 8 in the context of arrays, if you do not remember what a binary search is, or don't understand its connection here, just ignore it. It is mentioned here in case it is helpful.) The strategy goes like this: Every time the program makes a guess it should guess the midpoint of the remaining possible values. Consider the first example above, in which the user has chosen the number 81: On the first guess, the possible values are 1 to 100. The midpoint is 50. The user responds by saying "higher" On the second guess the possible values are 51 to 100. The midpoint is 75. The user responds by saying "higher" On the third guess the possible values are 76 to 100. The midpoint is 88. The user responds by saying "lower" On the fourth guess the possible values are 76 to 87. The midpoint is 81. The user responds "correct" Additional Requirements You must also (1) display a count of the number of tries the algorithm took based on user input to determine the number and (2) provide the user the opportunity to play the game again or quit. Be sure to use proper program formatting, meaningful variable identifier names and appropriate prompts to the user in your code. No specific input validation routine is needed. The output should be clear and formatted neatly. (Note: In this program the Human user is thinking of a number at random in the range of 0 to 100 during each program run of this assignment. You may want to review how the computer can also generate a random number in a range (see guess.cpp or guess2.cppLinks to an external site. ) for implementation purposes when writing programs that require the Human user instead guessing the number). C++ Please..