我想用 char 来接收 键盘输入的 而且最终要让他转换成 数字
char 只是接收单个字符啊~! 我如果要是输入 “adfa” 就是多个字符 还是要报错啊! 下面是我写的代码 但是 接收字符的话 就会循环出错了!
int y = 0;
bool c = true;
cout<<"请输入缸个数(1 单缸、2 双缸、3 三缸):";
cin>>y;//接收缸的个数
while(c)
{
if(y==1 || y==2 || y==3)
{
one.set_gangNum(y);
c = false;
}
else
{
cout<<"您输入的参数有误,请重新输入:";
cin>>y;
}
}
我是做个菜单选项~! 所以就要排除 字母的输入 所以只能用char 来转换成 数字!
追答呃。。还是不清楚,
如果只是判断数字有效,最合理的是用键盘钩子,对非数字输入丢弃。
如果只是判断是否数字,这样就可以啊:
ch=getchar();
if (ch>='0'&&ch<='9')
{
.......
}
您好 我问题补充了一下 您帮我看下!
追答请输入缸个数(1 单缸、2 双缸、3 三缸):
你限定的不就是输入数字么?输入字母就不处理吧。
如果不希望产生系统报错,用一个字符串接收,然后试用_atoi(int,str,10)来转换成数字,这样就不会出现系统报错了。
我想做到完善~! 就是 程序接收键盘的 字母 他就自动跳转回去重新输入 !
追答用一个字符串接收,然后试用_atoi(int,str,10)来转换成数字,就可以
cout <<str<< endl;