🎛️
Basics

switch & Loop Control

break, continue
💡 switch ek vending machine jaisa hai — number dabao, sahi slot khulta hai. break/continue loops ke andar traffic signals jaise hain — break ruk jao, continue agla round shuru karo.

switch, break, continue sab C jaise hi hain C++ mein. C++17 mein switch bhi "if with initializer" jaisa feature support karta hai. Modern C++ (C++17+) mein [[fallthrough]] attribute use kiya jaata hai jab intentionally ek case se doosre case mein "fall through" karna ho (compiler warning avoid karne ke liye).

int day = 3;

switch (day) {
  case 1:
    cout << "Monday" << endl;
    break;
  case 2:
  case 3:
    cout << "Tuesday ya Wednesday" << endl;  // ye chalega
    break;
  default:
    cout << "Kuch aur din" << endl;
}

for (int i = 0; i < 5; i++) {
  if (i == 2) continue;  // 2 skip karo
  if (i == 4) break;      // 4 par ruk jao
  cout << i << " ";        // 0 1 3
}
🎛️
switch ek vending machine jaisa hai — number dabao, sahi slot khulta hai. break/continue loops ke andar traffic signals jaise hain — break ruk jao, continue agla round shuru karo.
1 / 2
⚡ Quick Recap
  • switch/break/continue C jaise hi hain
  • Multiple cases ek saath handle kar sakte ho (fallthrough)
  • C++17: [[fallthrough]] attribute intentional fallthrough ke liye
On this page (1 subtopics)

switch tab better hai jab ek hi variable ko multiple discrete values se compare karna ho (fast jump table ban sakta hai compiler ke through). if-else chain tab zaroori hai jab conditions complex hon (ranges, multiple variables, logical combinations).

// switch — ek variable, discrete values:
switch (grade) {
  case 'A': cout << "Excellent"; break;
  case 'B': cout << "Good"; break;
}

// if-else — ranges/complex conditions:
if (marks >= 90) cout << "A";
else if (marks >= 75) cout << "B";
💡Tip: switch sirf integer-like types (int, char, enum) ke saath kaam karta hai — strings ya floats ke saath switch use nahi kar sakte, wahan if-else chain zaroori hai.