c++编程中怎么把键盘输入分情况处理?

来源:百度知道 编辑:UC知道 时间:2024/06/19 18:23:09
我要编写一个猜数的C++游戏,涉及到如果键入字母Q则退出游戏,如果键入的是数字则是进行猜数,然后要计算随机给的数与用户给的数的差距,根据差距给用户相应的提示。
但用户只输入一次,怎么把输入的Q与输入的数字分开处理啊。
我的疑惑是用什么变量存放输入的数据,因为数据可能是整型也可能是字符型。

int isdigit(int);用于判断一个字符是不是数字
char a;
cin>>&a;
if(isdigit(a))
{
//输入的是数字
}





追问

看到4年前自己提的问题,感觉挺幸福的。呵呵,现在帮以前的自己回答一个自己满意的方法。
std::string strInput;
std::cin >> strInput;

if( strInput[ 0 ] == 'Q' )
{
//退出程序。
}
//进行猜数
int iNumInput = boost::lexical_cast< int >( strInput );


这个简单啊,向您推荐 <ctype.h> 或者是<cctype>
这两个头文件,绝对好用,只是要分清楚返回值的真假啊
里面包含了很多处理字符的函数,你可以查一下
如果需要我告诉你都有哪些函数可以供你调用的话,我跟说说一声。。。。
别忘加分哦呵呵

int i = ??; //与 ? 做对比
char a;
cin >> a;//接受输入的字符
cout << "-------menu------- \n"
<< " 1. 开始游戏 \n"
<< " Q. 退出游戏 \n";
switch(a)
{
case '1':

进行猜数。。。
break;

case 'q':