Closed YotsawatSuki closed 1 year ago
ถ้าหากอยากจะแก้ปัญหานี้ให้ใช้โค้ด cin.fail()
ในการเช็คครับ
จะเห็นได้ว่าเมื่อเพิ่มตัวของ
if (cin.fail())
{
cout << "data entered is not of int type";
}
else
{
cout << s;
}
จะสามารถตรวจได้ว่าตัวที่เรา input เขาไปถูกต้องหรือไม่นั่นเองครับ
ตอนที่ผมเขียนโค้ดเกี่ยวกับ cin ผมได้พยายามที่จะทำให้เวลาเรา input ค่าเข้าไปมันได้แค่ int เท่านั้น เพื่อป้องกันกรณีผู้ใช้ input ค่าตัวแปรอื่นมา
อย่างกรณีนี้ผมได้ลองพิมพ์ตัวอักษรที่ไม่ใช้ตัวเลข input ลงในตัวแปร s ที่เป็น int ปรากฎว่ามันแปลงเป็น 0 ทันทีเลย