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

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

มีผู้อ่าน 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


คลิกที่นี่ เพื่อดูความเห็นเพิ่มเติม...
บทความที่เกี่ยวข้อง
"วิธีการแก้ปัญหา Error Could not write to ../l... " อ่าน : 1075
   โดย : ' จารย์ ด๋อย แก้ไขเมื่อ : 11/07/2013 12:42:41
"PHP ตัดข้อความหรือเนื้อหาให้สั้นลง ถ้าข้อความ... " อ่าน : 4252
   โดย : ' จารย์ ด๋อย แก้ไขเมื่อ : 26/12/2012 18:48:18
"Entity - Relationship Model " อ่าน : 425
   โดย : อทิตา พวงสุนทร แก้ไขเมื่อ : 13/11/2013 16:25:11
"ตัวอย่างโจทย์ C++ ให้ลองฝึกทำ สำหรับผู้เริ่มเ... " อ่าน : 6826
   โดย : ' จารย์ ด๋อย แก้ไขเมื่อ : 22/01/2013 18:03:49
"แบบฝึกหัด Flowchart สำหรับผู้เริ่มต้นเขียนโปร... " อ่าน : 1507
   โดย : ' จารย์ ด๋อย แก้ไขเมื่อ : 31/05/2013 14:03:47
"ตัวอย่าง การเขียนผังงาน (Flowchart) เพื่อฝึกก... " อ่าน : 7492
   โดย : ' จารย์ ด๋อย แก้ไขเมื่อ : 26/12/2012 11:26:11
"โจทย์แบบฝึกหัดเขียนโปรแกรมสำหรับนักเรียน Ami ... " อ่าน : 841
   โดย : ' จารย์ ด๋อย แก้ไขเมื่อ : 23/09/2013 16:02:23
"ตัวอย่าง Source Code ภาษา C วิธีแก้ปัญหาการล้... " อ่าน : 6203
   โดย : ' จารย์ ด๋อย แก้ไขเมื่อ : 14/06/2013 16:48:42
"Entity - Relationship Mode " อ่าน : 509
   โดย : อทิตา พวงสุนทร แก้ไขเมื่อ : 11/11/2013 11:46:26
"บทเรียนสำหรับนักเรียน Ami Training หลักสูตรเร... " อ่าน : 560
   โดย : ' จารย์ ด๋อย แก้ไขเมื่อ : 17/09/2013 10:18:33
ค้นหาบทความ