2011-01-17 6 views
0

私はサイト上の答えをいくつか追ってきましたが、私はまだ問題があります:プログラムを実行するときに私のベクトルのベクトルを生成した後、カード番号は完全にオフです 最初のカード: 100 2枚目のカード:22 第三:0 第四:0 第五:28 などBlackJackカードのベクトルC++ /乱数ベクトル

これは私のコードです:

enum numar {AS=11 ,DOI=2, TREI=3, PATRU=4, CINCI=5, SASE=6, SAPTE=7, OPT=8, 
NOUA=9, ZECE=10, VALET=10, DAMA=10, REGE=10, 
PrimulNumar=AS, UltimulNumar=REGE}; 
enum culoare {INIMA, CAROU, NEGRU, TREFLA, PrimaCuloare=INIMA, 
UltimaCuloare=TREFLA}; 



int k=0; 
     for (int r = PrimulNumar; r <= UltimulNumar; ++r) { 
       for (int s = PrimaCuloare; s <= UltimaCuloare; s++) { 
         pc[k]= new Carte((numar)r, (culoare)s, false); 
         k++; 

私は何をすべき?

+0

コードはルーマニア語ですが、私はあなたが理解すると思います。 –

+0

まず、同じ値を持つ列挙型の2つのアイテムを作成するのが合理的かどうかはわかりません。あなたは何をしようとしているのか説明していただけますか? – Elalfer

+1

@Elalfer: 'enum numar'にはカードランクが含まれています。エース= 11,2 = 2など10 ==ジャック==クイーン==キング== 10. –

答えて

5

だから... ...値を列挙型を置き換える:

int k = 0; 
for (int r = 11; r <= 10; ++r) 
    for (int s = 0; s <= 3; ++s 
    { 
    } 

は、問題を参照してください?

+0

ええ、私は問題を見る。とにかく私はそれをどうしたらいいですか?私はここからイデアを取った:http://stackoverflow.com/questions/2941890/c-enum-in-foreach –

+0

彼らは列挙型の値を設定していないことに注意してください。それは結果を完全に変える重要な詳細です。理由を知ることに問題がある場合は、C++でenumを確認してください:http://enel.ucalgary.ca/People/Norman/enel315_winter1997/enum_types/ –

+0

しかし、私は10人のジャッククイーンと同じ値を与える方法を理解していません。王様...だから私は価値を与えようとしたのです。 –