re: 重載輸入符<< 栗子 2006-06-28 09:00
cin陷入錯誤后,可以用
cin.clear() 來使cin輸入流恢復正確的狀態。但是,被存在緩存中的數據還是-1,所以要清空緩存。利用fflush(stdin)(只適用于VC6)。
re: 非常簡單的石頭,剪刀,布程序 栗子 2006-06-26 13:03
對于cin>>(int)a, 當你輸入的不是整型時,會使cin陷入錯誤狀態,這樣以后的cin都不能再讀入,一直處于錯誤狀態。
所以在輸入前,要檢查錯誤。
cout<<"Input a:"<<endl;
a=getchar();
if(!isdigit(a)){
cerr<<"Error input, once again!";
contiue;
}
fflush(stdin);
cout<<"a:"<<a<<endl;