2012-03-04 6 views
-4

配列関数に問題があります。 - 私のMacを拳の行に置き、approvedと言っていますが、2行目の場合はrejectedです。私の本当の1つはB6です。あなたは(飛び出しあなたの関数から戻るので/ダウン対処C++配列 - 最初の行のみを使用

#define CLIENTSNUMBER 2

BOOL Checking2(LPCSTR MacID);

CPP>

char ClientMacs[CLIENTSNUMBER*1][18] = { 
    "5A-77-77-97-87-B7", 
    "5A-77-77-97-87-B6" 
    }; 

BOOL Checking2(LPCSTR MacID) 
{ 
    for(int x=0;x<CLIENTSNUMBER;x++) 
    { 
     if(!strcmp(MacID,ClientMacs[x])) 
      { 
      MessageBoxA(NULL,MacID,"APPROVED!",MB_OK); 
      return false; 
     } else { 
      MessageBoxA(NULL,MacID,"REJECTED!",MB_OK); 
      return false; 
     } 
    } 
    return false; 
} 
+0

あなたの質問の本文を削除しましたか? –

+0

私はコードの本体を復元するために編集をロールバックしました。 @Valtentin、あなたは質問に答えた後でコードを削除すべきではありません。スタックオーバーフローのポイントは、質問と回答のリポジトリを構築することです。質問を削除すると、答えが役に立たなくなります。 – SCFrench

答えて

1

> hederファイルの設定で../

本物ではありませんあなたのループの)何かが一致するかと一致しません。実際には決してループしません。

編集それは遅い朝だから:

あなたは配列全体を通過し、それが拒否されています宣言する前に試合のためのすべての要素を見てする必要があります。また

BOOL Checking2(LPCSTR MacID) 
{ 
    for(int x=0;x<CLIENTSNUMBER;x++) 
    { 
     if(strcmp(MacID,ClientMacs[x]) == 0) 
     { 
      MessageBoxA(NULL,MacID,"APPROVED!",MB_OK); 
      return false; 
     } 
    } 

    MessageBoxA(NULL,MacID,"REJECTED!",MB_OK); 
    return false; 
} 

、あなたが本当にやり両方の場合でfalseを返すことを意味しますか?私はあなたがそれを返す一致を見つけると仮定しますtrue

+0

コードの修正方法を教えていただけますか? – Valter

+0

@Valtentin - 編集を参照してください。 –

+0

確かに、承認された後は真実でなければなりません.. tnx、now works。 – Valter

関連する問題