// Example 6.12. Test program for randomDouble and randomDoubleRange #include #include #include using namespace std; int main() { double randomDouble(); double randomDoubleRange(double lowerBound, double upperBound); int i = 0; cout << "Random doubling point numbers in range\n"; cout << setw(20) << "0-1" << setw(20) << "3-7" << "\n\n"; while (i < 10) { cout << setw(20) << randomDouble() << setw(20) << randomDoubleRange(3, 7) << endl; i++; } return 0; } // // Function to return a random double between 0 and 1 // Pre: The generator is seeded. // Post: A random double greater than or equal to 0 // and less than 1 has been returned. // double randomDouble() { return ( rand() / (static_cast(RAND_MAX) + 1) ); } // // Function to generate a random double between lowerBound // and upperBound // Pre: lowerBound and upperBound are of type double with // lowerBound < upperBound. The generator is seeded. // Post: A random double greater than or equal to lowerBound // and less than upperBound has been returned. // double randomDoubleRange(double lowerBound, double upperBound) { double random_0_1; // random number between 0 and 1 random_0_1 = rand() / (static_cast(RAND_MAX) + 1); return ((upperBound - lowerBound) * random_0_1 + lowerBound); }