1

ポイントまたはその他の整数で検索するように変更すると機能しますが、名前と国で検索するようにする必要があります。関数は、既にデータが含まれている配列をチェックしています。

void search (competitor competitors[], int number)  
{
if(number==0)
{
    cout<<"\n Array is empty!!!\n";
    return;
}

char country[50];
char name[50];
char choice;
bool flag;

do{
    cout << "\n\n Enter country: " << endl;
    cin >> country;
    cout << " Enter name: " << endl;
    cin >> name;

    flag = false;

    for(int i=0; i<number; i++)
    {
        if( country==competitors[i].country && name==competitors[i].name)
        {
            count << " Competitor found!" << endl;
        }
    }
    if (flag == false)

    cout << " Want to search again(Y/N)?: ";
    cin >> choice;

}while(choice == 'Y' || choice == 'y');

}

4

1 に答える 1

2

私はそれcompetitors[i].country (name)がであると仮定していchar[]ます。

char[]を使用して配列を比較することはできません==(コンテンツではなく配列のベースアドレスを比較します)strcmp()。または、これはC ++であるため、std::stringの代わりにchar[]を使用してを使用します==

于 2012-05-11T13:11:27.810 に答える