首页 > 解决方案 > 布尔值,如果为假则重复某些功能

问题描述

这是我的第一篇文章; 抱歉任何格式错误。为什么不使用第二个 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();
    }

标签: c++

解决方案


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函数并检查结果是否为假。

不相关:考虑将 替换为ifawhile以重复询问,直到用户提供有效响应。


推荐阅读