2015-12-07 43 views
-1

试图让一个函数工作,但我仍然是在编码初学者 - 这个函数是清除我所有的输入作为有效但是,据我了解,它应该是失败他们?Char验证C++

char input; 
bool valid; 

do 
{ 
    valid = false; 
    gotoXY(col, row); 
    cin >> input; 

    if (cin.fail()) 
    { 
     message("Invalid input! Please re-enter.", 5, offset); 
     cin.clear(); 
     clearLine(col, row); 
     clearLine(0, row + 2); 
    } 
    else 
    { 
     valid = true; 

    } 

    cin.ignore(150, '\n'); 

    clearLine2(5, offset); 
    clearLine2(5, offset + 2); 

} while (!valid); 

cin.setf(ios::skipws); 

return input; 

我根本无法找到一个解决方案,它真的造成了一些麻烦,任何帮助,将不胜感激!

+1

你期望你的代码做什么?这是什么意思呢? –

+0

说如果我输入1或一个字符串它应该导致一个失败的消息,但是这只是接受一切 –

+0

你需要发布[MCVE](http://stackoverflow.com/help/mcve) –

回答

0

至于我可以看到你的代码说: 如果你的输入会失败(没有去输入)然后发送彩信。 否则接受一切。 对我来说,它看起来像你必须交换它们。