1: //bool_errors.cpp 2: //The purpose of this program is to highlight some of pitfalls to 3: //avoid when dealing with boolean data values and testing conditions. 5: #include <iostream> 6: using namespace std; 8: int main() 9: { 10: cout << "\nThis program is designed to freak you out, and " 11: "serve as a warning.\n\nHere's what you should do:\n" 12: "1. On the first run, enter the values 6, then 3 and 4, " 13: "then 1.2, 2.3 and 3.4." 14: "\n2. Now check the source code and reconcile " 15: "the input and output." 16: "\n3. On the second run, enter the values 7, then 8 and 9, " 17: "then 3.4, 2.3 and 1.2 " 18: "\n4. Now check the source code and reconcile " 19: "the input and output once more.\n"; 21: int i, j; 23: cout << "\nEnter an integer: "; 24: cin >> i; cin.ignore(80, '\n'); 25: if (i = 6) //First error: What is it? 26: cout << "The value entered was 6.\n"; 29: cout << "\nEnter two more integers: "; 30: cin >> i >> j; cin.ignore(80, '\n'); 31: if (i == 3 || 4) //Second error: What is it? 32: cout << "The first value entered was either 3 or 4.\n"; 33: else 34: cout << "The first value entered was neither 3 nor 4.\n"; 36: if (i || j == 4) //Third error: What is it? 37: cout << "One of the values entered was 4.\n"; 38: else 39: cout << "Neither value entered was 4.\n"; 42: double x, y, z; 44: cout << "\nEnter three real numbers: "; 45: cin >> x >> y >> z; cin.ignore(80, '\n'); 46: if (x < y < z) //Fourth error: What is it? 47: cout << "The values were entered in increasing order.\n"; 48: else 49: cout << "The values were not entered in increasing order.\n"; 50: cout << endl; 51: }