2016-10-19 19 views
-2

私は先生から仕事を得ました。私はいくつかのコードを試していますが、それは私をたくさん混乱させます。 C++で文字列を見つける

#include <iostream> 
using namespace std; 

char inputChecker [1000]; 
string source = "10110111000111001101110"; 
string detected; 

int main(){ 
    cout <<"Input:"; 
    cin >> inputChecker; 
    for (int i=0;i<source.size();i++){ 
     if (source[i]==inputChecker[0]){ 
      cout <<"Data " <<inputChecker <<"is exist" <<endl; 
     } 
     else if (source[i]==inputChecker[i]){ 
      cout <<"Data " <<inputChecker <<" isn't exist'" <<endl; 
     } 
    } 
} 

だから、私の期待が出力され、私は、入力10、それは「データ10が存在している」となりますとき:だからここに私のコードです。ルーピングなし。私はループの2種類が必要だと思うが、私はどこにループするのか知りません。

私の期待出力:事前に

Input : 10 
Data 10 is exist 

Input : 25 
Data 25 isn't exist 

感謝:))forループ

+0

'find'を' std :: strin gは? – NathanOliver

+0

変数をグローバルにする理由はありません。 – Slava

+0

- 名前空間stdを使用することは一般的に[悪いと思う](http://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice) – UKMonkey

答えて

1

不要

#include <iostream> 
using namespace std; 

int main() { 
    string source = "10110111000111001101110"; 
    string input; 
    cin >> input; 
    if (source.find(input) != string::npos) 
     cout << input << " exists\n"; 
    else 
     cout << input <<" doesn't exist\n"; 
} 

find_first_offind_last_of、などのような他の有用なstd::string方法を見てください。

+0

.findがC++に存在することはまったく分かりませんでした。 (とにかく、私は多くの先生に役立ちます。ありがとう! –

関連する問題