0

有人帮助我,我应该将其更改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');

}

4

1 回答 1

4
fstream country;    

这声明了一个名为countrytype的新变量fstream。可能不是你想要的。

你应该试试:

getline(std::cin, country);

反而。你也有同样的问题name

还:

flag = true; 

最好break直接打电话。

和:

cin >> izbor;

应该是:cin >> choice;

于 2012-05-11T17:34:17.480 回答