Menu
Coddy logo textTech

משפט Switch

חלק מהיחידה יסודות במסלול ה-C++ של Coddy. שיעור 29 מתוך 74.

ההצהרה switch דומה להצהרת if מרובת אפשרויות. במקום לבדוק תנאי יחיד, היא בודקת את הערך של משתנה מול כמה מקרים ומבצעת את הקוד המשויך למקרה המתאים.

הנה המבנה הבסיסי של משפט switch:

switch (variable) {
    case value1:
        // קוד להרצה אם variable שווה ל־value1
        break;
    case value2:
        // קוד להרצה אם variable שווה ל־value2
        break;
    // ... מקרים נוספים
    default:
        // קוד להרצה אם אף case אינו תואם
}
  • אחרי מילת המפתח switch מציינים בסוגריים את המשתנה שרוצים לבדוק.
  • כל case מייצג ערך אפשרי של המשתנה.
  • הקוד שבתוך כל case מתבצע אם המשתנה תואם לערך של אותו מקרה.
  • ההוראה break חיונית; היא יוצאת מה-switch לאחר ביצוע של case. בלעדיה, הביצוע היה ״נופל״ אל ה-case הבא.
  • ה-case default הוא אופציונלי ומתבצע אם אף case אחר אינו תואם.

הנה דוגמה:

int day = 3;
std::string dayName;

switch (day) {
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    // ... מקרים עבור ימים אחרים
    default:
        dayName = "Invalid day";
}

אפשר גם לשלב כמה מקרים לאחד:

int day = 3;
std::string dayName;

switch (day) {
    case 1:
    case 2:
    case 3:
        dayName = "Start of week";
        break;
    // ... מקרים לימים אחרים
    default:
        dayName = "Invalid day";
}
challenge icon

אתגר

מתחילים

צרו תוכנית שמקבלת מספר של חודש (1 עבור ינואר, 2 עבור פברואר וכן הלאה) ומדפיסה את העונה שאליה הוא שייך. השתמשו במשפט switch עבור הלוגיקה.

העונות והחודשים המתאימים להן הם:

  • Winter: דצמבר (12), ינואר (1), פברואר (2)
  • Spring: מרץ (3), אפריל (4), מאי (5)
  • Summer: יוני (6), יולי (7), אוגוסט (8)
  • Autumn: ספטמבר (9), אוקטובר (10), נובמבר (11)
  • Invalid month: עבור אפשרויות אחרות

נסו בעצמכם

#include <iostream>

int main() {
    int month;
    std::cin >> month;
    std::string season = "";
    
    // כתבו את הקוד שלכם למטה
    
    
    std::cout << season << std::endl;
    return 0;
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר C++ אונליין