สวัสดีครับ มาพบกันอีกครั้งในบทความสอน C++ บทนี้ว่าด้วยเรื่อง การรับข้อมูลจากผู้ใช้ด้วยคำสั่ง cin ครับ ซึ่งการรับข้อมูลจากผู้ใช้นั้น มีไว้เพื่อให้ผู้ใช้งาน (User) ได้ป้อนข้อมูล (Input Data) เข้าไปในโปรแกรม นั่นเองครับ เอาล่ะเราลองมา ดูตัวอย่างแล้วทำตามกันครับ
การรับข้อมูลจากผู้ใช้ด้วย คำสั่ง cin
การรับข้อมูล คือ การเขียน Source Code เพื่อให้โปรแกรมหยุดรอ ให้ผู้ใช้ป้อนค่าข้อมูลผ่านทางคีย์บอร์ด จนกระทั่งเมื่อรับค่าเสร็จแล้ว (กดปุ่ม Enter) จะนำข้อมูลที่ได้ เก็บใส่ ตัวแปร เอาไว้ ดังนั้นถ้าต้องการให้โปรแกรมรับค่าอะไรก็ตามจากผู้ใช้ ก็ใช้วิธีนี้ได้เลยครับ
รูปแบบการรับข้อมูลจากผู้ใช้เก็บในตัวแปร
cin >> ชื่อตัวแปร;
cin >> variable;
ตัวอย่างการใช้
cin >> x;
cin >> number
เงื่อนไข ใช้คำสั่ง cin
อย่าลืม ต้องใช้คู่กับตัวแปร และมี เครื่องหมาย >> คั่นเสมอ
#include <iostream>
using namespace std;int main()
{
int num;
cout << "Enter Number : ";
cin >> num;
cin.get();
return 0;
}
ลองเขียน Source Code การรับข้อมูลด้วย คำสั่ง cin
ขั้นที่ 1)
ทำการสร้าง Source File ใหม่ใน Dev_C++ จากนั้น ทำการ Copy Source code ลงใน พื้นที่การเขียน Source code
#include <iostream>
using namespace std;int main()
{
int num1 = 0;
float num2 = 0.0;
char status = ' ';
cout << "Hello this C++ programming Lesson 8."<< endl;
cout << "Enter Num1 Data : ";
cin >> num1;
cout << "Enter Num2 Data : ";
cin >> num2;
cout << "Enter Status Data : ";
cin >> status;
cout << endl;
cout << "Show Data In Variable."<< endl;
cout << "Num1 : " << num1 << endl;
cout << "Num2 : " << num2 << endl;
cout << "Status : " << status << endl;cout << endl;
system("pause");
return 0;
}
ขั้นที่ 2)
Save Source file ชื่อ test_cin.cpp และ ทำการ Complie และ Run เพื่อดูผลลัพธ์
รูปที่ 1 : โปรแกรมกำลังรอรับค่าจาก Keyboard
รูปที่ 2 : ผู้ใช้พิมพ์ค่าที่ต้องป้อนลงไป (ในตัวอย่างป้อนค่า 10) เมื่อป้อนเสร็จ กดปุ่ม Enter
รูปที่ 3 : โปรแกรมทำงานในคำสั่งต่อไปคือแสดงผลข้อความและตามด้วยรอรับค่า
รูปที่ 4 : ทดลองป้อนข้อมูลไปเรื่อยๆ จนจบโปรแกรม
อธิบาย Source Code เพิ่มเติม
#include <iostream>
using namespace std;int main()
{
//ส่วนการประกาศตัวแปร
int num1 = 0;
float num2 = 0.0;
char status = '';
cout << "Hello this C++ programming Lesson 8."<< endl;
// แสดงผลก่อนการรับค่าเพื่อบอกผู้ใช้ว่าต้องการข้อมูลอะไร
cout << "Enter Num1 Data : ";
// รอรับข้อมูลในในตัวแปร num1
cin >> num1;
cout << "Enter Num2 Data : ";
cin >> num2;
cout << "Enter Status Data : ";
cin >> status;
cout << endl;
cout << "Show Data In Variable."<< endl;
// แสดงผลค่าในตัวแปร
cout << "Num1 : " << num1 << endl;
cout << "Num2 : " << num2 << endl;
cout << "Status : " << status << endl;cout << endl;
system("pause");
return 0;
}
เพิ่มเติม การทำ Label
การทำ Label คือ การใช้คำสั่ง แสดงผล (cout) ข้อความ เพื่อบอกผู้ใช้โปรแกรมว่า ต้องป้อนค่าอะไรลงในโปรแกรม ขณะที่โปรแกรมกำลังรอรับค่า ลองดูสองตัวอย่างนี้ เปรียบเทียบกันครับ
Source Code การทำ Label
#include <iostream>
using namespace std;int main()
{
int num1 = 0;// แสดงผล ทำ Label ก่อนการรับค่าเพื่อบอกผู้ใช้ว่าต้องการข้อมูลอะไร
cout << "Enter Num1 Data : ";
// รอรับข้อมูลในในตัวแปร num1
cin >> num1;
cout << endl;
system("pause");
return 0;
}
Output การทำ Label
*** สังเกตได้ว่า ก่อนรับข้อมูล มีข้อความ "Enter Num1 Data : " แสดงออกมาก่อน ทำให้ผู้ใช้รู้ว่า " ต้องใส่ค่าลงไปนะ "
Source Code การไม่ทำ Label
#include <iostream>
using namespace std;int main()
{
int num1 = 0;// รอรับข้อมูลในในตัวแปร num1
cin >> num1;
cout << endl;
system("pause");
return 0;
}
Output การไม่ทำ Label
*** สังเกตได้ว่า ก่อนรับข้อมูล ไม่มีข้อความอะไรบอกผู้ใช้เลย ทำให้ผู้ใช้งงว่า " ต้องทำอะไรเนี่ย ? "
GOTCHA !!
เอาล่ะครับเป็นยังไงกันบ้างครับกับ การรับข้อมูลจากผู้ใช้ด้วยคำสั่ง cin ไม่ยากใช่ไหมครับ เป็นเรื่องพื้นฐานอีกเรื่องที่สำคัญมากต่อการเขียนโปรแกรม หากท่านใดยังไม่ค่อยเข้าใจ สามารถเข้ามาถามได้ที่ Fanpage TUTORTONG ได้เลยนะครับ ^^
สิ่งที่คุณจะทำได้หลังจากอ่านบทความนี้
- คุณสามารถเขียนคำสั่งเพื่อรับข้อมูลจากผู้ใช้ลงตัวแปรได้