-1

我正在写一个二十一点程序。我创建了包含两个字符串和一个整数的类卡。“dealer”是“card”类的向量,“dtotal”和“deckplace”都是整数。'display()' 是一个打印卡片、花色和总数的函数。错误发生在“else if (total>16)”上方的行中。

void dealerTurn()
{
    if (dtotal<17)
    {
        do while (dtotal<17)
        {
            dealer.pop_back(deck[deckplace]);
            deckplace = deckplace+1;

            for (y=0;y<dealer.size();y++)
            {
                if (dealer[y].name=="A" && dtotal>21)
                {
                    dealer[y].value = 1;
                    dtotal = 0;
                    for (z=0;z<dealer.size();z++)
                        dtotal = dtotal + dealer[z].value;
                }
            }

            display();

            if (dtotal>21)
            {
                cout << endl << "-----DEALER BUSTED!-----" << endl << endl;
                dtotal = 0;
            }
        }
    }
    else if (total>16)
    {
        display();
    }
    result();
}
4

1 回答 1

12

没有这样的事情do while。它是while (__condition__) { __statements__ }do { __statements__ } while (__condition__);

于 2013-01-15T01:35:16.333 回答