1: //extreme_values.cpp
2: //Finds the largest negative integer and smallest integer among the
3: //input values. Illustrates a sentinel-controlled loop containing one
4: //test in its body, and followed by two sequential tests.
6: #include <iostream>
7: #include <climits>
8: using namespace std;
10: int main()
11: {
12: cout << "\nThis program determines the largest negative integer "
13: "and the smallest\npositive integer entered by the user. "
14: "Terminate input by entering 0.\n\n";
16: int largestNeg = INT_MIN;
17: int smallestPos = INT_MAX;
18: int newValue;
20: cout << "Enter your integer sequence starting on the line below:\n";
21: cin >> newValue;
22: while (newValue != 0)
23: {
24: if (newValue < 0 && newValue > largestNeg)
25: largestNeg = newValue;
26: else if (newValue > 0 && newValue < smallestPos)
27: smallestPos = newValue;
28: cin >> newValue;
29: }
31: if (largestNeg == INT_MIN)
32: cout << "Either no negative integers were input or the largest "
33: "was the value\n" << "of INT_MIN, i.e. " << INT_MIN << ".\n";
34: else
35: cout << "The largest negative integer was "
36: << largestNeg << ".\n";
38: if (smallestPos == INT_MAX)
39: cout << "Either no positive integers were input or the smallest "
40: "was the value\nof INT_MAX, i.e. " << INT_MAX << ".\n";
41: else
42: cout << "The smallest positive integer was "
43: << smallestPos << ".\n";
44: cout << endl;
45: }