c programming tutorial - בקלות C++
מדריכי תכנות

שיעור 5: switch case

פקודות switch case הן תחליף לפקודות if ארוכות יותר. המבנה הבסיסי לשימוש ב switch case מתואר להלן בקווים כלליים:

Switch (expression or variable)		
{		 
 case variable equals this: 		
  do this;		
  break;	
  case variable equals this: 		
  do this;		
  break;		
  case variable equals this:		
  do this;		
  break;	
  ...		
  default:		
  do this	

}

לביטוי או למשתנה יש ערך. ה case אומר שאם יש לו את הערך של מה שאחריו אז עשה את מה שאחרי הנקודתיים. ה break משמש לצאת מפקודות ה break. case היא מילת מפתח שיוצאת מגוש הקוד, שבדרך כלל מוקף בסוגריים מסולסלות, שבתוכו היא נמצאת. במקרה זה, break מונעת מהתוכנית מלבדוק את פקודת ה case הבאה גם כן.

Switch case משמש פשוט כאמצעי לכתוב פקודות if ארוכות. לעיתים קרובות ניתן להשתמש בו לעיבוד קלט ממשתמש.

להלן תוכנית דוגמא, שבה לא כל הפונקציות המתאימות מוגדרות, אבל שמראה איך משתמשים ב switch case בתוכנית.

#include <iostream.h>	
#include <conio.h>	

int main()
{  	 
  char input;	  
  cout<<"1. Play game";	
  cout<<"2. Load game";	
  cout<<"3. Play multiplayer";	
  cout<<"4. Exit";	
  cin>>input;	 
  switch (input)	
  {	   
   case 1: playgame();
	   break;	 
   case 2:
	  loadgame();	 
        break;	
   case 3:	      //Note use of : not ;	 
        playmultiplayer();
	  break;	
   case 4:
        return 0;   
  default: 	  
        cout<<"Error, bad input, quitting";	
  }

  return 0;

}

תוכנית זו לא תעבור הידור עדיין, אבל היא משמשת כמודל (אף על פי שהוא פשוט) לעיבוד קלט.

אם אתה לא מבין זאת נסה מבחינה מנטלית לשים פקודות if במקום ה case. שים לב ששימוש ב return באמצע main יסיים אוטומטית את התוכנית. ברירת המחדל פשוט מסתלקת ממבנה ה switch case ומאפשרת לתוכנית להסתיים בצורה טבעית. אם אתה לא אוהב את זה, אתה יכול לעשות לולאה סביב הכל כדי לחכות לקלט תקף. אני יודע שלחלק מהפונקציות לא היה אב טיפוס. אתה יכול בקלות ליצור מספר פונקציות קטנות אם אתה רוצה לבדוק את הקוד.




לדף הראשון

<< לדף הקודם

לדף הבא >>