所以我的問題是,我試圖讓我在hand1 [o]之後得到的數組(從第一個數組卡[]中隨機取出5個數字]到開關中以檢測它是否齊平。例如,如果手1的開關[1] - 手1 [0] = 1;手1 [2] - 手[1] = 1 ...等等 printf(「從1到5的齊平」)如何在C++中使用帶開關的數組?
然而,tbh ,我甚至不知道要在switch()或void corrida()的圓括號內放置什麼。 我試過放置hand1 []或hand1 [],但它表示hand1不是一個常量值。
PS我知道有些東西是西班牙語(因爲這是西班牙語課)
void baraja();
void jugadores();
void jugadores(k);
int cards[52] = { 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13 };
int hand1[5];
int x, y;
int l, k, z;
int main()
{
srand(time(0));
baraja();
jugadores();
}
void baraja()
{
for (l = 1; l <= 52; l++)
{
x = rand() % 52;
y = rand() % 52;
int temp = cards[x];
cards[x] = cards[y];
cards[y] = temp;
}
printf("La baraja revuelta es:\n");
for (k = 0; k <= 51; k++)
{
printf("%d ", cards[k]);
}
printf("\n\n");
}
void jugadores(k)
{
int o, n = 5;
printf("Tus cartas son:\n");
for (o = 0; o <= 4; o++)
{
k = rand() % 52;
printf("%d ", cards[k]);
hand1[o] = cards[k];
}
printf("\n\n");
for (o = 0; o < n ; o++)
{
for (z = 1; z < (n - o); z++)
if (hand1[z - 1] > hand1[z])
{
int temp = hand1[z - 1];
hand1[z - 1] = hand1[z];
hand1[z] = temp;
}
}
printf("Tus cartas en orden incremental son:\n");
for (o = 0; o <= 4; o++)
{
printf("%d ", hand1[o]);
}
printf("\n\n");
}
void corrida()
{
switch (hand1)
{
case (hand1[1] - hand1[0] = 1) :
}
}
我不相信'switch'在這裏是正確的選擇。 – crashmstr 2014-10-30 17:59:42
你知道有什麼功能可以幫助我嗎?問題在於開始編程的基礎知識,所以我只學習瞭如果和切換爲「條件」/ – Seung 2014-10-30 18:00:59
'case'標籤需要具有常數值'case(hand1 [1] - hand1 [0] = 1):'doesn沒有固定的價值。除此之外'switch(hand1)'沒有意義,'hand1'的值永遠不會改變。 – 2014-10-30 18:02:11