有人帮助我,我应该将char[]
更改为string
,但我仍然无法比较用户估算的字符串。我不确定是否必须使用fstream
或其他内容。 getline
并没有真正帮助我,因为它根据getline中的内容显示错误。
void search (competitor competitors[], int broi)
{
string country;
string name;
char choice;
bool flag;
do{
cout << "\n\n Input Country: " << endl;
fstream country;
cout << " Input name: " << endl;
fstream name;
flag = false;
for(int i=0; i<count; i++)
{
if( country==competitors[i].country && name==competitors[i].name)
{
cout << "found one" << endl;
flag = true;
}
}
if (flag == false)
cout << " New search (Y/N)?: ";
cin >> izbor;
}while(choice == 'Y' || choice == 'y');
}
答案 0 :(得分:4)
fstream country;
这声明了一个名为country
的{{1}}类型的新变量。可能不是你想要的。
你应该尝试:
fstream
代替。您对getline(std::cin, country);
也有同样的问题。
此外:
name
更好地直接致电flag = true;
。
和
break
应该是:cin >> izbor;