मैं एक प्रमुख के भीतर एक नाम खोजने की कोशिश कर रहा हूँ। मैं यह ठीक यह पुनर्प्राप्त कर रहा है लगता है। हालांकि, उसके आने के रूप में नहीं मिला। शायद मेरी कोड कहीं गलत क्या है?
if (database.retrieve(name, aData)) // both contain the match
में main()
static void retrieveItem(char *name, data& aData)
{
cout << >>> retrieve << name << endl << endl;
if (database.retrieve(name, aData)) // name and aData both contain the match
cout << aData << endl;
else
cout << not found\n;
cout << endl;
}
static void removeItem(char *name)
{
cout << >>> remove << name << endl << endl;
if (database.remove(name))
cout << name << removed\n;
else
cout << name << not found\n;
cout << endl;
}
int main()
{
#ifdef _WIN32
// request memory leak report in Output Window after main returns
_CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF );
#endif
data aData;
<< Database Of Great Computer Scientists\n\n;
database.insert(data(Ralston, Anthony));
database.insert(data(Liang, Li));
database.insert(data(Jones, Doug));
database.insert(data(Goble, Colin));
database.insert(data(Knuth, Donald));
database.insert(data(Kay, Alan));
database.insert(data(Von Neumann, John));
database.insert(data(Trigoboff, Michael));
database.insert(data(Turing, Alan));
displayDatabase(true);
retrieveItem(Trigoboff, Michael, aData);
retrieveItem(Kaye, Danny, aData);
removeItem(Ralston, Anthony);
displayDatabase(true);
समारोह को पुनः प्राप्त ...
bool BST::retrieve(const char *key, data &aData, int parent) const
{
for(int index=0; index < maxsize+1; index++)
{
if (!items[index].empty)
{
if ( items[index].instanceData == key )
{
aData.setName(key);
return true; // doesn't return right away
}
}
}
}
और data.cpp में परिभाषित किया गया
bool operator== (const data& d1, const data& d2)
{
return strcmp(d1.getName(), d2.getName()) == 0;
}
इसलिए मुख्य अंदर कोड के इस बिट () है, जहां यह नहीं मिला कहते हैं जब मुझे लगता है कि यह सही ढंग से काम किया जाना चाहिए। दोनों नाम और AData सही नाम है कि पाया गया था शामिल ..
static void retrieveItem(char *name, data& aData)
{
cout << >>> retrieve << name << endl << endl;
if (database.retrieve(name, aData)) // name and aData both contain the match
cout << aData << endl;
else
cout << not found\n;
cout << endl;
}













