C++/תנאים: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
Ybungalobill (שיחה | תרומות)
Ybungalobill (שיחה | תרומות)
שורה 104:
 
== משפט switch ==
 
נתבונן בדוגמה הבאה:
<source lang="cpp">
cout << "Do you like apples (Y or N)?\n"
 
char answer;
cin >> answer;
 
if(answer == 'Y')
cout << "Take an Apple!\n";
else if(answer == 'N')
cout << "It's your problem...\n";
else
cout << "I can't understand you...\n";
</source>
 
קוד מהסוג הזה לא נוח לכתיבה, בעיקר כשמספר האפשרויות גדול מדי. כאשר אנו משווים את אותו הביטוי לערכים רבים ובהתאם לכך מבצעים פעולות כלשהן, ניתן לרשום את הבדיקה באמצעות משפט switch:
<source lang="cpp">
switch(answer)
{
case 'Y':
cout << "Take an Apple!\n";
break;
 
case 'N':
cout << "It's your problem...\n";
break;
 
default:
cout << "I can't understand you...\n";
}
</source>
 
בדוגמה הפשוטה הזאת לא נראה יתרון רב, היא אף תופסת יותר מקום. אומנם כתיב כזה לא רק ברור יותר אלא גם במקרים רבים דווקא מקצר את התוכנית.
 
{{בעבודה}}
 
== אופרטור ההתניה ==