สวัสดีครับ น้องๆ ตัวอย่างโจทย์ข้อนี้ เป็นโปรแกรมคิดเลขอย่างง่ายๆ ด้วยภาษา C++ ครับ ข้อนี้มีการใช้ การคำนวณ บวก ลบ คูณ หาร การใช้ switch case และ มีการใช้ do while loop ร่วมด้วย เอาล่ะครับ ข้อนี้ครบอีกเช่นเคย ^^
โจทย์
จงเขียนโปรแกรมคิดเลขโดยเริ่มต้นโปรแกรม จะทำการรับเลขสองจำนวนจากผู้ใช้ จากนั้นถามว่าผู้ใช้ต้องการทำอะไร ระหว่าง บวก ลบ คูณ หรือ หาร แล้วแสดงผลของการคำนวณ และถามผู้ใช้ว่าต้องการทำอีกครั้งไหม ถ้าต้องการทำอีกครั้ง ทำการล้างหน้าจอแล้วเริ่มต้นการทำงานใหม่อีกครั้ง
Source Code
#include <iostream>
using namespace std;int main()
{
float number_1,number_2,result;
char choice_operator,choice_continue;
do
{
system("cls");
cout << "Enter Number : ";
cin >> number_1;
cout << "Enter Number : ";
cin >> number_2;
cout << endl;
cout << "Select Operator" << endl;
cout << "A)ddition (+)" << endl;
cout << "S)ubtraction (-)" << endl;
cout << "M)ultiplication (*)" << endl;
cout << "D)ivision (/)" << endl;
cout << "You Select : ";
cin >> choice_operator;
cout << endl;
cout << number_1;
switch(choice_operator)
{
case '+' :
case 'A' :
case 'a' : cout << " + ";
result = number_1 + number_2;
break;
case '-' :
case 'S' :
case 's' : cout << " - ";
result = number_1 - number_2;
break;
case '*' :
case 'M' :
case 'm' : cout << " * ";
result = number_1 * number_2;
break;
case '/' :
case 'D' :
case 'd' : cout << " / ";
result = number_1 / number_2;
break;
}
cout << number_2 << " = " << result << endl << endl;cout << "Continue (Y/N) : ";
cin >> choice_continue;
}
while(choice_continue == 'Y' || choice_continue == 'y');
cout << endl << "Exit Program...";cout << endl << endl;
system("pause");
}
อธิบาย Source Code
#include <iostream>
using namespace std;int main()
{
//ประกาศตัวแปร
// number_1 เก็บจำนวนแรก , number_2 เก็บจำนวนที่สอง , result เก็บผลลัพธ์
// choice_operator เก็บตัวเลือกตัวดำเนินการ , choice_continue เก็บตัวเลือกการทำอีกครั้ง
float number_1,number_2,result;
char choice_operator,choice_continue;
do
{
system("cls"); //ล้างหน้าจอ
cout << "Enter Number : "; //แสดงผลรับเลข
cin >> number_1; //รับเลขตัวที่ 1
cout << "Enter Number : "; //แสดงผลรับเลข
cin >> number_2; //รับเลขตัวที่ 2
//แสดงผลเมนู
cout << endl;
cout << "Select Operator" << endl;
cout << "A)ddition (+)" << endl;
cout << "S)ubtraction (-)" << endl;
cout << "M)ultiplication (*)" << endl;
cout << "D)ivision (/)" << endl;
cout << "You Select : "; //แสดงผลรับตัวดำเนินการ
cin >> choice_operator; //รับตัวดำเนินการ
cout << endl;
cout << number_1; //แสดงเลขตัวแรก
//ตรวจสอบค่าในตัวแปร choice_operator
switch(choice_operator)
{
//ค่าใน choice_operator เป็นกรณี + , A , a หรือไม่
case '+' :
case 'A' :
case 'a' : cout << " + "; //แสดงผล
result = number_1 + number_2; //บวกแล้วเก็บผลลัพธ์
break;
//ค่าใน choice_operator เป็นกรณี - , S , s หรือไม่
case '-' :
case 'S' :
case 's' : cout << " - "; //แสดงผล
result = number_1 - number_2; //ลบแล้วเก็บผลลัพธ์
break;
//ค่าใน choice_operator เป็นกรณี * , M , m หรือไม่
case '*' :
case 'M' :
case 'm' : cout << " * "; //แสดงผล
result = number_1 * number_2; //คูณแล้วเก็บผลลัพธ์
break;
//ค่าใน choice_operator เป็นกรณี / , D , d หรือไม่
case '/' :
case 'D' :
case 'd' : cout << " / "; //แสดงผล
result = number_1 / number_2; //หารแล้วเก็บผลลัพธ์
break;
}
cout << number_2 << " = " << result << endl << endl; //แสดงผลcout << "Continue (Y/N) : "; //แสดงผลว่าทำอีกครั้งไหม
cin >> choice_continue; //รับคำตอบ
}
//ตราบเท่าที่ choice_continue เป็น Y หรือ y
while(choice_continue == 'Y' || choice_continue == 'y');
cout << endl << "Exit Program..."; //แสดงผลcout << endl << endl;
system("pause");
}
ตัวอย่างการ Run โปรแกรม
ตัวอย่างการ Run ครั้งที่ 1
ทดสอบ รับเลข 1 และ 2 เลือก A เพื่อบวก เมื่อแสดงผลลัพธ์ ทำอีกครั้งโดยเลือก Y
ตัวอย่างการ Run ครั้งที่ 2
ทดสอบ รับเลข 2 และ 2 เลือก + เพื่อบวก เมื่อแสดงผลลัพธ์ ไม่ทำต่อโดยเลือก N
เป็นยังไงบ้างครับ ข้อนี้น่าจะเป็นแนวทางให้น้องๆ ได้พอสมควรกับการเขียนโปรแกรมเชิงเมนู (MENU) และตัวเลือก ตัวอย่างนี้เป็น แบบอย่างง่าย ที่ไม่มีการตรวจสอบความถูกต้องของข้อมูลเข้า เช่น ตัวเลือก (Y/N) เราจะกรอก A , B แทนก็ได้ จะได้ผลเหมือน N ครับ ซึ่งในความเป็นจริงแล้ว โปรแกรมที่เราเขียนขึ้นต้องมีเรื่องความถูกต้องของข้อมูลเข้ามาด้วยครับ ใครที่สนใจเรื่องความถูกต้องของข้อมูล ลองติดตามตัวอย่างต่อๆ ไปได้ครับ
หากน้องๆ มีข้อสงสัย สามารถเข้ามาสอบถามได้ที่ Fanpage TUTORTONG สอนเขียนโปรแกรม ได้เลยครับ การเขียนโปรแกรมไม่ยากอย่างที่คิด มาเริ่มต้นสนุกไปกับเราที่ TUTORTONG สอนเขียนโปรแกรม ครับ ^^