If...else เป็นคำสั่งเงื่อนไขใน C++ คำสั่ง if รันบล็อกโค้ดเมื่อเงื่อนไขเป็นจริง คำสั่ง if...else ทำงานคล้ายกัน แต่รันบล็อกที่สองเมื่อเงื่อนไขเป็นเท็จ If และ if...else สามารถซ้อนกันได้ (nested)
คำสั่งเงื่อนไขเป็นส่วนสำคัญของทุกภาษาโปรแกรมมิ่ง ช่วยให้นักพัฒนารันโค้ดตามเงื่อนไขที่กำหนดในโปรแกรม
ใน C++ คำสั่ง if และ if ... else ตรวจสอบว่าข้อความเป็นจริงหรือเท็จ และรันบล็อกโค้ดก็ต่อเมื่อข้อความประเมินเป็นจริง
บทช่วยสอนนี้จะอธิบายพื้นฐานคำสั่งเงื่อนไข C++ และวิธีเขียน if, if ... else, และ else if พร้อมตัวอย่าง จนจบคุณจะเชี่ยวชาญการใช้คำสั่งเหล่านี้ใน C++
คำสั่งเงื่อนไข C++
นักพัฒนาใช้คำสั่งเงื่อนไขกำหนดเงื่อนไขที่จะรันบล็อกโค้ด การรันโค้ดในคำสั่งเงื่อนไขขึ้นอยู่กับว่าเงื่อนไขนั้นเป็นจริงหรือไม่ ตัวอย่างสถานการณ์ที่ใช้คำสั่งเงื่อนไข:
- ถ้าลูกค้ามีเงินในบัญชีพอ จะดำเนินการชำระเงิน; ถ้าเงินไม่พอ จะปฏิเสธการชำระ
- ถ้าลูกค้าอายุเกิน 17 ปี จะเข้าดูหนังได้; ถ้าไม่ถึง จะห้ามเข้า
- ถ้าร้านเบเกอรี่มีแป้งน้อยกว่า 15 ถุง จะสั่งซื้อกล่องใหม่; ถ้าไม่ จะไม่ทำอะไร
ในกรณีเหล่านี้ ต้องดำเนินการเฉพาะเมื่อเงื่อนไขเป็นจริง นั่นคือที่มาของคำสั่ง if และ if ... else
คำสั่ง if ใน C++
คำสั่ง if ประเมินนิพจน์ว่าเป็นจริงหรือเท็จ หากเป็นจริง โปรแกรมจะรันโค้ดในบล็อกเงื่อนไข มิฉะนั้นจะไม่รัน
รูปแบบไวยากรณ์ (syntax) ของคำสั่ง if:
if (expression) { // โค้ดที่นี่ }
ตัวอย่าง: เขียนโปรแกรมตรวจสอบว่าร้านเบเกอรี่ควรสั่งแป้งใหม่หรือไม่ หากแป้งในสต็อกน้อยกว่า 15 ถุง ให้สั่งใหม่
#include <iostream>
using namespace std;
int main() {
int flourBagCount = 12;
if (flourBagCount < 15) {
cout << "There are not enough bags of flour in inventory."
}
}
ผลลัพธ์:
There are not enough bags of flour in inventory.
อธิบาย: ประกาศตัวแปร flourBagCount เก็บจำนวนถุงแป้ง ตรวจสอบด้วย if ว่าต่ำกว่า 15 หรือไม่ หากใช่ พิมพ์ข้อความ; มิฉะนั้นไม่ทำอะไร ในกรณีนี้ค่าเป็น 12 (<15) จึงรันโค้ดในบล็อก if
คำสั่ง if ... else ใน C++
เมื่อใช้ if อาจต้องการให้โปรแกรมทำงานอื่นเมื่อเงื่อนไขเป็นเท็จ คำสั่ง if ... else ตรวจสอบเงื่อนไขเช่นกัน หากเป็นจริง รันบล็อก if หากเป็นเท็จ รันบล็อก else
รูปแบบไวยากรณ์:
if (expression) { // รันโค้ดนี้ } else { // รันโค้ดอีกชุด }
ต่อตัวอย่างร้านเบเกอรี่: หากแป้งน้อยกว่า 15 ถุง แจ้งเตือน; หากพอหรือมากกว่า แจ้งว่าพอแล้ว
#include <iostream>
using namespace std;
int main() {
int flourBagCount = 16;
if (flourBagCount < 15) {
cout << "There are not enough bags of flour in inventory."
} else {
cout << "There are enough bags of flour in inventory."
}
}
ผลลัพธ์:
There are enough bags of flour in inventory.
ในตัวอย่าง เปลี่ยนค่าเป็น 16 เพิ่มบล็อก else เนื่องจาก 16 ไม่ < 15 เงื่อนไข if เป็นเท็จ จึงรันบล็อก else แสดงข้อความว่าแป้งพอแล้ว
C++ รองรับ nested if statements (คำสั่ง if หรือ if...else ภายในอีกคำสั่ง) แต่บ่อยครั้ง else if ให้โค้ดสะอาดกว่า
คำสั่ง else if ใน C++
เราเคยเห็น if สำหรับเงื่อนไขจริง และ else สำหรับเงื่อนไขเท็จ แต่ถ้าต้องการตรวจสอบหลายเงื่อนไขและรันโค้ดเมื่อเงื่อนไขไหนเป็นจริง? ใช้คำสั่ง else if แบบซ้อน (nested)
รูปแบบไวยากรณ์:
if (expressionOne) { // โค้ดถ้าเงื่อนไข 1 จริง }
else if (expressionTwo) { // โค้ดถ้าเงื่อนไข 1 เท็จ และเงื่อนไข 2 จริง }
else { // โค้ดถ้าเงื่อนไขทั้งหมดเท็จ }
ตัวอย่าง: เพิ่มเงื่อนไขในโปรแกรมร้านเบเกอรี่
- ถ้าแป้ง > 20 ถุง: แสดง "มีแป้งพอแล้ว"
- ถ้าแป้ง 15-20 ถุง: แสดง "ควรสั่งแป้งใหม่เร็วๆ นี้"
- ถ้าแป้ง < 15 ถุง: แสดง "แป้งไม่พอ"
โค้ด:
#include <iostream>
using namespace std;
int main() {
int flourBagCount = 16;
if (flourBagCount > 20) {
cout << "There are enough bags of flour in inventory."
} else if (flourBagCount <= 20 && flourBagCount >= 15) {
cout << "A new order for flour should be placed soon."
} else {
cout << "There are not enough bags of flour in inventory."
}
}
ผลลัพธ์:
A new order for flour should be placed soon.
โปรแกรมตรวจสอบเงื่อนไข 2 ข้อ และมี else สำหรับกรณีทั้งคู่เป็นเท็จ ตรวจสอบ if แรก: flourBagCount > 20? เท็จ (16) ไปที่ else if: flourBagCount <= 20 และ >= 15? จริง (16) จึงรันบล็อกนี้ หากทั้งคู่เป็นเท็จ จะรัน else
สรุป
ใช้ if และ if ... else ควบคุมโฟลว์โปรแกรมใน C++
if ตรวจสอบเงื่อนไขและรันโค้ดถ้าเป็นจริง else if ตรวจสอบเงื่อนไขที่สองและรันโค้ดถ้าเป็นจริง else รันโค้ดเมื่อเงื่อนไขที่ระบุทั้งหมดเป็นเท็จ
บทช่วยสอนนี้อธิบายการใช้ if, if ... else, และ else if พร้อมตัวอย่าง ตอนนี้คุณพร้อมใช้คำสั่งเงื่อนไข C++ อย่างมืออาชีพแล้ว