✦ if - else ซ้อน ✦
✦ if - else ซ้อน ✦
การใช้งานคำสั่ง if-else ทำให้โปรแกรมทำงานแบบมีทางเลือกได้ แต่นั่นเหมาะสำหรับการทำงานที่ถูกแบ่งออกเป็น 2 ทางเลือกเท่านั้น ในกรณีที่การทำงานของโปรแกรมมีทางเลือกที่เป็นไปได้มากกว่าสอง ภาษา C++ นั้นมีคำสั่ง else-if ให้เราใช้งานได้ นี่เป็นรูปแบบการใช้งาน
if (condition1) {
// statements for condition1
} else if (condition2) {
// statements for condition2
} else if (condition3) {
// statements for condition3
} else {
// when no previous conditions are fulfilled
}
ในการใช้งานคำสั่ง else if นั้นจะต้องใช้ร่วมกับคำสั่ง if เสมอ โดยโปรแกรมจะเริ่มตรวจสอบจากเงื่อนไขแรกใน condition1 ไปจนถึง condition3 และจะทำงานในบล็อคแรกที่ทำให้เงื่อนไขเป็นจริงเท่านั้น เราสามารถเพิ่มเงื่อนไขเพิ่มเติมเข้ามาเท่าไหร่ก็ได้ด้วยคำสั่ง else if
นอกจากนี้ึ คุณยังสามารถใช้คำสั่ง else สำหรับกำหนดเพื่อให้โปรแกรมทำงานในกรณีไม่มีเงื่อนไขใดเป็นจริงเลยโดยใส่มันไว้ในตอนท้ายได้เช่นเดิม
ต่อไปมาดูตัวอย่างการใช้งานคำสั่ง if else-if เพื่อตรวจสอบว่าตัวเลขเป็นจำนวนเต็มบวก เต็มลบ หรือศูนย์ สังเกตว่านี่เป็นการทำงานที่เป็นไปได้แบบสามทางเลือก
// ตัวอย่างโปรแกรม if else ซ้อน หาเลขจำนวนเต็มลบ เต็มบวก หรือ ศูนย์
#include <iostream>
using namespace std;
int main()
{
int n = -5;
if (n > 0) {
cout << "n is positive (+).\n";
} else if (n < 0) {
cout << "n is negative (-).\n";
} else {
cout << "n is zero (0).\n";
}
return 0;
}
นี่เป็นผลลัพธ์การทำงานของโปรแกรม
n is positive.
เนื่องจากค่าในตัวแปร n ที่เป็น -5 นั้นทำให้เงื่อนไขในคำสั่ง else if เป็นจริง ดังนั้นโปรแกรมจึงทำงานในบล็อคของคำสั่งที่สอง และแสดงข้อความบอกว่าตัวเลขเป็นจำนวนเต็มลบ คุณสามารถลองเปลี่ยนตัวเลขในตัวแปรเป็นจำนวนเต็มบวกหรือศูนย์และรันโปรแกรมเพื่อดูผลลัพธ์อีกครั้ง
มาดูอีกตัวอย่างคลาสคลิกสำหรับการใช้งานคำสั่ง if else-if ในภาษา C++ เราจะมาเขียนโปรแกรมคำนวณเกรดจากคะแนนที่กรอกเข้ามา ซึ่งจะเป็นการแสดงการทำงานของโปรแกรมที่มีทางเลือกเป็นจำนวนมาก นี่เป็นตัวอย่างของโปรแกรมคำนวณเกรดที่เขียนด้วยคำสั่ง if else-if ในภาษา C++
//ตัวอย่างโปรแกรมคำนวณเกรด
#include <iostream>
using namespace std;
int main()
{
int score;
cout << "Enter Score 0-100 : ";
cin >> score;
if (score >= 80) {
cout << "Your grade is 4.\n";
} else if (score >= 70) {
cout << "Your grade is 3.\n";
} else if (score >= 60) {
cout << "Your grade is 2.\n";
} else if (score >= 50) {
cout << "Your grade is 1.\n";
} else {
cout << "Your grade is 0.\n";
}
return 0;
}
ให้นักเรียนเขียนโปรแกรมด้วยคำสั่ง if - else ซ้อน
จำนวน 1 โปรแกรม เพื่อหาค่า BMI (Body Mass Index)
ตั้งชื่อตัวแปร เพื่อเก็บค่าน้ำหนัก (กิโลกรัม) ค่าส่วนสูง (เมตร) และ ค่า BMI
float high, weight, bmi;
สูตรหา ค่า BMI = น้ำหนัก (กิโลกรัม)
ส่วนสูง (เมตร) x ส่วนสูง (เมตร)
เงื่อนไข ค่า BMI
น้อยกว่า 18.50 >> Under weight (ต่ำกว่าเกณฑ์)
18.50 - 22.90 >> Healthy (สุขภาพดี)
23.00 - 24.90 >> Over weight (น้ำหนักเกิน)
25.00 - 29.90 >> Obese Class 1 (อ้วนระดับ 1)
มากกว่า 30.00 >> Obese Class 2 (อ้วนระดับ 2)
จัดทำโดย นางสาวทิพย์สุคนธ์ พันธ์กิ่ง กลุ่มสาระการเรียนรู้วิทยาศาสตร์และเทคโนโลยี
โรงเรียนบุญวัฒนา สำนักงานเขตพื้นที่การศึกษามัธยมศึกษา นครราชสีมา