// Ch. 7 Demo Program #4
// Mr. Minich

#include <iostream.h>

int main()
{
	int num1 = -5;  // used in if statement examples
	int num2 = 0;   // used in if statement examples

	if (num1)
	{  
cout << "This prints if num1 is nonzero.\n";
}
// I recommend the use of curly braces in the statement above even though // they are technically optional in this situation.

if (num1 && num2) { cout << "This prints if num1 AND num2 are both nonzero.\n"; cout << "This also prints if num1 AND num2 are both nonzero.\n"; }
// Here the curly braces are required since 2 or more statements are included in the // the conclusion of the if statement.
if (num1) cout << "This prints if num1 is nonzero.\n" << endl; if (num1 && num2) cout << "This prints if num1 AND num2 are both nonzero.\n"; cout << "This prints ALSO if num1 AND num2 are both nonzero.\n"; // This if statement has incorrect logic (and incorrect indentation). Since the programmer did not // use curly braces to surround the conclusion cout statements. The fact // that the second cout statement is indented does not cause it to be // interpreted as part of the if statement. It turns out that the message
// This prints ALSO if num1 AND num2 are both nonzero
// always prints out no matter what the result of the control expression // (num1 && num2) may be.
if (num1 == 0); cout << "This always prints out due to another logic error.\n"; // Because of the semicolon after the control expression, the cout // statement is not treated as part of the if statement and is always // executed no matter what the result of (num1 == 0) may be. It is a // common error to incorrectly place semicolons after control expressions // in if statements. return 0; }// end of main