C++把输入的字符0-9转换为数字的同时,若输入的不是字符0-9,则显示输入错误。请问我这个怎么错了?

我用的是codeblocks,cpp文件请指正以达到效果,十分感谢!... 我用的是codeblocks ,cpp文件
请指正以达到效果,十分感谢!
展开
 我来答
刀劈华山
2019-04-08 · TA获得超过2273个赞
知道小有建树答主
回答量:1338
采纳率:72%
帮助的人:390万
展开全部
你想输入的t是一个char,但是你的输入值“66”是两个字符,所以t只取这两个字符中的第一个字符,也就是‘6’,也就是t=‘6’,那么char t赋值给int a后‘6’这个字符的ASCII码就是54,没有错
追问
那么请问怎样使它输入66时一样可以输出error而不时54呢?
追答
int main(int argc, char *argv[])
{
    int t;
    int a;
    
    cin>>t;
    
    switch(t)
    {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:a = t;cout<<a<<endl;break;
    default:cout<<"err\n"<<endl;break;
    }
    return 0;
}
类似上面这样,把t改成int,然后把case改一下
White_MouseYBZ
2019-04-08 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6702万
展开全部
把a=t;改成a=t-32;。一次只能输入一个字符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式