משפט Switch
חלק מהיחידה יסודות במסלול ה-C++ של Coddy. שיעור 29 מתוך 74.
הוראת switch דומה להוראת if מרובת אפשרויות. במקום להעריך תנאי יחיד, היא בודקת את הערך של משתנה מול כמה מקרים ומבצעת את הקוד המשויך למקרה המתאים.
הנה המבנה הבסיסי של משפט switch:
switch (variable) {
case value1:
// קוד להרצה אם variable שווה ל־value1
break;
case value2:
// קוד להרצה אם variable שווה ל־value2
break;
// ... מקרים נוספים
default:
// קוד להרצה אם אף מקרה אינו מתאים
}- אחרי מילת המפתח
switchמופיע המשתנה שרוצים לבדוק, בתוך סוגריים. - כל
caseמייצג ערך אפשרי של המשתנה. - הקוד שבתוך כל
caseמופעל אם המשתנה תואם לערך של אותו מקרה.
- הפקודה
breakחיונית; היא יוצאת מה־switchלאחר ביצוע מקרה. בלעדיה, הביצוע היה ממשיך למקרה הבא. - המקרה
defaultהוא אופציונלי, והוא מתבצע אם אף מקרה אחר לא מתאים.
הנה דוגמה:
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";
}אתגר
מתחיליםצרו תוכנית שמקבלת מספר של חודש (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;
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוהגדלה/הקטנההגדלה/הקטנה לאחר הפעולהקיצורים אריתמטייםאופרטורי השוואההשוואת מחרוזותתרגלו בעצמכם: קומפיילר C++ אונליין