我用C ++创建了一个多维数组,但是当我搜索它时它没有返回任何内容。只是想知道我是否在代码中搞砸了什么?完全披露:这本来是一个课堂作业,但我在2周前就转了。我要求澄清未来的计划。
我把主体(减去一些列表,因为它是1000个条目)放在
之下#include <cstdlib>
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
std::string name;
std::string age;
//declare 1000*2 Array
std::string array[1000][2] =
{
{ "Karen Rose","25" },
{ "Cora Faison","11" },
{ "Donna Jones","49" },
{ "Robert Lowe","31" },
{ "Patricia Johnston","17" },
{ "Maryanne Hicks","40" },
{ "James Mcmurray","53" },
};
cout << "Enter a name to search for " << endl;
cin >> name;
for(int i = 0; i > 1000; i++)
{
if(name == array[i][0])
{
age = array[i][1];
cout << name << "'s age is" << age << endl;
}
else
{
cout << "we found nothing" << endl;
}
}
return 0;
}
答案 0 :(得分:2)
除了让你的循环测试向后,使用cin >> name
只能获得名字。你先测试和最后测试。因此,你的测试永远不会成功。
使用std::getline
。
进行一些调试工作会发现两个错误。
答案 1 :(得分:1)
for(int i = 0; i > 1000; i++)
应为for(int i = 0; i < 1000; i++)
。您编写它的方式将永远不会执行for
循环。
答案 2 :(得分:0)
我&gt; 1000使你的循环空。 &LT;是你想要的ooerator。
但无论如何为什么1000而不是7?