这是我的第一篇文章;抱歉,出现任何格式错误。为什么第二个get_wager_amount()不被使用(程序终止),我该如何解决呢?或者任何使代码更好的东西将不胜感激。代码如下:

int get_bank_balance(){
    cout << "Enter an initial bank balance (dollars): " << endl;
    cin >> balance;
    return balance;
    }

int get_wager_amount(){
    cout << "\nEnter a wager (dollars)" << endl;
    cin >> wager;
}
bool is_valid_wager_amount(){
    if(wager <= balance){
        return true;
    }
    if(wager > balance){
        cout << "Error: wager > balance. Try again" << endl;
        return false;
    }

}


int main()
{

    get_bank_balance();
    get_wager_amount();
    is_valid_wager_amount();
    if (is_valid_wager_amount == false){
        get_wager_amount();
        is_valid_wager_amount();
    }

最佳答案

is_valid_wager_amount();
if (is_valid_wager_amount == false)


正在调用is_valid_wager_amount,丢弃结果,然后测试is_valid_wager_amount函数的地址以查看其是否为假。这不是特别有用。最新的编译器应拒绝此代码。

而是给

if (is_valid_wager_amount() == false){


尝试一下。这将调用is_valid_wager_amount函数,并检查结果是否为假。

无关:考虑用if代替while反复询问,直到用户提供有效的答复为止。

关于c++ - bool 值,如果为false,则重复某些功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55084759/

10-11 00:51