ข้อ 2.3 การใช้ function if -else 


การใช้งาน function if จะเป็นการสร้างทางเลือกให้กับโปรแกรม โดยการใช้เงื่อนไขเป็นตัวกำหนด ซึ่งเงื่อนไขต่าง ๆ ก็จะอยู่ในรูปแบบของนิพจน์ ค่าที่ได้มาจากนิพจน์จะมีเพียงแค่ 2 ค่าเท่่านั้น ก็คือ จริง กับ เท็จ ถ้าค่าเป็น จริง ก็จะไปทำตามคำสั่งในส่วนที่เป็นจริง ถ้าค่าเป็น เท็จ ก็จะไปทำคำสั่งในส่วนที่เป็น เท็จ ดังตัวอย่าง if แบบ 2 เงื่อนไข (if…else) มีรูปแบบดังนี้ จากรูปแบบของคำสั่งจะเห็นว่าจะมีลักษณะการเขียนคล้ายกับแบบ simple if แต่จะมีการเพิ่มเติมคำว่า else เข้าไปด้วย ซึ่งการทำงานของคำสั่งแบบนี้นั้นจะทำการตรวจ สอบเงื่อนไขที่ if ก่อนว่าเป็นจริงหรือเท็จ โดยถ้าเป็นจริงจะไปทำงานในกลุ่มคำสั่งที่เรากำหนดไว้ใน if แต่ถ้าเป็นเท็จก็จะไปทำงานในกลุ่มคำสั่งที่อยู่ในส่วนของ else ซึ่งจะ เป็นเหมือนมีทางเลือก 2 ทางนั่นเอง ลองมาดูแผนภาพของคำสั่งแบบ if…else กันนะครับ ดูจากแผนภาพแล้วจะเห็นว่าเมื่อเงื่อนไขเป็นจริงจะวิ่งเข้ามาทำตามกลุ่มคำสั่งที่เรากำหนดไว้ในกลุ่มแรก แต่ถ้าเงื่อนไขเป็นเท็จก็จะวิ่งเข้ามาที่กลุ่มคำสั่งของ else ในกลุ่มที่ 2 จากนั้นจึงค่อยมาทำที่คำสั่งในส่วนถัดมาของโปรแกรมต่อไป ลองมาดูตัวอย่างที่เป็นโปรแกรมกันเลยครับ
|
เครดิต :: http://kruyo-c.blogspot.com/p/function-if-else.html
การทำงานของ Flowchart
SOURCE CODE : :


#include<iostream> using namespace std; int main() { char coffee, donuts, tea; cout << "Enter coffee: "; cin >> coffee; cout <<"Enter donuts: "; cin >> donuts; cout << "Enter tea: "; cin >> tea; if('y' == coffee) { if('y'== donuts) cout << "We have coffee and donuts. \n"; else cout << "We have coffee, but not donuts. \n"; } else { if('y' ==tea) cout << "We have not coffee, but we have tea, and maybe donuts...\n "; else cout << "No tea or coffee, but maybe donuts...\n"; } }![]()
อธิบายการทำงานของSOURCE CODE

#include<iostream> = เป็นการimport คำสั่ง
using namespace std;
int main()
{
char coffee, donuts, tea; = เป็นการประกาศตัวแปร char ชนิดตัวอักษร โดยกำหนดค่าให้มี coffee, donuts, tea
cout << “Enter coffee: “; = เป็นการสั่ง print ค่า Enter coffee ขึ้นมา
cin >> coffee; = (cin พิมพ์ค่า) ค่าที่เราพิมพ์ จะเก็บไว้ใน coffee
cout <<“Enter donuts: “; = เป็นการสั่ง print ค่า Enter donuts ขึ้นมา
cin >> donuts; = (cin = พิมพ์ค่า) ค่าที่เราพิมพ์ จะเก็บไว้ใน donuts
cout << “Enter tea: “; = เป็นการสั่ง print ค่า Enter tea ขึ้นมา
cin >> tea;= (cin = พิมพ์ค่า) ค่าที่เราพิมพ์ จะเก็บไว้ใน tea
if(‘y’ == coffee) = เป็นการเปรียบเทียบว่า coffee มันพิมพ์ ตัว Y หรือเปล่า ถ้าพิมพ์ Y จะเข้ากรณี “We have coffee and donuts. ขึ้นมา ถ้าไม่พิมพ์ Y ก็จะเข้า else คือ We have coffee, but not donuts ทันที
if(‘y’== donuts) = เป็นการเปรียบเทียบว่า donuts มันพิมพ์ ตัว Y หรือเปล่า ถ้าพิมพ์ Y จะเข้ากรณี “We have coffee and donuts. ขึ้นมา ถ้าไม่พิมพ์ Y ก็จะเข้า else คือ We have coffee, but not donuts ทันที
cout << “We have coffee and donuts. \n”; = เป็นคำสั่ง Print We have coffee and donuts ขึ้นมา
\n = เว้นบรรทัด
else = เงื่อนไข
cout << “We have coffee, but not donuts. \n”; = เป็นคำสั่ง Print We have coffee, but not donuts ขึ้นมา
\n = เว้นบรรทัด
}
else = เงื่อนไข
{
if(‘y’ ==tea) = เป็นการเปรียบเทียบว่า coffee มันพิมพ์ ตัว Y หรือเปล่า ถ้าพิมพ์ Y จะเข้ากรณีWe have not coffee, but we have tea, and maybe donuts
cout << “We have not coffee, but we have tea, and maybe donuts.. = เป็นคำสั่ง Print We have not coffee, but we have tea, and maybe donuts
.\n “; = เว้นบรรทัด
else = เงื่อนไข
cout << “No tea or coffee, but maybe donuts…\n”; = เป็นคำสั่ง Print No tea or coffee, but maybe donuts …..
\n = เว้นบรรทัด
}
}
จากการทดลอง(OUTPUT)

By ธนวิชญ์ บุตรโคตร
ดีมากครับบบ
เนื้อหาดีค่ะ 👍
ได้ความรู้เยอะเลยครับ
ดีมาก