PDA

View Full Version : بیت های وضعیت خطا



Fl03xet1ne
دوشنبه 03 مهر 1391, 19:17 عصر
سلام بچه ها...
یک سوال ساده داشتم از اساتید برنامه نویسی.
بچه ها کسی می تونه تکه کد زیر رو برام شرح بده که چگونه فعالیت می کنه!

while(true)
{
cout << "\n Enter an integer: ";
cin >> i;
if(cin.good()){
cin.ignore(10, '\n');
break;
}
cin.clear();
cout<< "Incorrect input" ;
cin.ignore(10, '\n');
}



می خواستم بدونم دستور شرطی که در داخل این حلقه به کار گرفته شده. چه عملی و انجام می ده و سپس دستور cin.ignore(10,'\n') چه عملیاتی رو انجام می ده.
ممنون می شم اگر این تکه کد رو کامل توضیح بدید.

Fl03xet1ne
دوشنبه 03 مهر 1391, 22:30 عصر
کسی بلد نیست؟!!!
یعنی هیچ کی نمی تونه راهنمایی کنه؟!

hadi0x7c7
سه شنبه 04 مهر 1391, 13:24 عصر
متد ignore دو تا پارامتر میگیره یکی تعداد کاراکترهای که باید نادیده بگیره و دیگری یک delimiter.

برنامه شما یک int میگره و اگر این عمل درست انجام شد (cin.good()) انگاه 10 تا کاراکتر وارد شده را نادیده میگیره و بعد دوباره یه int میخونه و یه حالت دیگه اینه که شما enter بزنی و بعد دوباره یه int دیگه میخونه. در هر این دو حالت چک میکنه ایا تونسته یه int بخونه یا نه و اگر cin.fail پیش اومد از حلقه بیرون میاد.

اینم ببین :http://www.cplusplus.com/reference/iostream/istream/ignore/