2017-08-19 11 views
-2

文章や段落の単語をデータベースと同じように比較するプログラムを作成する必要があります。私の問題は、文字列として訂正したい文字列をコンソールに入力してから、C++の文字列のベクトルに格納された単語で分割しなければならないということです。私は千の方法を試みたが、私はそれをやり遂げることができない。ここで は私が最後の試したコードです:プログラムが何もしなかったかのように文字列を入力して単語で分割する

std::cout << "Enter the text: "; 
std::string sentence; 
std::vector<std::string> vText; 
while (getline(std::cin, sentence)){ 
    std::stringstream w(sentence); 
    std::string word; 
    while(w >> word) 
     vText.push_back(word); 
} 

を、私はこのコードを実行すると、私は、何も得ませんでした。私を助けてくれますか?

#include <iostream> 
#include <string> 
#include <sstream> 
#include <vector> 
int main(){ 
    std::cout << "Introduzca una frase: "; 
    std::string frase; 
    std::vector<std::string> vTextoAnalizar; 
    while (getline(std::cin, frase)){ 
     std::stringstream w(frase); 
     std::string palabra; 
     while(w >> palabra) 
      vTextoAnalizar.push_back(palabra); 
    } 
    for (int i=0;i<vTextoAnalizar.size();i++){ 
     std::cout << vTextoAnalizar[i] << std::endl; 
    } 
    return 0; 
} 
+3

"このコードを実行します"、hm、どのように実行しますか?それが何を返すかをどうやって確認しますか?私たちは、最小限でコンパイル可能な実例を与えて、何が起きているのかを確認する必要があります。 –

+0

私は完全なものを書いています。しかし、コンソールはまだ何もしていません。 – Fer

+1

[複製できません](http://ideone.com/18OoC8) – PaulMcKenzie

答えて

0

は、まず、交換をスタックする歓迎:

これは、最終的なもの(作品)があります。 ask a good questionに合理的な努力をしていないため、あなたの質問は投票されていません。

How to create a Minimal, Complete, and Verifiable exampleに特に注意してください。

#include <iostream> 
#include <string> 
#include <sstream> 
#include <vector> 

std::vector<std::string> read_text() { 

    std::cout << "Enter the text: "; 
    std::string sentence; 
    std::string word; 
    std::vector<std::string> vText; 
    while(getline(std::cin, sentence)){ 

     std::stringstream ss(sentence); 
     while (getline(ss, word, ' ')) { 
      if (word.compare("quit") == 0) 
       return vText; 

      vText.push_back(word); 
     } 
    } 
} 

int main() { 

    std::vector<std::string> test_vector = read_text(); 

    std::cout << "Vector : " << std::endl; 
    for (int i=0;i<test_vector.size();i++){ 
      std::cout << test_vector[i] << std::endl; 
    } 
} 

これは、スペースで分割し、それぞれの文の終わりにベクトルにあなたの言葉を追加します。

は、私が何をやろうとしているが、このようなものだと思います。私はより知的な解析方法があると思いますが、これはあなたのテストコードを働かせるべきです。

希望に役立ちます。

関連する問題