getline() 関数を使用して文の特殊文字と句読点を取得しているため、文に含まれる単語を表示すると、az (または AZ) 以外の文字は表示されません。問題は長くなってしまうことで、あまり効率的ではないと思います。効率の良い方法があれば教えていただきたいです。私は Dev-C++ を使用しています。以下のコードは C++ です。ご協力いただきありがとうございます。
#include <string>
#include <iostream>
#include <ctype.h>
#include <sstream>
using namespace std;
int main()
{
int i=0;
char y;
string prose, word, word1, word2;
cout << "Enter a sentence: ";
getline(cin, prose);
string mot;
stringstream ss(prose);
y=prose[i++];
if (y=' ') // if character space is encoutered...
cout<<endl << "list of words in the prose " << endl;
cout << "---------------------------"<<endl;
while(getline(ss, word, y)) //remove the space...
{
stringstream ss1(word);
while(getline(ss1, word1, ',')) //remove the comma...
{
stringstream ss2(word1); //remove the period
while(getline(ss2, word2, '.'))
cout<< word2 <<endl; //and display just the word without space, comma or period.
}
}
cout<<'\n';
system ("Pause");
return 0;
}
#############################出力
文を入力してください: 何? 私が「ニコール、私のスリッパを持ってきて、ナイトキャップをくれ」と言うとき、それは散文ですか?
散文中の単語のリスト
何?私が「ニコールが私のスリッパを持ってきて、ナイトキャップをくれ」と言ったとき、それは散文ですか?
何かキーを押すと続行します 。. .