C++ Input Validation
در C++، Input Validation (اعتبارسنجی ورودی) به معنای بررسی دادههای وارد شده توسط کاربر قبل از استفاده در برنامه است. این کار باعث جلوگیری از خطاهای زمان اجرا، ورود دادههای نادرست و رفتار غیرمنتظره برنامه میشود.
🔹 1️⃣ بررسی نوع داده ورودی
هنگام استفاده از cin
، اگر کاربر دادهای با نوع اشتباه وارد کند، cin
وارد حالت خطا (fail state) میشود.
مثال:
📌 اگر کاربر چیزی غیر از عدد وارد کند، پیام خطا نمایش داده میشود.
🔹 2️⃣ پاک کردن خطا و بافر
اگر cin
در fail state قرار بگیرد، باید خطا را پاک کنیم و بافر ورودی را خالی کنیم:
-
()cin.clear
→ پاک کردن وضعیت خطا -
(...)cin.ignore
→ حذف دادههای باقیمانده در بافر
🔹 3️⃣ اعتبارسنجی محدوده داده
میتوانیم مطمئن شویم مقدار وارد شده در یک محدوده معتبر باشد:
🔹 4️⃣ اعتبارسنجی رشتهها
برای رشتهها هم میتوان بررسی کرد که ورودی خالی یا شامل کاراکترهای غیرمجاز نباشد:
🔹 5️⃣ نکات مهم
-
همیشه داده ورودی کاربر را بررسی و اعتبارسنجی کنید.
-
برای ورودیهای عددی، از
()cin.fail
و()cin.clear
استفاده کنید. -
محدوده دادهها را مشخص کنید تا ورودی منطقی باشد.
-
برای رشتهها، بررسی کنید که خالی یا نامعتبر نباشند.
-
ترکیب while + cin.clear + cin.ignore بهترین روش برای حلقهٔ اعتبارسنجی است.
💡 خلاصه:
Input Validation در C++ تضمین میکند دادههای وارد شده صحیح، منطقی و امن باشند و از بروز Runtime Errors جلوگیری میکند. این مهارت برای برنامههای واقعی و کاربردی بسیار ضروری است.