首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

为什么有一部分不输出啊解决思路

2012-02-21 
为什么有一部分不输出啊????#include iostream#include stringusingnamespacestdvoidmain(){intaCnt

为什么有一部分不输出啊????
#include <iostream>
#include <string>
using   namespace   std;

void   main()
{
int   aCnt=0,     eCnt   =0   ,   iCnt   =0   ,   oCnt=0   ,uCnt=0,
theCnt=0,   itCnt=0,   wdCnt=0,   notVowel=0;

string   buf,   the( "the "),it( "it ");

while(   cin> > buf){
++wdCnt;
cout < <buf < < '   ';
if(wdCnt%12==0)
cout < <endl;

if(buf==the||buf== "The ")
++theCnt;
else  
if(buf==it||buf== "It ")
++itCnt;

for   (int   ix=0;ix <buf.size();++ix)
{
switch(buf[ix])
{
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;
default:   ++notVowel;   break;
}
}
}
      cout < < "\n\n "
      < < "words   read: " < <wdCnt < < "\n\n "
      < < "the/The: " < <theCnt < < '\n '
      < < "it/It: " < <itCnt < < "\n\n "
      < < "non-vowels   read: " < <notVowel < < "\n\n "
      < < "a:   " < <aCnt < < '\n '
      < < "e:   " < <eCnt < < '\n '
      < < "i:   " < <iCnt < < '\n '
      < < "o:   " < <oCnt < < '\n '
      < < "u:   " < <uCnt < <endl;
}


\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
cout < < "\n\n "
      < < "words   read: " < <wdCnt < < "\n\n "
      < < "the/The: " < <theCnt < < '\n '
      < < "it/It: " < <itCnt < < "\n\n "
      < < "non-vowels   read: " < <notVowel < < "\n\n "
      < < "a:   " < <aCnt < < '\n '
      < < "e:   " < <eCnt < < '\n '
      < < "i:   " < <iCnt < < '\n '
      < < "o:   " < <oCnt < < '\n '
      < < "u:   " < <uCnt < <endl;

为什么这一部分的都不输出啊,就输出输入的英文,后边的   什么个数了都不输出
这是怎么了

[解决办法]
ctrl + z 再回车
[解决办法]
你肯定需要告诉程序你的while循环什么时候结束呀!
[解决办法]
很显然,你按回车后
cin> > buf并没有返回false
这取决于cin的实现
记住怎么做就行了,没必要深究吧


[解决办法]
。。。。。。。。。。。。
可以查查ctrl+回车,呵呵,记得是换行的意思

热点排行