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);
}
}
}
これは学校用なので、別のライブラリを使用することはできません。ありがとうございました!