| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1612 人关注过本帖
标题:[求助]关于输入字符的switch()语句
只看楼主 加入收藏
meteor57
Rank: 1
来 自:银河系
等 级:新手上路
帖 子:267
专家分:0
注 册:2007-9-29
结帖率:100%
收藏
 问题点数:0 回复次数:14 
[求助]关于输入字符的switch()语句

要改一个小小程序,要达到:输入:y,输出:continue!!!;输入:n,退出;输入其它的字符:没有反应.
现下面的输入Y或N还行,但要输入其它的东东,要怎么做会让它没反应而不是进入死循环?等我再输入Y的时候它又可以输出continue!!!.
谢谢大家了.

#include<stdio.h>
main()
{
char ch;
printf("Input 'Y' to continue or input 'N' to exit!");
ch=getchar();
switch(ch)
{
case'y':printf("continue!!!");break;
case'n':exit(0);break;
default:while(1){}
}
}

搜索更多相关主题的帖子: switch 语句 字符 continue 
2007-10-13 10:56
远去的列车
Rank: 1
等 级:新手上路
威 望:2
帖 子:205
专家分:0
注 册:2007-8-7
收藏
得分:0 
default:while(1){} // 输出非'y','n'时,是你叫程序进入死循环的啊
// 改成 default:break;

C++学习
2007-10-13 11:04
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
while(1)
{
ch=getchar();
switch(ch)
{
case'y':printf("continue!!!");break;
case'n':exit(0);break;
}
}

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-10-13 11:25
yrj007
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-3-17
收藏
得分:0 
改了一下:
#include<stdio.h>
int main()
{
char ch;
printf("Input 'Y' to continue or input 'N' to exit!\n");
while(1)
{

ch=getchar();
getchar();
switch(ch)
{
case'y':printf("continue!!!\n");break;
case'n':exit(0);break;
default:break;
}
}
getchar();
return 0;
}

2007-10-13 11:26
meteor57
Rank: 1
来 自:银河系
等 级:新手上路
帖 子:267
专家分:0
注 册:2007-9-29
收藏
得分:0 

谢谢大家了.特别是'永夜的极光'和'yrj007'.我把'yrj007'的改了一下.

#include<stdio.h>
int main()
{
char ch;
printf("Input 'Y' to continue or input 'N' to exit!\n");
while(1)
{

ch=getch();
getch();
switch(ch)
{
case'y':printf("continue!!!\n");break;
case'n':exit(0);break;
}
}
return 0;
}

这样就达到我想要的效果了.输入的时候不在屏幕上显示,用的是getch().但我看书上好像没有关于getch()的用法.这是我到网上看到的.哪位可以给我讲讲getch();谢谢了

2007-10-13 13:19
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
getch()只是读取一个字符``然后不做出任何反映``读入的时候不用按回车```

是在conio.h里```但是据说``这个头文件不是正规的```

我现在一般不用它了```都是用getchar()代替它```


女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-10-13 13:38
meteor57
Rank: 1
来 自:银河系
等 级:新手上路
帖 子:267
专家分:0
注 册:2007-9-29
收藏
得分:0 
谢谢版主了.现在明白了.
2007-10-13 13:59
ondy
Rank: 1
等 级:新手上路
威 望:1
帖 子:88
专家分:0
注 册:2007-9-4
收藏
得分:0 
这样就可以
char ans;
scanf("%c",&ans);
do
{
....
.....
}while(ans=='y'||ans=='Y')

2007-10-13 20:23
ondy
Rank: 1
等 级:新手上路
威 望:1
帖 子:88
专家分:0
注 册:2007-9-4
收藏
得分:0 
scanf("%c",&ans);
while(ans=='y'||ans=='Y')
{
....
.....
}
这样,我上面的写错了

2007-10-13 20:25
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
收藏
得分:0 
建议把char ch;改为int ch;

[此贴子已经被作者于2007-10-13 20:38:06编辑过]



[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2007-10-13 20:37
快速回复:[求助]关于输入字符的switch()语句
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012343 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved