Practice Exercise:  Using Predefined Functions in C++

                
Purpose and Objective:  To enhance readability by reducing the complexity of the
    function main, it is useful to be able to invoke functions that are
    already written and provided as part of the C++ system.

    To use a predefined function you may need to include header files(e.g. cmath,
    cfloat, cstdlib, ctime, cctype, string), know the name of the function you 
    plan to use, and the number and data type of the arguments (parameters) 
    required by the function.
    
    The syntax for a function call is:
        [variable=] functionName([arguments--aka "actual parameter list"]);

    The syntax for the argument(s) or actual parameter list is:
        expression or variable[, expression or variable, ...]
        
0. For the computer system used for this exercise, output the maximum integer 
   value (INT_MAX), the digits in INT_MAX, and the number of significant digits
   for a double value (DBL_DIG). The number of digits in the maximum integer 
   value may be shown by the "floor" of 1 + the return value from log10(INT_MAX).
   that is, floor(exp).

   
1. Find p with the predefined function pow(b, e), that has two arguments b and
   e, calculates the first argument ("base") to the power of the second 
   argument ("exponent") and returns a value that may be assigned to the 
   identifier p. The arguments may be variable names, and reference integral
   or floating-point types (except when base is negative). Try finding the 
   value two(2) raised to the fifth(5) power.


2. For int s = 16; invoke the function sqrt(s) and print the square root of s.
   The function sqrt(s) has one argument (s) and returns the square root of 
   a "square" to be assigned to a variable named "root" or perhaps printed.


3. Given int a = -4, b = 2, and difference d to be b - a, use the function 
   abs(d) with the difference as its argument to return the absolute value of
   the int d. That is, the distance between points a and b. Output the values
   referenced by the variables a, b and the distance. Include side labels.


4. For the double variable f = -2.34, apply the function fabs(f) to find and 
   output |f| (the absolute value of a floating-point value f).


5. Given the variable f = 4.5, invoke the function ceil(f) to return and output
   that smallest integer that is not less than f. Calling floor(f) would return
   the largest whole number that is not greater than f.


6. Apply rand( ) to generate a random number from 1..9. First invoke srand(seed)
   where seed is an unsigned int represented by the argument time(0). Limit the
   random number to a given range with the modulus(%) operator. Why should 1 be 
   added to the result?