Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

สลับคำสั่ง C++

วิธีใช้คำสั่งสวิตช์ใน C++

คำสั่งแบบมีเงื่อนไขเป็นคุณลักษณะทั่วไปของภาษาโปรแกรมทั้งหมด คำสั่งเหล่านี้ใช้เพื่อควบคุมการไหลของโปรแกรมและระบุว่าเมื่อใดควรรันบล็อกโค้ดเฉพาะ

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

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

คำสั่งเงื่อนไข C++

คำสั่งแบบมีเงื่อนไข เช่น if และ if … else ใช้ในการตัดสินใจในโปรแกรม ตัวอย่างเช่น if คำสั่งสามารถสั่งให้โปรแกรมรันบล็อกของรหัสได้หากผู้ใช้อายุเกิน 16 ปี หรือเป็นวันพุธ

if และ if … else คำสั่งคือรูปแบบทั่วไปของคำสั่งแบบมีเงื่อนไข if และ if … else คำสั่งเรียกใช้บล็อกของรหัสหากเงื่อนไขเป็นจริง มิฉะนั้น พวกเขาไม่ทำอะไรเลย นี่คือตัวอย่างของ C++ if คำสั่ง:

int age = 15;

if (age > 16) {
	cout<<"This user is over the age of 16."
}

ในตัวอย่างนี้ โค้ดของเราจะประเมินว่าอายุของตัวแปรมากกว่า 16 หรือไม่ หากใช่ ประโยค This user is over the age of 16 . ถูกพิมพ์ไปที่คอนโซล มิฉะนั้นจะไม่มีอะไรเกิดขึ้น ในกรณีนี้ ผู้ใช้ของเรามีอายุ 15 ปี ดังนั้น age > 16 ประเมินเป็นเท็จ ดังนั้น โปรแกรมจะไม่รันโค้ดที่เกี่ยวข้องกับ if . ของเรา คำสั่ง

แต่ถ้าคุณต้องการประเมินกับหลายเงื่อนไขล่ะ

นั่นคือที่มาของคำสั่ง switch ในขณะที่คุณสามารถใช้ if … else คำสั่งเพื่อประเมินหลายเงื่อนไขใน if คำสั่งวิธีนี้อาจไม่ได้ผลและทำให้โค้ดของคุณอ่านยากขึ้น ดังนั้น นักพัฒนาจึงมักใช้คำสั่ง switch เพื่อประเมินคำสั่งเทียบกับกรณีที่เป็นไปได้หลายกรณี

81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้

ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก

คำสั่งสวิตช์ C++

คำสั่ง switch หรือที่เรียกว่า switch … case คำสั่ง ช่วยให้คุณตรวจสอบว่านิพจน์มีค่าเท่ากับกรณีใดกรณีหนึ่งจากหลายกรณี หากนิพจน์ที่ระบุตรงกัน (หรืออีกนัยหนึ่ง เท่ากับ) กรณีใดกรณีหนึ่งในกลุ่มสวิตช์ โค้ดเฉพาะที่เกี่ยวข้องกับเคสนั้นจะถูกดำเนินการ

คำสั่ง switch ประกอบด้วยคำสั่ง case อย่างน้อยหนึ่งรายการ โปรแกรมใช้คำสั่ง case เพื่อประกาศเงื่อนไขที่นิพจน์เป้าหมายของคุณควรได้รับการประเมิน

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

นี่คือไวยากรณ์สำหรับคำสั่งสวิตช์ C++:

switch (expression) {
	case firstCase:
		// Code to be executed if expression matches firstCase
		break;
	case secondCase:
		// Code to be executed if expression matches secondCase
		break;
	default:
		// Code to be executed if no expressions are met
	}
}

นี่คือตรรกะสำหรับคำสั่งสวิตช์ด้านบนใน C++:

  1. โปรแกรมประเมินนิพจน์
  2. นิพจน์ถูกเปรียบเทียบกับ firstCase หากตรงกัน โปรแกรมจะดำเนินการโค้ดในบล็อก firstCase จากนั้น คีย์เวิร์ดตัวแบ่งจะทำงาน ซึ่งจะยุติบล็อกสวิตช์

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

  1. หากนิพจน์ไม่ตรงกับ firstCase นิพจน์จะถูกเปรียบเทียบกับ secondCase
  2. หากนิพจน์ตรงกับ secondCase โปรแกรมจะดำเนินการโค้ดภายในบล็อก secondCase และคำสั่ง break จะยุติบล็อกสวิตช์
  3. หากนิพจน์ไม่ตรงกับกรณีใดๆ ในบล็อกสวิตช์ โปรแกรมจะดำเนินการเนื้อหาของคำสั่งกรณีเริ่มต้น

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

ในคำสั่ง switch โปรแกรมจะประเมินกรณีแรกก่อน หากไม่ประเมินว่าเป็นจริง โปรแกรมจะประเมินกรณีต่างๆ ที่ตามมาจนกว่าจะตรงตามเงื่อนไขหรือจนกว่าจะมีการประเมินเงื่อนไขทั้งหมด

ตัวอย่างสวิตช์ C++

มาดูตัวอย่างทีละขั้นตอนเพื่อสำรวจว่าคำสั่ง switch ทำงานอย่างไรใน C++

สมมติว่าเรากำลังเขียนโปรแกรมที่บอกเราว่าเหลืออีกกี่วันจนถึงวันหยุดสุดสัปดาห์ ในโปรแกรมนี้ แต่ละวันในสัปดาห์จะแสดงด้วยจำนวนเต็ม ตัวอย่างเช่น วันจันทร์จะเป็น 1 วันอังคารจะเป็น 2 วันพุธจะเป็น 3 เป็นต้น

โปรแกรมนี้จะใช้วันปัจจุบันของสัปดาห์ (แสดงเป็นจำนวนเต็ม) และเปรียบเทียบกับชุดของกรณีและปัญหา แต่ละกรณีจะสั่งให้โปรแกรมพิมพ์ประโยคที่ระบุจำนวนวันที่เหลือจนถึงวันหยุดสุดสัปดาห์ตามวันทำงานปัจจุบัน

นี่คือรหัสที่เราสามารถใช้ทำงานนี้ให้สำเร็จ:

#include <iostream>

include namespace std;

int main() {
	int dayOfWeek = 3;

	switch (dayOfWeek) {
		case 1:
			cout<<"There are 5 days until the weekend!";
			break;
		case 2:
			cout<<"There are 4 days until the weekend!";
			break;
		case 3:
			cout<<"There are 3 days until the weekend!";
			break;
		case 4:
			cout<<"There are 2 days until the weekend!";
			break;
		case 5:
			cout<<"There is 1 day until the weekend!";
			break;
	}
}

รหัสของเราส่งคืน:

There are 3 days until the weekend.

มาทำลายรหัสของเรากัน ขั้นแรก เราประกาศตัวแปรที่เรียกว่า dayOfWeek ซึ่งเก็บวันปัจจุบันของสัปดาห์เป็นจำนวนเต็ม จากนั้นเราจะใช้คำสั่ง switch ที่ระบุ 5 กรณี

ขั้นแรก โปรแกรมของเราจะตรวจสอบเพื่อดูว่า dayOfWeek เท่ากับ 1 หรือไม่ หากใช่ โปรแกรมของเราจะพิมพ์ There are 5 days until the weekend! ไปที่คอนโซล หลังจากนั้นจะแยกคำสั่ง switch

หาก dayOfWeek ไม่เท่ากับ 1 โปรแกรมจะประเมินกรณีถัดไป สิ่งนี้จะดำเนินต่อไปจนกว่าโปรแกรมจะประเมินทุกกรณีในคำสั่ง switch ของเรา เว้นแต่กรณีใดกรณีหนึ่งประเมินว่าเป็นจริง เมื่อถึงจุดนั้นคำสั่ง break จะทำงานและคำสั่ง loop switch ของเราจะยุติลง

ในตัวอย่างของเรา เราระบุว่าวันในสัปดาห์คือ 3 ซึ่งหมายความว่าเป็นวันพุธ เป็นผลให้โปรแกรมของเราพิมพ์ There are 3 days until the weekend! ไปที่คอนโซล จากนั้นโปรแกรมของเราจะยุติบล็อกสวิตช์ของโค้ดและเรียกใช้โปรแกรมหลักต่อไป

ตัวแบ่ง C++

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

คำสั่ง break มักใช้กับคำสั่ง switch เนื่องจากจะหยุดโปรแกรมไม่ให้ประเมินกรณีที่เหลือในคำสั่ง switch

นี่คือตัวอย่างของคีย์เวิร์ดตัวแบ่งในคำสั่ง switch ที่นำมาจากตัวอย่างที่ขยายออกไปด้านบน:

…
		case 3:
			cout<<"There are 3 days until the weekend!";
			break;
…

ในตัวอย่างข้างต้น หาก dayOfWeek เท่ากับ 3 โปรแกรมของเราจะรันคำสั่ง break เพื่อไม่ให้มีการประเมินกรณีอื่นๆ อีก สิ่งนี้สมเหตุสมผลเพราะหาก dayOfWeek เท่ากับ 3 จะไม่สามารถเท่ากับ 4 หรือ 5 ได้ ซึ่งเป็นกรณีต่อไปในคำสั่ง switch ของเรา

หาก dayOfWeek เท่ากับ 3 ข้อความ There are 3 days until the weekend! ถูกพิมพ์ไปที่คอนโซล จากนั้นคำสั่ง switch จะหยุดทำงานเนื่องจากคำสั่ง break สั่งให้โปรแกรมข้ามผ่านบล็อกสวิตช์

ค่าเริ่มต้น C++

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

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

สมมติว่าเราต้องการพิมพ์ข้อความ It’s the weekend! ไปที่คอนโซลถ้าเป็นวันเสาร์หรือวันอาทิตย์ เราสามารถใช้ตัวอย่างคำสั่ง switch จากด้านบนและโค้ดต่อไปนี้เพื่อทำงานนี้ให้สำเร็จ:

…
		case 5:
			cout<<"There is 1 day until the weekend!";
			break;
		default:
			cout<<"It's the weekend!";
			break;
…

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

It's the weekend!

บทสรุป

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

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