首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >跳过C++ If/C++语句

跳过C++ If/C++语句
EN

Stack Overflow用户
提问于 2018-10-21 16:37:34
回答 2查看 349关注 0票数 0

我正在写一个掷骰子计划作为学校作业。在这段代码中,无论骰子是什么,程序跳过所有的"if“块,并继续通过这个片段中的最后一行。随机数生成器只被设置为生成数字1-12,因此每个返回都在该范围内。

代码语言:javascript
运行
复制
int diceRoll = ThrowDice();

if (diceRoll == '7' || diceRoll == '11')
{
    cout << "\nCongratulations! You won!!";
    didWin = true;
    UpdateBalance(didWin, bet);
}
else if (diceRoll == '2' || diceRoll == '3' || diceRoll == '12')
{
    cout << "\nYou lose!";
    didWin = false;
    UpdateBalance(didWin, bet);
}
else if (diceRoll == '1' || diceRoll == '4' || diceRoll == '5' || diceRoll == '6' || diceRoll == '8' || diceRoll == '9' || diceRoll == '10')
{
    int diceRollPoint = PlayPointRound(diceRoll);
    if (diceRollPoint == '7')
    {
        cout << "\n\nSorry, you lose!";
        didWin = false;
        UpdateBalance(didWin, bet);
    }
    else if (diceRollPoint == diceRoll)
    {
        cout << "\n\nYou won!!!";
        didWin = true;
        UpdateBalance(didWin, bet);
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-21 16:40:59

编写'7'意味着与编写7不同。

前者是一个charcter文字,它被理解为与该字符对应的整数代码,另一个仅仅是整数7。

票数 1
EN

Stack Overflow用户

发布于 2018-10-21 16:40:01

您的骰子卷表示为int,但您正在将它们与char文本进行比较。您应该通过删除引号来使用int文本。例如:

代码语言:javascript
运行
复制
int diceRoll = ThrowDice();
if (diceRoll == 7 || diceRoll == 11) {
    // Here ----^----------------^
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52917553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档