菜鸟请教switch的死循环解决。

kfjin 2003-10-20 10:38:31
#include <iostream>
using namespace std;

void main()
{
char ch;
int aCnt=0, eCnt=0, iCnt=0, oCnt=0, uCnt=0,++consonantCnt;
while ( cin >> ch )
switch ( ch )
{
case 'a': case 'A':
++aCnt;
break;
……
case 'e': case 'E':
++eCnt;
break;
default:
++consonantCnt;
break;
}
cout << "Number of vowel a: \t" << aCnt << '\n'
……
}

此程序该怎么退出程序啊?
谢谢~
...全文
377 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
chineseship 2003-10-20
  • 打赏
  • 举报
回复
输入一个非显示字符! esc 之类的就可以了!
catf1sh 2003-10-20
  • 打赏
  • 举报
回复
while ( ( cin >> ch ) != '#' )
Wolf0403 2003-10-20
  • 打赏
  • 举报
回复
while ( cin >> ch )
switch ( ch )
{
case 'a': case 'A':
++aCnt;
break;
……
case 'e': case 'E':
++eCnt;
break;
default:
goto Out;
break;
}
Out:
cout << "Number of vowel a: \t" << aCnt << '\n'
smans 2003-10-20
  • 打赏
  • 举报
回复
你用了while语句了,一旦输入,就执行判断语句,那么你希望在什么情况下退出呢?
kfjin 2003-10-20
  • 打赏
  • 举报
回复
引用
你這個程序,只要輸入0就退出去了。:)


你试试看,能否退得出?
chongyang 2003-10-20
  • 打赏
  • 举报
回复
bool bExit = false;
while ( cin >> ch )
{
if(bExit) break;
switch ( ch )
{
case 'a': case 'A':
++aCnt;
break;
……
case 'e': case 'E':
++eCnt;
break;
default:
bExit = true;
break;
}
}

这是标准做法!!
  • 打赏
  • 举报
回复
你這個程序,只要輸入0就退出去了。:)
liushuangjin2008 2003-10-20
  • 打赏
  • 举报
回复
我不知道
chzwin 2003-10-20
  • 打赏
  • 举报
回复
完美废人,写得不怎么好?万一人家需要统计很多的除26个字母以外的数据怎么办?比如说这是一个文章的字符数统计程序,你这么改写就没什么意思了!
我觉得上面的一个同志说得很好,定义一个退出字符就好了!
roselu 2003-10-20
  • 打赏
  • 举报
回复
swith(ch)
最好ch是int型,用char不好吧.
还有goto语句能不用尽量不要用!
kfjin 2003-10-20
  • 打赏
  • 举报
回复
谢谢“完美废人”,已经用您的“goto”解决问题了。
kfjin 2003-10-20
  • 打赏
  • 举报
回复
引用
while ( ( cin >> ch ) != '#' )

这个不行吧。

引用
晕!
while ( cin >> ch )什么意思!
好像会出现语法错误!!!!
因为它没有返回值

试着运行一下,应当没有出错的啊。
chengzhe 2003-10-20
  • 打赏
  • 举报
回复
晕!
while ( cin >> ch )什么意思!
好像会出现语法错误!!!!
因为它没有返回值
Bandry 2003-10-20
  • 打赏
  • 举报
回复
ctrl+z
Jupin 2003-10-20
  • 打赏
  • 举报
回复
Ctrl + c 可以退出吧,

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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