C++新人求助!!

#include<iostream>#include<string.h>usingnamespacestd;classcounter{char*str;intwords;... #include<iostream>
#include<string.h>
using namespace std;
class counter{
char* str;
int words;
public:
counter(){
words=0;
str=new char[100];
memset(str,0,100);
}
~counter(){
delete str;
}
void countWord(){

char *p=str;
for(;p!='\0';p++){
if(*p==' ') {
words++;}
}
}

void set(){
cin.getline(str,100);
}
void show(){
cout<<"Words="<<words<<endl;
}

};
int main(){
counter One;
One.set();
One.countWord();
One.show();

return 0;

}

输入一句话,判断有几个单词。想通过空格的个数来判断,最后能编译,但程序已停止工作。
已经发现了。
展开
 我来答
z2000j10n15
2018-03-11 · TA获得超过189个赞
知道小有建树答主
回答量:152
采纳率:94%
帮助的人:73.8万
展开全部
#include<iostream>
#include<string.h>
using namespace std;
class counter {
    char* str;
    int words;
  public:
    counter() {
      words=0;
      str=new char[100];
      memset(str,0,100);
    }
    ~counter() {
      delete str;
    }
    void countWord() {

      char *p=str;
      for(; *p; p++) {
        if(*p==' ') {
          words++;
        }
      }
    }

    void set() {
      cin.getline(str,100);
    }
    void show() {
      cout<<"Words="<<words+1<<endl;
    }

};
int main() {
  counter One;
  One.set();
  One.countWord();
  One.show();
  return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式