cin >> temp;

if(!cin)   //bad input

{

   cin.clear();//重置缓冲区,否则将不能将缓冲区中的错误内容读取出来

   while(cin.get()!='\n')//直到遇到换行符,读取错误内容结束

       continue;

   cout << "Bad input;input process terminated.\n";

}