文字列を引数として取り、その文字列に英数字以外の文字が 1 つしか含まれていないかどうかをチェックする関数を作成しようとしています。その場合は true を返し、そうでない場合は false を返します。
例えば:
'Alex's' would return true.
James..Warner would return false.
私の現在のコードは以下のとおりですが、機能しているとは思いません。私は他の場所にカウントを持っているので、基本的にtrueをカウントします。文字列を含むマップを使用して実行します。そして、カウントに対して取得している値は、入力されている単語に対して高すぎます。
bool Class3::filter(string word)
{
string s = word;
int len = s.size();
for (int i=0; i<len; i++)
{ if(!isalnum(s[i])){
return true;}
else{return false;}
}
}