空白を数えて文字列変数の単語を数える必要があります。また、私はドットを数えることによって文章を数える必要があります。私は()でメンバー関数を使用して文字を取得し、それを比較しますが、何らかの理由でXcodeコンパイラがそれを許可しません。使用(文字列リテラルとの比較の結果が指定されていない) 1:だからコンパイラが見ているエラーがある文字列変数の空白を数える方法
#include "SpeechAnalyst.h"
#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;
namespace marina
{
void SpeechAnalyst::clear()
{
myData.clear();
}
void SpeechAnalyst::addStringData(std::string stuff)
{
myData += stuff;
}
void SpeechAnalyst::addData(char * stuff)
{
string line;
line=stuff;
myData += line;
}
int SpeechAnalyst::getNumberOfWords() const
{
int i,words=0,sentence=0;
for (i=0; i<myData.length(); ++i)
{
if (myData.at(i) == " ")
words++;
}
return words;
}
}
:
#ifndef SPEECHANALYST_H
#define SPEECHANALYST_H
#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;
namespace marina
{
class SpeechAnalyst : public string
{
public:
SpeechAnalyst() : std::string()
{};
void clear(); // resets everything...
void addData(char * stuff);
void addStringData(std::string stuff);
int getNumberOfWords() const;
int getNumberOfSentences() const;
friend ostream& operator << (ostream& outs, const SpeechAnalyst & sa); // prints the data seen so far!
private:
std::string myData;
};
}
#endif /* SpeechAnalyst_h */
そして、これが私の実装ファイルである:ここ は私のヘッダファイルでありますstrncmpは代わりに) 2)ポインタと整数( 'INT' と 'CONSTのchar *')
エラーの両方がラインであるとの比較 "であれば(myData.at(I)==" ")"
2つ以上のスペース文字が隣にある場合はどうなりますか?スペースを数えることは、単語の数を数えにくい方法です。なぜ言葉の数を数えてみませんか? – PaulMcKenzie
これは割り当てであり、私の教授はスペースとドットを明示的に使用するように要求しています@PaulMcKenzie – Marina
それは本当に私の質問に答えません。単語間にスペースが2つ以上ある場合はどうなりますか?データが 'Joe [sp] [sp] [sp] Smith'の場合はどうなりますか?何語ありますか? 3? – PaulMcKenzie