PDA

View Full Version : دلیل نوشتن این شرط چیه؟



fshb_ 1370
پنج شنبه 11 شهریور 1389, 07:41 صبح
سلام دوستان
من شرط حلقه while این برنامه رو نمیفهمم. برای چی همچین شرطی گذاشته؟
قسمت if، شرط !cin، منظورش این است که اگر ورودی غیرمجاز بود(double نبود) وارد if شه؟

کد:


#include<iostream>
using namespace std;
const int size=5;
int test(int arr[],int size);
int main()
{
int tarr[size];
int count=test(tarr,size);
cout<<"count is: "<<count<<endl;
return 0;
}
int test(int arr[],int size)
{
int temp;
int i;
for (i=0;i<size;i++)
{
cout<<"enter arr["<<i+1<<"]";
cin>>temp;
if(!cin)
{
cin.clear();
while(cin.get()!='\n')
continue;
cout<<"Bad input,input process terminated.\n";
break;
}
else if(temp<0)
break;
arr[i]=temp;
}
return i;
}

Jaguar
پنج شنبه 11 شهریور 1389, 21:25 عصر
ساده است. اگر ورودی معتبر نبود تا زمان وارد شدن کلید Enter ورودی را رد می کند و بعد از وارد کردن Enter پیام خطا نمایش داده می شود.