Logical Operators
Often we need to combine multiple different requirements in conditions. This is what logical operators are for:
&&- logical AND (and at the same time)||- logical OR (or)
The && (AND) operator:
int age = 20;
bool hasLicense = true;
// Both conditions must be true
if (age >= 18 && hasLicense) {
std::cout << "Can drive a car" << std::endl;
}The || (OR) operator:
std::string day = "friday";
std::string weather = "rain";
// At least one condition needs to be true
if (day == "friday" || weather == "sunny") {
std::cout << "Going outside" << std::endl;
}We can combine multiple operators:
int age = 25;
bool hasLicense = true;
bool hasCar = false;
// Must be adult AND have license AND (own car OR have borrowed car)
if (age >= 18 && hasLicense && (hasCar || hasBorrowedCar)) {
std::cout << "Can go on a trip" << std::endl;
}For better readability, we can split complex conditions into multiple variables:
bool isAdult = (age >= 18);
bool hasPermission = (hasLicense && hasExperience);
bool hasTransport = (hasCar || hasBorrowedCar);
if (isAdult && hasPermission && hasTransport) {
std::cout << "Can go on a trip" << std::endl;
}Instructions
Complete the if statement condition that prints Welcome if the username is admin and (and) the password is 123456.
Start programming for free
7/10