简体   繁体   English

编译 C++ Blackjack 程序时出错(缺少元素)

[英]Error Compiling C++ Blackjack Program (Missing Elements)

I'm doing a school project that creates a blackjack game, but unfortunately, I'm stumped at a few errors I must have made earlier on.我正在做一个创建 21 点游戏的学校项目,但不幸的是,我被一些我之前一定犯过的错误难住了。 The errors appear on lines 165 and 173. It states that I'm missing several elements that I cannot piece together.错误出现在第 165 行和第 173 行。它指出我遗漏了几个我无法拼凑起来的元素。 Could someone help inform me of what's wrong with this program that won't compile?有人可以告诉我这个无法编译的程序有什么问题吗?

#include <iostream>

#include <string>

#include <ctime>

#include <limits>

using namespace std;

int getCard()

{

return rand() % 10 + 1;

}

char readChar()

{

char c;

cin >> c;

cin.clear();

cin.ignore(numeric_limits<streamsize>::max(), '\n');

return c;

}

int main()

{

//set srand to seed system clock

//to generate random number

srand((int)time(0));

char yesno = 'y';

do

{

int dealer = getCard();

int first = getCard(), second = getCard();

int total = first + second;

if (yesno == 'y' || yesno == 'Y')

{

cout << "The dealer starts with a " << dealer << endl;

cout << "Your first cards: " << first << ", " << second << endl;

cout << "Total: " << total << endl;

do

{

cout << "hit? (y/n): ";

yesno = readChar();

if (yesno == 'y' || yesno == 'Y')

{

int newCard = getCard();

total += newCard;

cout << "Card: " << newCard << endl;

cout << "Total: " << total << endl;

if (total > 21)

{

cout << "Bust" << endl;

yesno = 'n';

break;

}

else if(total == 21)

{

cout << "Blackjack" << endl;

}

else if (yesno == 'n' || yesno == 'N')

{

//Dealer must take more cards if less than 17

while (dealer < 17)

{

cout << "Dealer has a " << dealer << "..." << endl;

char c;

do {

cout << "(c to continue) ";

c = readChar();

} while (c != 'c' && c != 'C');

int newDealerCard = getCard();

cout << "Dealer gets a " << newDealerCard << endl;

dealer += newDealerCard;

cout << "Total: " << dealer << endl;

}

//determine winner

if (dealer == 21 && dealer != total)

cout << "Lose" << endl;

else if (dealer == total)

cout << "Push" << endl;

else if (dealer > 21 && total > dealer && total < 21)

cout << "Win" << endl;

else if (dealer > total && dealer <= 21)

cout << "Lose" << endl;

break;

}

} while (yesno != 'n' && yesno != 'N');

}
cout << "Would you like to play again? (y/n) : ";

yesno = readChar();

} while (yesno != 'n' && yesno != 'N');

return 0;
}

Since I was a bit lost at the end, I wasn't sure where to add my missing elements.由于最后我有点迷茫,我不确定在哪里添加我缺少的元素。

There are at least two do {...} while (...) loops in there that do not have while clauses.那里至少有两个没有while子句的do {...} while (...)循环。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM