C++

前云 2009-10-13 09:52:58
C语言里有
scanf(%d,i);
switch()
{
case 1:
。。。。。。。
}


当我输入1就执行case 1:
但我输入字母或其它的字符程序就出错了,
有没有随便输入什么都不会出错的算法,或函数。
...全文
173 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
a275062369 2012-06-05
  • 打赏
  • 举报
回复
在进行switch之前加个判断啊。
hdp7272 2011-12-21
  • 打赏
  • 举报
回复
对我很有用
hdp7272 2011-12-21
  • 打赏
  • 举报
回复
很好的东东
pennysecure 2011-05-02
  • 打赏
  • 举报
回复
把数字当字符读入,然后加一个过滤非法输入的。
Tauren2614 2009-10-15
  • 打赏
  • 举报
回复
scanf("%c",&i);
switch(i)
{
case '1' :
break ;
case '2' :
break ;
case 'a':
break ;
.........
}
把数字当成字母读进来不就好了吗
前云 2009-10-15
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 mstlq 的回复:]
C/C++ codewhile(1!=scanf("%d",&i))
{
rewind(stdin);
puts("你输入的不是数字,给我重来,快!");
};
[/Quote]

这个可以。。
huqinglu123 2009-10-13
  • 打赏
  • 举报
回复

scanf("%d",&i);
switch(i)
{
case:1:
...
break;

case 2:
...
break;

default:
...;
}

woyaozixuevcmfc 2009-10-13
  • 打赏
  • 举报
回复
ding
mstlq 2009-10-13
  • 打赏
  • 举报
回复
while(1!=scanf("%d", &i))
{
rewind(stdin);
puts("你输入的不是数字,给我重来,快!");
};
YeBinYe 2009-10-13
  • 打赏
  • 举报
回复

char input;
cin>>input;
switch(input)
case '1':
break;
case '2':
break;
... ...
default:
cout<<"defualt";
break;
}
szqh97 2009-10-13
  • 打赏
  • 举报
回复
你加一defaul来处理其他的选项
AlwaysSLH 2009-10-13
  • 打赏
  • 举报
回复

scanf("%d", &i);
switch(i)
{
case 1:
//...
break;

default:
printf("invalid input");
}
AlwaysSLH 2009-10-13
  • 打赏
  • 举报
回复
[code=C/C++]
scanf("%d", &i);
switch(i)
{
case 1:
//...
break;

default:
printf("invalid input");
}code]
baihacker 2009-10-13
  • 打赏
  • 举报
回复
用gets读入一行,然后自己解析.
buptzwp 2009-10-13
  • 打赏
  • 举报
回复
scanf(%d,i);
switch(i)
{
case 1:
。。。。。。。
default:
...
}

lihan6415151528 2009-10-13
  • 打赏
  • 举报
回复
switch(i)
老邓 2009-10-13
  • 打赏
  • 举报
回复

switch(i)
{
case 1:
。。。。。。。
default: break;
}

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧