A nested if statement is an if statement inside another if statement. It is used when we need to check multiple conditions in a hierarchical manner.
1️⃣ Syntax of Nested if Statement
if (condition1) {
if (condition2) {
// Code executes if both conditions are true
} else {
// Code executes if condition1 is true but condition2 is false
}
} else {
// Code executes if condition1 is false
}
📌 The inner if executes only if the outer if condition is true.
2️⃣ Example: Checking Voting Eligibility with Nested if
#include <iostream>
using namespace std;
int main() {
int age;
cout << "Enter your age: ";
cin >> age;
if (age >= 18) {
if (age >= 60) {
cout << "You are a senior citizen." << endl;
} else {
cout << "You are eligible to vote." << endl;
}
} else {
cout << "You are not eligible to vote." << endl;
}
return 0;
}
Output 1 (if input is 25):
You are eligible to vote.
Output 2 (if input is 65):
You are a senior citizen.
Output 3 (if input is 15):
You are not eligible to vote.
📌 The inner if runs only if age >= 18.
3️⃣ Example: Checking a Number's Type (Positive, Negative, Even, Odd)
#include <iostream>
using namespace std;
int main() {
int num;
cout << "Enter a number: ";
cin >> num;
if (num > 0) {
if (num % 2 == 0) {
cout << "The number is positive and even." << endl;
} else {
cout << "The number is positive and odd." << endl;
}
} else if (num < 0) {
if (num % 2 == 0) {
cout << "The number is negative and even." << endl;
} else {
cout << "The number is negative and odd." << endl;
}
} else {
cout << "The number is zero." << endl;
}
return 0;
}
Output (if input is -7):
The number is negative and odd.
4️⃣ Example: Checking Admission Eligibility (Marks + Age Criteria)
#include <iostream>
using namespace std;
int main() {
int marks, age;
cout << "Enter your marks: ";
cin >> marks;
cout << "Enter your age: ";
cin >> age;
if (marks >= 75) {
if (age >= 18) {
cout << "You are eligible for admission." << endl;
} else {
cout << "You need to be at least 18 years old." << endl;
}
} else {
cout << "You need at least 75 marks for admission." << endl;
}
return 0;
}
Output 1 (if marks = 80, age = 19):
You are eligible for admission.
Output 2 (if marks = 80, age = 16):
You need to be at least 18 years old.
Output 3 (if marks = 70, age = 20):
You need at least 75 marks for admission.
5️⃣ Example: Checking Employee Salary Based on Department
#include <iostream>
using namespace std;
int main() {
string department;
int experience;
cout << "Enter department (IT/HR): ";
cin >> department;
cout << "Enter years of experience: ";
cin >> experience;
if (department == "IT") {
if (experience >= 5) {
cout << "Salary: $80,000" << endl;
} else {
cout << "Salary: $50,000" << endl;
}
} else if (department == "HR") {
if (experience >= 5) {
cout << "Salary: $60,000" << endl;
} else {
cout << "Salary: $40,000" << endl;
}
} else {
cout << "Invalid department entered." << endl;
}
return 0;
}
Output (if department = "IT", experience = 6):
Salary: $80,000
Output (if department = "HR", experience = 3):
Salary: $40,000
6️⃣ Nested if with Logical Operators
We can combine conditions using logical operators (&&, ||) inside if statements.
#include <iostream>
using namespace std;
int main() {
int age, salary;
cout << "Enter your age: ";
cin >> age;
cout << "Enter your salary: ";
cin >> salary;
if (age >= 18) {
if (salary >= 50000 && salary <= 100000) {
cout << "You are eligible for a bank loan." << endl;
} else {
cout << "Your salary is not within the required range." << endl;
}
} else {
cout << "You must be at least 18 years old to apply." << endl;
}
return 0;
}
Output 1 (if age = 25, salary = 60000):
You are eligible for a bank loan.
Output 2 (if age = 25, salary = 40000):
Your salary is not within the required range.
Output 3 (if age = 16, salary = 70000):
You must be at least 18 years old to apply.
7️⃣ Key Points About Nested if
✅ Inner if runs only if outer if is true.
✅ Can be used for multi-level decision making.
✅ Avoid too many nested if statements to keep code readable.
✅ Use logical operators (&&, ||) to simplify conditions.
Would you like an example with user input validation (e.g., preventing non-numeric input)? 🚀
0 Comments