C++ Primer P175 练习5.6;为什么没有任何输出呢?(Answer Book上的解答)(有简略)

C334745710 2007-04-21 09:02:26
#include<iostream>
#include<cctype>
using namespace std;
int main()
{ char ch;
int ii=0,jj=0,nn=0; //分别用来记录"i" 和"j'和"n"字母个数
int ni=0,nj=0; //分别用来记录本输入的双字符"ni"和"nj"出现次数
int ff; //是想用来记录输入的非"i"和"j"字母个数
int bb; //是想用来记录输入的空格个数
while(cin.get(ch))
switch(ch)
{
case'i':
ii++;break;
case'j':
jj++;break;
case 'n':
nn++;
cin.get(ch);
switch(ch)
{
case 'i':
ii++;ni++;break;
case 'j':
jj++;nj++;break;
default:
cin.putback(ch);break;
}
break;
case' ':
bb++;break;
default:
if(isalpha(ch))//用来记录非I、J字母个数
ff++;break;
}


cout<<"字母i数=\t"<<ii<<'\n';
cout<<"字母j数=\t"<<jj<<'\n';
cout<<"字母n数=\t"<<nn<<'\n';
cout<<"空格数=\t"<<bb<<'\n';
cout<<"非“I”“J”字母个数=\t"<<ff<<'\n';
cout<<"双字符ni数=\t"<<ni<<'\n';
cout<<"双字符nj数=\t"<<nj<<'\n';

return 0;
}
编译是完全没有错误的,我用的是VC6.0,请大家指教为什么没有任何的输出呢?百思不得其解!!郁闷~~
...全文
205 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
hellox 2007-04-21
  • 打赏
  • 举报
回复
呵呵..谢啥哦..那就结贴以示谢意..
挖哈哈哈哈~~
C334745710 2007-04-21
  • 打赏
  • 举报
回复
那可能是我看书没能看仔细,真是羞愧,
可是我在这本书上是真的没有关于ctrl+z的印像,
还好我刚从那个帖上看来了,说是“在键盘输入多行字符串时候,可以用ctrl+z结束输入”
还是再谢谢各位!
small_sentinel 2007-04-21
  • 打赏
  • 举报
回复
if(isalpha(ch))//用来记录非I、J字母个数
这句应该为if(!isalpha(ch))
不然是不能纪录下回车之类的
不信你每输一个字符就回车输入一次试一下



还有ff要初始化阿
hellox 2007-04-21
  • 打赏
  • 举报
回复
都看到P175了,难道前面没说ctrl+z可以..的么??
呵呵..
有什么怪怪的啊..
C334745710 2007-04-21
  • 打赏
  • 举报
回复
太感谢了,真的是这样,但还是不明白为什么会是这样?
是这个While有问题吗?我一开始接触这样的While语句总觉得怪怪的????
hellox 2007-04-21
  • 打赏
  • 举报
回复
输入完了回车,再按ctrl+z,最后再回车就可以看到输出了...
hellox 2007-04-21
  • 打赏
  • 举报
回复
按ctrl+z,就可以看到输出了
hellox 2007-04-21
  • 打赏
  • 举报
回复
你先输入啊,还是看不到输出么?
C334745710 2007-04-21
  • 打赏
  • 举报
回复
输入又拍回车还是不行
C334745710 2007-04-21
  • 打赏
  • 举报
回复
我输入了啊!
C334745710 2007-04-21
  • 打赏
  • 举报
回复
上面写漏了一点,要把ff和bb都初始化为o;
hellox 2007-04-21
  • 打赏
  • 举报
回复
while(cin.get(ch))没看到..??
hellox 2007-04-21
  • 打赏
  • 举报
回复
你要先输入啊...

64,651

社区成员

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

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