Logical Operators in Conditions
You can combine or reverse conditions using logical operators . These work together with if , else , and else if to build more complex decisions.
- && (AND) - all conditions must be true
| - | (OR) - at least one condition must be true |
|---|
- ! (NOT) - reverses a condition ( true → false , false → true )
AND ( && )
Use AND ( && ) when both conditions must be true:
aOR ( || )
Use OR ( || ) when at least one of the conditions can be true:
aNOT ( ! )
The NOT operator ( ! ) reverses a condition:
- If a condition is true , ! makes it false .
- If a condition is false , ! makes it true .
This is useful when you want to check that something is not the case:
aReal-Life Example
In real programs, logical operators are often used for access control. For example, to get access to a system, there are specific requirements:
You must be logged in, and then you either need to be an admin, or have a high security clearance (level 1 or 2):
Example
bool isLoggedIn = true;
bool isAdmin = false;
int securityLevel = 3; // 1 = highest
if (isLoggedIn && (isAdmin || securityLevel <= 2)) {
cout << "Access granted.";
} else {
cout << "Access denied.";
}
// Try changing securityLevel and isAdmin to test different outcomes: // securityLevel 1 = Access granted // securityLevel 2 = Access granted // securityLevel 3 = Access denied // securityLevel 4 = Access denied // If isAdmin = true, access is granted.