我正在写一个二十一点程序。我创建了包含两个字符串和一个整数的类卡。“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();
}