我一直在为学校的一个项目工作几个小时,我无法弄清楚为什么这不起作用。它应该从给定的文本文件中收集城市和温度,并将其加载到结构数组中。还要构建的是能够对城市进行排序和搜索并将信息输出到屏幕。
我们给出的文件是高温和低温城市列表。它看起来像这样:
Katmandu, -34, 28
Perth, 92, 105
Chicago, 22, 45
我遇到的问题是关于程序的搜索功能。 这就是我到目前为止所做的:
void ShowCities(int count)
{
const int string_size = 255;
char searchstring[string_size];
char lowercase[string_size];
int numbermatch = 0;
cout << "Specify the city search string: ";
_flushall();
cin.getline(searchstring, string_size);
qsort(cities, count, sizeof(HiLoTemp), compareAscending);
_strlwr_s(searchstring);
for (int i = 0; i < count; ++i)
{
strcpy_s(lowercase, string_size, cities[i].city.c_str());
_strlwr(lowercase);
if (strstr(lowercase, searchstring) != 0)
{
PrintCityRecord(i);
numbermatch++;
}
}
cout << numbermatch << "record(s) found." << endl;
}
目标是能够在城市列表中搜索一个字母,并将最相关的城市名称(按字母出现在名称中的位置)输出到屏幕。