/******************************************************************************************** 02-B.cpp Jim Millard for CO211/Fall 1999 Program that finds the largest and smallest value from a set of inputs, then echos those values to the user. ********************************************************************************************/ #include <iostream> #include <string> using namespace std; void DisplayResults(float smallest, float largest, int count); void DoWork(float &smallest, float &largest, int &count); int main() { float smallest, largest; int count = 0; //inform and prompt the user cout << endl << "This program will take a set of numbers as input and " << endl << "return value of the largest and smallest values in the set." << endl << "The program will return the results when you enter [Ctrl-D] as input." << endl; DoWork(smallest, largest, count); DisplayResults(smallest, largest, count); return 0; } void DoWork(float& smallest, float& largest, int & count) { //Prime the Pump float current; cout << "Enter a set of numbers: "; if (cin >> current) // check for a valid first entry { //force-fit the first value as both smallest and largest count = 1; largest = current; smallest = current; //prompt and extract the rest of the set cout << "Enter a set of numbers: "; while (cin >> current) { count++; //we've got valid input, so increment the count //compare to currently held values if (current > largest) largest = current; else if (current < smallest) smallest = current; } //while } //if return; } void DisplayResults(float smallest, float largest, int count) { //output the results cout << endl; if (count > 1) { cout << "\nResults:" << endl; cout << "\tSmallest: " << smallest << endl; cout << "\tLargest: " << largest << endl; } else if (count == 1) { cout << "You only entered one value, " << smallest << ", which by definition is both\n"; cout << "smallest and largest at the same time." << endl; } else cout << "No valid input was received; therefore, there are no results." << endl; }