如何结束这个循环?

ginger 2003-01-13 11:36:25
#include <iostream>
#include <cctype>
using namespace std;

int main()
{
char ch;
int aCnt = 0, eCnt = 0, iCnt = 0 , oCnt = 0, uCnt = 0;
int blankCnt = 0, tabCnt = 0, newlineCnt = 0, consonantCnt = 0;

while(cin.get(ch))//这里何时结束循环???
switch (ch){
case 'a': case 'A':
++aCnt;
break;
case 'e': case 'E':
++eCnt;
break;
case 'i': case 'I':
++iCnt;
break;
case 'o': case 'O':
++oCnt;
break;
case 'u': case 'U':
++uCnt;
break;
case ' ':
++blankCnt;
break;
case '\t':
++tabCnt;
break;
case '\n':
++newlineCnt;
break;
default:
if(isalpha(ch))
++consonantCnt;
break;
}
cout<<"Number of vowel a:\t"<<aCnt<<endl;
cout<<"Number of vowel e:\t"<<eCnt<<endl;
cout<<"Number of vowel i:\t"<<iCnt<<endl;
cout<<"Number of vowel o:\t"<<oCnt<<endl;
cout<<"Number of vowel u:\t"<<uCnt<<endl;
cout<<"Number of consonants :\t"<<consonantCnt<<endl;
cout<<"Number of blanks :\t"<<blankCnt<<endl;
cout<<"Number of tabs :\t"<<tabCnt<<endl;
cout<<"Number of newlines :\t"<<newlineCnt<<endl;
return 0;
}
...全文
78 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
就是ctrl+Z,我刚还在用:)
mldds 2003-01-13
  • 打赏
  • 举报
回复
好像是ctrl+Z
sans 2003-01-13
  • 打赏
  • 举报
回复
//这样试试:
while(cin.get(ch))
{
if( ch == 'q' || ch == 'Q' ) break; //添加退出代码
switch (ch){
case 'a': case 'A':
++aCnt;
break;
case 'e': case 'E':
++eCnt;
break;
case 'i': case 'I':
++iCnt;
break;
case 'o': case 'O':
++oCnt;
break;
case 'u': case 'U':
++uCnt;
break;
case ' ':
++blankCnt;
break;
case '\t':
++tabCnt;
break;
case '\n':
++newlineCnt;
break;
default:
if(isalpha(ch))
++consonantCnt;
break;
}
}
artman 2003-01-13
  • 打赏
  • 举报
回复
文件结束,对于cin为用户按下Ctrl+Z

69,382

社区成员

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

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