0

誰かがに変更するように助けてくれましたchar[]string、ユーザーが入力した文字列を比較するのにまだ問題があります。使用する必要があるのか​​、それとも他のものを使用するfstream必要があるのか​​わかりません。getlinegetline内にあるものに応じてエラーが表示されるため、実際には役に立ちませんでした。

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;    

countryこれにより、タイプという名前の新しい変数が宣言されますfstream。おそらくあなたが望むものではありません。

試してみてください:

getline(std::cin, country);

代わりは。そして、あなたは。と同じ問題を抱えていnameます。

また:

flag = true; 

break直接お電話ください。

と:

cin >> izbor;

おそらく次のようになります。cin >> choice;

于 2012-05-11T17:34:17.480 に答える