3

ユーザー入力ID(int)があり、Structの一部である連絡先IDがあります。連絡先IDもintです。

それらが同じであるかどうかを比較する必要があります。同じである場合は、それが存在することがわかります。

これは私が見つけた最も近いものですが、機能していません: http ://www.cplusplus.com/reference/string/string/compare/

そのページを読んで、私は次のようなことをしました:

if(user_input_id.compare(p->id)==0) 
{
}

式にはクラス型が必要であるというエラーメッセージが表示されます。

C ++で2つの整数を比較するにはどうすればよいですか?

4

4 に答える 4

6

あなたが見つけた関数は、2つstd::stringのを比較するためのものです。あなたはsを持っていませんstd::string、あなたはintsを持っています。int2つが等しいかどうかをテストするには、次の==ように使用します。

if (user_input_id == p->id) {
  // ...
}

実際、2つ持っていたとしても、おそらくそこでもstd::string使用したいと思うでしょう==

于 2013-02-17T18:21:46.100 に答える
0

どういう意味かわかりませんが、私見

int k;
std::cin>>k;
if (k==p->id) 
    do_sth();
else
    do_sth_else();

重要なのは、入力を文字列としてではなく、intとして格納することです。

于 2013-02-17T18:21:15.340 に答える
0
    //simple program to compare
    #include<iostream>
    using namespace std;
    typedef struct node {
        int a;
    }node;
    int main() {
        node p;
        p.a = 5;
        int a;
        cin >> a;
        if( p.a == a )
            cout << "Equal" << endl;
        else 
            cout << "Not Equal"<< endl;
        return 0;
    }
于 2013-02-17T18:28:44.807 に答える
0

構造体の名前がpで、helloという整数が含まれている場合は、次の操作を実行できます。

int input;
cin << input;
if(input == p.hello){
    cout << "the input is equal to p.hello" << endl;
}
else{
    cout << "the input is not equal to p.hello" << endl;
}
于 2014-02-09T17:55:57.707 に答える