У меня есть массив, который отслеживает результаты поиска трех параллельных массивов.Параллельными массивами являются имена, идентификаторы и балансы.Имя связано с идентификатором и балансом, потому что все они имеют одинаковый индекс.Пользователь ищет имена, и программа должна выводить результаты поиска в текстовый файл с именем, идентификатором и балансом.Поэтому сейчас, каждый раз, когда поиск успешен (имя находится в массиве), я добавляю индекс этого имени в массив с именем resultsAr, например:
while(searchTerm != "done")
{
searchResult = SearchArray(searchTerm, AR_SIZE, namesAr);
if(searchResult == -1)
{
cout << searchTerm << " was not found.\n";
}
else
{
cout << "Found.\n";
resultsAr[index] = searchResult;
index++;
}
cout << "\nWho do you want to search for (enter done to exit)? ";
getline (cin,searchTerm);
} // End while loop
Я не могу понять,как вывести это, хотя он выводит только имена, которые были найдены.Прямо сейчас я просто делаю это:
outFile << fixed << setprecision(2) << left;
outFile << setw (12) << "Id#" << setw(22) << "Name" << "Balance Due"
<< endl << endl;
for(index = 0; index < sizes; index++)
{
outFile << left << setw (10) << idsAr[index] << setw(22) << namesAr[index]
<< setw(3) << "$";
outFile << right << setw(10) << balancesAr[index] << endl;
}
Но, очевидно, это просто выводит весь массив.Я попробовал несколько вещей, но я не могу понять, что я буду делать, поэтому он будет выводить только те, которые были в результатах.
Спасибо, и это домашнее задание, поэтому точных ответов нетбыло бы просто ужасно.
РЕДАКТИРОВАТЬ: проблема с капитализацией на самом деле не проблема, я просто случайно сделал это, когда я размещал здесь, я думаю, извините за этоЧасть resultsAr работает, потому что после поиска содержимое массива является индексами имен, которые я искал.Функция SearchArray () выглядит следующим образом:
int SearchArray(string searchTerm,
int size,
string namesAr[])
{
// Variables
int index;
bool found;
// Initialize
index = 0;
found = false;
while(index < size && !found)
{
if(namesAr[index] == searchTerm)
{
found = true;
}
else
{
index++;
}
}
if(found)
{
return index;
}
else
{
return -1;
}
}