สอนเขียน C++ : สอนการใช้ประโยคคำสั่ง switch - #143

หน้าหลัก » บทเรียน » สอนเขียน C++ : สอนการใช้ประโยคคำสั่ง switch
เขียนโดย : ' จารย์ ด๋อย [ มหาเมพ ] มีผู้อ่าน 8780 คน

มีผู้อ่าน 5,000 คน มี ผู้เห็นด้วย 100 คน และ ผู้ไม่เห็นด้วย 0 คน
แก้ไขล่าสุดเมื่อ 31/01/2013 เวลา 15:00:25 น. (15 นาทีที่แล้ว)

สวัสดีครับ พบกันในบทความ สอนเขียน C++ กันอีกครั้งในหัวเรื่อง สอนการใช้ประโยคคำสั่ง switch คำสั่งนี้เป็นคำสั่งที่มีโครงสร้างเป็นแบบเลือกทำ (Selection) ซึ่งคำสั่ง switch ใช้กับกรณีมีการเลือกการทำงานหลายเส้นทาง (Multi-Way Selection) โดยมักจะนำมาใช้แทนคำสั่ง if ที่ซ้อนกันมากๆ ดังตัวอย่างครับ

 

int x = 0;

if (x == 0)

{

         cout << "X Case 0";

}

else

{

     if (x == 1)

     {

         cout << "X Case 1";

     }

     else

     {

          if (x == 2)

          {

              cout << "X Case 2";

          }

          else

          {

              cout << "X Case Not 0,1,2";

          }

     }

}

 

จะเห็นได้ว่ากรณีนี้การใช้คำสั่ง if การเขียน Code ก็จะยาวมากครับ ทั้ง เครื่องหมายปีกกา { } และ Code ทำให้ดูเยอะเกินไปครับนั่นเพราะว่า if นั้นรองรับกรณีได้เพียง 2 กรณี คือ จริงหรือเท็จเท่านั้น ดังนั้นถ้ากรณีที่เราต้องการตรวจสอบ (ตัวอย่างคือตรวจสอบว่า x เท่ากับ 0,1,2 หรือไม่) เราก็ต้องมี if ซ้อนๆ กันไปเรื่อยๆ จนครบทุกกรณี แต่ถ้าเราใช้ switch ก็จะลด การเขียน Code ลงได้ส่วนหนึ่งครับ

 

รูปแบบโครงสร้างคำสั่ง switch

 

switch ( นิพจน์ที่ใช้ทดสอบ )

{

        case ค่าคงที่ 1  : คำสั่ง 1;

                                 break; 

        case ค่าคงที่ 2  : คำสั่ง 2;

                                 break; 

        . . .

        case ค่าคงที่ N  : คำสั่ง N;

                                 break; 

        default           :  คำสั่ง;

}

 

คำอธิบายรูปแบบโครงสร้างคำสั่ง switch

 

นิพจน์ที่ใช้ทดสอบ คือ นิพจน์ (Expression) ที่จะใช้ในการตรวจสอบว่าค่านั้นตรงกับ ค่าคงที่ ไหน โดยนิพจน์นั้นเป็นได้ทั้ง ตัวแปร หรือ Function และต้องมีค่าเป็นตัวเลขจำนวนเต็มและตัวอักษรเท่านั้น เช่น int x , x จะนำไปใช้เป็น นิพจน์ที่ใช้ทดสอบ ได้เพราะเป็นตัวแปรตัวเลขจำนวนเต็ม เป็นต้น

 

ค่าคงที่ คือ ค่าที่จะถูกนำมาเทียบกับ นิพจน์ที่ใช้ทดสอบ โดยถ้าตรวจสอบแล้วตรงกัน ก็จะไปทำคำสั่งที่อยู่หลัง : และถ้าตรวจสอบทุกๆ ค่าคงที่ แล้วไม่มี case ไหนตรงเลยก็จะเข้าไปยัง default และทำ คำสั่ง หลัง : ของ default

 

คำสั่ง 1; คือ คำสั่งที่จะถูกทำเมื่อ นิพจน์ที่ใช้ทดสอบ เทียบกับ ค่าคงที่ แล้วตรงกันซึ่งคำสั่งนั้นมีคำสั่งเดียวหรือหลายๆ คำสั่งก็ได้ และเมื่อจบทุกคำสั่งแล้วจะต้องเขียน break; เพื่อเป็นตัวบอกว่าหมด case นี้แล้ว

 

และจากรูปแบบโครงสร้างคำสั่ง switch เราจะทำ if จากตัวอย่างมาเขียนได้ดังนี้ครับ

 

int x = 0;

switch (x)

{

   case 0 : cout << "X Case 0";

              break;

   case 1 : cout << "X Case 1";

              break;

   case 2 : cout << "X Case 2";

              break;

   default : cout << "X Case Not 0,1,2";

}

 

 

จากตัวอย่าง Souce Code สร้างตัวแปรชื่อ x เก็บข้อมูลประเภทจำนวนเต็ม (int) และตั้งค่าเริ่มต้นเป็น 0 จากนั้น ใช้ค่าในตัวแปร x เป็น นิพจน์ที่ใช้ทดสอบ ค่าในตัวแปร x ตอนนี้มีค่าเท่ากับ 0 ดังนั้น จึงเข้าที่ case 0 และทำคำสั่ง cout << "X Case 0"; และเจอ break; ก็จะจบการทำงานใน switch ครับลองไล่การทำงานจาก Flowchart ครับ

 

สอนเขียน C++ : สอนการใช้ประโยคคำสั่ง switch

 

หากต้องการความช่วยเหลือหรือปรึกษาเรื่องการเขียนโปรแกรมด้วยภาษา C++ ก็สามารถเข้าร่วม กลุ่มเรียน : มือใหม่หัดเขียน C++ ใน Facebook ได้นะครับ


หน้าหลัก » บทเรียน » สอนเขียน C++ : สอนการใช้ประโยคคำสั่ง switch

คำถามเกี่ยวกับบทความ
เมื่อคุณอ่านบทความนี้แล้ว หากคุณมีข้อสงสัยในบทความคุณสามารถเขียน " คำถาม " ที่คุณอยากรู้ เพื่อให้ผู้เขียนหรือบุคคลอื่นมาตอบข้อสงสัยของคุณได้

SOCIAL SHARE


คลิกที่นี่ เพื่อดูความเห็นเพิ่มเติม...
บทความที่เกี่ยวข้อง
"ตัวอย่างโจทย์การเขียนผังงาน (Flowchart) สำหรั... " อ่าน : 5142
   โดย : ' จารย์ ด๋อย แก้ไขเมื่อ : 03/07/2013 11:54:46
"บทเรียนออนไลน์ ภาษา C เรื่องเรียนรู้ Flowchar... " อ่าน : 691
   โดย : ' จารย์ ด๋อย แก้ไขเมื่อ : 19/09/2013 10:27:12
"PHP date() Function สำหรับการดึงวันที่และเวลา... " อ่าน : 9301
   โดย : ' จารย์ ด๋อย แก้ไขเมื่อ : 08/04/2013 12:20:48
"โจทย์แบบฝึกหัด ภาษา C รับค่าจากผู้ใช้แล้วนำมา... " อ่าน : 767
   โดย : ' จารย์ ด๋อย แก้ไขเมื่อ : 27/09/2013 20:00:29
"วิธีแก้ปัญหา การใช้ฟังก์ชัน scanf() รับข้อมูล... " อ่าน : 3602
   โดย : ' จารย์ ด๋อย แก้ไขเมื่อ : 12/06/2013 17:37:48
"VB.NET Source Code Random Number (การเขียนสุ่... " อ่าน : 2003
   โดย : ' จารย์ ด๋อย แก้ไขเมื่อ : 22/12/2012 14:25:23
"แบบฝึกหัด C++ สำหรับผู้เริ่มต้น ข้อที่ 9 โปรแ... " อ่าน : 1940
   โดย : ' จารย์ ด๋อย แก้ไขเมื่อ : 19/04/2013 14:05:17
"บทเรียนสอนเขียน PHP แนะนำให้รู้จักและหัดทำการ... " อ่าน : 21759
   โดย : ' จารย์ ด๋อย แก้ไขเมื่อ : 21/05/2013 10:59:47
"แบบฝึกหัด HTML สำหรับผู้เริ่มต้นเขียนเว็บไซต์... " อ่าน : 1015
   โดย : ' จารย์ ด๋อย แก้ไขเมื่อ : 21/05/2013 17:27:01
"มารู้จักกับโครงสร้างควบคุมพื้นฐานทั้ง 3 แบบขอ... " อ่าน : 33051
   โดย : ' จารย์ ด๋อย แก้ไขเมื่อ : 26/12/2012 11:24:47
ค้นหาบทความ