2011-10-26 12 views
0

私はプロンプトで入力する配列の文字列を検索できるようにするコードを書こうとしています。プログラムは、使用量にある量またはデータを入力するように求め、使用を求めて検索を実行します。私は入力のための困難な時間の検索を持っています。私は整数でこれを行うことができますが、今すぐ文字列を助けてください。どうやってこれをやりますか?文字列のインデックス検索を実行しようとしています

#include <iostream> 

using namespace std; 

void contactArray(string a[], int size); 

string search(const string a[], int size, string find); 

int main() 
{ 
    cout << "This program searches a list .\n"; 
    const int arraySize = 3; 
    string a[arraySize]; 

    contactArray(a, arraySize); 

    string find; 
    cout << "Enter a value to search for: "; 
    cin >> find; 
    string lookup = search(a, arraySize, find); 
    if (lookup == " ") 
     cout << find << " is not in the array.\n"; 
    else 
     cout << find << " is element " << lookup << " in the array.\n"; 
    return 0; 
} 

void contactArray(string a[], int size) 
{ 
    cout << "Enter " << size << " list.\n"; 
    for (int index = 0; index < size; index++) 
     cin >> a[index]; 
} 

int search(const string a[], int size, string find) 
{ 
    string index = ""; 
    while ((a[index[3]] != find) && (index < size)) 
     cout<<"try again"<<endl; 
    if (index == find)   
     index = ""; 
    return index; 
    cout<<"hgi"; 
} 
+0

この宿題はありますか?もしそうなら、 'homework'タグを追加してください –

答えて

1

これは整数で行うことができますか?整数でそれを行い、文字列でその関数を呼び出し、cannot convert string to intコンパイラエラーが発生した場合は、intstringに変更してください。それはほぼ同じでなければなりません。代わりに

int search(const string a[], int size, string find) 
{ 
    string index = ""; 
    while ((a[index[3]] != find) && (index < size)) 
     cout<<"try again"<<endl; 
    if (index == find)   
     index = ""; 
    return index; 
    cout<<"hgi"; 
} 

0

forループを使用して配列を反復処理し、値が配列内にあるかどうかを確認します。おそらく、このcstdlibを実行するためのC++関数があります.Netにはこれが組み込まれています。

1

は、関数が-1を返した場合、文字列が見つかりませんでした

int search(string a[], int size, string find) 
{ 
     int index = -1; 
     for(int i=0;i<size;i++) 
     { 
     if(a[i] == find) 
     { 
      index = i; 
      break; 
     } 
     } 
     return index; 
} 

のようなものを試してみてください。他の戻り値は、配列内で 'find'文字列が配置されている場所です。

関連する問題