2 つの質問があります。アルファベット以外のすべての文字を抽出して表示し、それらを削除するプログラムを作成する必要があります。
シンボルで機能する isalpha を使用していますが、入力文字列に「hello world」のようなスペースがない場合のみです
ただし、「hello! world!」のように複数の単語の場合、最初の感嘆符のみが抽出され、2 番目の感嘆符は抽出されません。
関連する可能性のある2番目の質問です。プログラムに単語間のスペースを検出させたいです(isspaceを試しましたが、間違って使用したに違いありませんか?それらを削除してchar変数に入れます
たとえば、入力が hello4 world! の場合です。3 今日はどうですか? 教えてほしい
削除: 4 削除: 削除: ! 削除: 削除: 3 削除: 削除: 削除:
要するに、他に方法がない場合は、スペースを !isalpha として検出するか、テキスト間のスペースとして isalpha に似たものを見つけたいと思います。
ありがとう
# include <iostream>
# include <string>
using namespace std;
void main()
{
string message;
cin >> message;
for (int i = 0; message[i]; i++)
if(!isalpha(message[i]))
cout << "deleted following character: " << message[i] <<endl;
else
cout <<"All is good! \n";
}