我需要搜索由指向名为 Person 的结构的指针的链接列表组成的数据库。在 Person 里面有一堆数据——名字、姓氏、社会保障等等。这些都是虚构的和无关紧要的。我的问题是我需要根据用户输入进行搜索,这决定了结构的哪个部分正在与搜索进行比较。由于所有数据都存储为 struct Person 的成员,我认为最好的方法(如不编写 8 个搜索函数)是通过映射,但我对映射的掌握非常差,几乎不存在. 以下是相关代码:
List * find(List * database, //mapping stuff, string name)
{
//run search
return database;
}
void search(List * database)
{
string field, searchtype, userinput;
cout << "To search for a person, enter information in this format: 'field equal
value' or 'field begins value'. Type 'clear' to
return to original database. Type 'exit' to leave the program\n";
while(field != "exit")
{
cin >> field >> searchtype >> userinput;
if(userinput == "firstname") //this is just for example, I would have to write one of these out for each parameter.
{
List * smallerdb = find(database, map(//mapping stuff?), string userinput);
}
}
}
这是给学校的,所以请不要建议我只使用另一个图书馆,因为我不能。谢谢!