我的程序已完成,我得到的唯一错误来自我的二进制搜索和线性搜索。它们是相同的错误,所以我只发布一个。
bool searchByDescriptionBinary(char desc[][DESC_SIZE],
const int NUM_ROWS,
char searchValue[DESC_SIZE],
int& foundPosition)
{
int first = 0,
last = NUM_ROWS - 1,
middle,
position = -1;
bool found = false;
while (!found && first <= last)
{
middle = (first + last) / 2;
if (desc[middle] == searchValue)
{
found = true;
position = middle;
}
else if (desc[middle] > searchValue)
last = middle - 1;
else
first = middle + 1;
}
return position;
}