我试着编写一个代码,该代码应该允许我搜索我在提示时输入的数组字符串。程序要求用户输入一定数量或数据,然后要求用户执行搜索。我很难搜索输入。我可以用整数做这个,但现在请求帮助。你会怎么做呢。
#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 :(得分:1)
你可以用整数做到吗?使用整数执行此操作,使用字符串调用该函数,以及在出现cannot convert string to int
编译器错误的任何位置时,将单词int
更改为string
。它应该几乎完全相同。
答案 1 :(得分:1)
而不是
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";
}
尝试类似
的内容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;
}
如果函数返回-1,则找不到该字符串。任何其他返回是数组中'find'字符串所在的位置。
答案 2 :(得分:0)
使用for循环迭代数组并检查值是否在数组中。可能有一个C ++函数来执行此cstdlib,我知道.Net内置了这个。