C++ Switch Case Statement พร้อมตัวอย่างโปรแกรม

สวิตช์คืออะไร?

คำสั่ง switch ช่วยในการทดสอบความเท่าเทียมกันของตัวแปรกับชุดของค่า แต่ละค่าที่เปรียบเทียบเรียกว่ากรณี

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

ควรใช้สวิตช์เมื่อใด?

สวิตช์จะคล้ายกับบันได if…else…if อย่างไรก็ตาม มันสร้างโค้ดที่สะอาดตาและเข้าใจง่าย สวิตช์ยังเร็วกว่าเมื่อเทียบกับบันได if…else…if ใช้คำสั่ง switch เมื่อคุณต้องการเปรียบเทียบค่าของตัวแปรกับชุดของค่าอื่นๆ

คำหลักแบ่ง

คีย์เวิร์ดแบ่งถูกใช้ภายในคำสั่ง switch ป้องกันไม่ให้โค้ดทำงานในกรณีถัดไป มันยุติลำดับคำสั่ง

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

วากยสัมพันธ์

นี่คือไวยากรณ์สำหรับคำสั่ง switch:

switch (variable)
{
    case 1: 
        break;
    case 2: 
        break;
    default: 
}	

พารามิเตอร์ข้างต้นอธิบายไว้ด้านล่าง:

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

ตัวอย่างโปรแกรม Switch Case 1

#include<iostream> 
using namespace std;
int main()
{
	int x = 20;
	switch (x)
	{
	case 10: 
		cout<<"X is 10"; break;

	case 20: 
		cout << "X is 20"; break;

	case 30: 
		cout << "X is 30"; break;

	default: 
		cout<<"X is not 10, 20 or 30"; break;

	}
	return 0;
}

Output:

โปรแกรมสวิตช์เคส

นี่คือภาพหน้าจอของรหัส:

โปรแกรมสวิตช์เคส

คำอธิบายรหัส:

  1. รวมไฟล์ส่วนหัว iostream ไว้ในโค้ดของเรา มันจะช่วยให้เราอ่านและเขียนไปยังคอนโซลได้
  2. รวมเนมสเปซมาตรฐานเพื่อใช้คลาสและ ฟังก์ชั่น โดยไม่ต้องเรียกมัน
  3. การเรียกใช้ฟังก์ชัน main() ภายในที่ควรเพิ่มตรรกะของโปรแกรม
  4. { เป็นเครื่องหมายเริ่มต้นของเนื้อหาของฟังก์ชัน main()
  5. ประกาศตัวแปร x และกำหนดค่าเริ่มต้นเป็น 20
  6. การใช้คำสั่ง switch และส่งผ่านอาร์กิวเมนต์ x ไปให้ หมายความว่าเราต้องเปรียบเทียบค่าของตัวแปร x กับชุดของค่าอื่นๆ
  7. { ทำเครื่องหมายจุดเริ่มต้นของตัวสวิตช์
  8. การเปรียบเทียบค่าของตัวแปร x กับค่า 10
  9. คำสั่งที่จะดำเนินการหากกรณีข้างต้นเป็นจริง นั่นคือ ถ้า x เป็น 10 การหยุดจะป้องกันไม่ให้ดำเนินการต่อไปในกรณีถัดไป
  10. การเปรียบเทียบค่าของตัวแปร x กับค่า 20
  11. คำสั่งที่จะดำเนินการหากกรณีข้างต้นเป็นจริง นั่นคือ ถ้า x เป็น 20 การหยุดจะป้องกันไม่ให้ดำเนินการต่อไปในกรณีถัดไป
  12. การเปรียบเทียบค่าของตัวแปร x กับค่า 30
  13. คำสั่งที่จะดำเนินการหากกรณีข้างต้นเป็นจริง นั่นคือ ถ้า x เป็น 30 การหยุดจะป้องกันไม่ให้ดำเนินการต่อไปในกรณีถัดไป
  14. ค่าดีฟอลต์ช่วยให้เราระบุได้ว่าต้องทำอะไรหากค่าของตัวแปร x ไม่ใช่ 10, 20 หรือ 30
  15. คำสั่งที่จะดำเนินการหากกรณีข้างต้นไม่เป็นความจริง นั่นคือ ถ้า x ไม่ใช่ 10, 20 หรือ 30
  16. ส่วนท้ายของคำสั่ง switch
  17. ฟังก์ชัน main() ควรคืนค่าหากโปรแกรมทำงานได้ดี
  18. ส่วนท้ายของฟังก์ชัน main()

ตรวจสอบบทความของเราเกี่ยวกับความแตกต่างระหว่าง C และ C++:- คลิกที่นี่

ตัวอย่างโปรแกรม Switch Case 2

#include <iostream>  
using namespace std;
int main() {
	int choice;
	cout << "Enter 1, 2 or 3: ";
	cin >> choice;
	switch (choice)
	{
	case 1: 
		cout << "Choice 1"; break;
	case 2: 
		cout << "Choice 2"; break;
	case 3: 
		cout << "Choice 3"; break;
	default: 
		cout << "Not 1, 2 or 3"; break;
	}
}

Output:

โปรแกรมสวิตช์เคส

นี่คือภาพหน้าจอของรหัส:

โปรแกรมสวิตช์เคส

คำอธิบายรหัส:

  1. รวมไฟล์ส่วนหัว iostream ไว้ในโค้ดของเรา มันจะช่วยให้เราอ่านและเขียนไปยังคอนโซลได้
  2. รวมเนมสเปซมาตรฐานเพื่อใช้คลาสและฟังก์ชันโดยไม่ต้องเรียกมัน
  3. การเรียกใช้ฟังก์ชัน main() ภายในที่ควรเพิ่มตรรกะของโปรแกรม { เป็นเครื่องหมายเริ่มต้นของเนื้อหาของฟังก์ชัน main()
  4. การประกาศตัวแปรจำนวนเต็มชื่อตัวเลือก
  5. พิมพ์ข้อความบางส่วนบนคอนโซล
  6. แจ้งให้ผู้ใช้ป้อนค่าที่ต้องการ
  7. การใช้คำสั่ง switch และส่งตัวเลือกอาร์กิวเมนต์ไปให้ หมายความว่าเราจำเป็นต้องเปรียบเทียบค่าของตัวเลือกตัวแปรกับชุดของค่าอื่นๆ
  8. { ทำเครื่องหมายจุดเริ่มต้นของตัวสวิตช์
  9. การเปรียบเทียบค่าตัวเลือกตัวแปรกับค่า 1
  10. คำสั่งที่จะดำเนินการหากกรณีข้างต้นเป็นจริง นั่นคือ หากตัวเลือกคือ 10 การหยุดจะป้องกันไม่ให้ดำเนินการต่อไปในกรณีถัดไป
  11. การเปรียบเทียบค่าตัวเลือกตัวแปรกับค่า 2
  12. คำสั่งที่จะดำเนินการหากกรณีข้างต้นเป็นจริง นั่นคือ หากตัวเลือกคือ 2 การหยุดจะป้องกันไม่ให้ดำเนินการต่อไปในกรณีถัดไป
  13. การเปรียบเทียบค่าตัวเลือกตัวแปรกับค่า 3
  14. คำสั่งที่จะดำเนินการหากกรณีข้างต้นเป็นจริง นั่นคือ หากตัวเลือกคือ 3 การหยุดจะป้องกันไม่ให้ดำเนินการต่อไปในกรณีถัดไป
  15. ค่าดีฟอลต์ช่วยให้เราระบุได้ว่าต้องทำอะไรหากค่าของตัวเลือกตัวแปรไม่ใช่ 1, 2 หรือ 3
  16. ข้อความที่จะดำเนินการหากกรณีข้างต้นไม่เป็นความจริง นั่นคือ ถ้าตัวเลือกไม่ใช่ 1, 2 หรือ 3
  17. ส่วนท้ายของคำสั่ง switch
  18. ส่วนท้ายของฟังก์ชัน main()

สรุป

  • คำสั่ง switch ช่วยให้เราสร้างบันไดแบบ if…else…if แบบง่ายๆ
  • คำสั่ง switch มีไวยากรณ์ที่ชัดเจนและเรียบง่ายกว่า if…else…if ladder
  • ควรใช้คำสั่ง switch เมื่อคุณต้องการเปรียบเทียบค่าของตัวแปรกับชุดของค่าอื่นๆ
  • ค่าจะถูกเพิ่มเข้าไปในคำสั่ง case
  • คีย์เวิร์ดตัวแบ่งหยุดการดำเนินการไม่ให้ดำเนินการต่อไปยังกรณีถัดไป
  • ส่วนเริ่มต้นที่เป็นทางเลือกจะใช้ในการระบุการดำเนินการที่จะต้องดำเนินการหากไม่มีกรณีและปัญหาที่ตรงกัน