さて、これが私が達成しようとしていることです。
まず、以下の表は私が作成したもののほんの一例です。私の課題では、これらのいずれも知らないと思います。つまり、それらが何を渡すのか、各文字列の長さはわかりません。
私は1つのタスクを達成しようとしていますが、文字列の一部を比較できるようにすることです
//In Array `phrase` // in array `word`
"Backdoor", 0 "mark" 3 (matches "Market")
"DVD", 1 "of" 2 (matches "Get off")
"Get off", 2 "" -1 (no match)
"Market", 3 "VD" 1 (matches "DVD")
上記のコードからわかるように、左側からは、クラスに格納する配列のセットであり、最大10語です。
これがクラスの定義です。
class data
{
char phrase[10][40];
public:
int match(const char word[ ]);
};
そのため、メンバー関数を使用してこのプライベートデータにアクセスしています。
int data::match(const char word[ ])
{
int n,
const int wordLength = strlen(word);
for (n=0 ; n <= 10; n++)
{
if (strncmp (phrase[n],word,wordLength) == 0)
{
return n;
}
}
return -1;
}
私がそれを機能させようとしている上記のコードは、それが一致する必要があり、一致がn
見つからない場合はインデックスを返すことによって一致が見つかった場合は常に戻る必要があるということ-1
です。
今起こっていることは常にreturn10
です。