布尔值,如果错误,请重复某些功能

Boolean, repeat certain functions if false

本文关键字:功能 如果 错误 布尔值      更新时间:2023-10-16

这是我的第一篇文章;对不起,任何格式错误。为什么第二个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函数的地址以查看是否为false。这不是特别有用。最新的编译器应拒绝此代码。

而不是给予

if (is_valid_wager_amount() == false){

尝试。这调用is_valid_wager_amount函数并检查结果是否为fals。

无关:考虑用while替换if以重复询问,直到用户提供有效的响应为止。

  1. 不要忘记包括图书馆。
  2. 不要忘记在将变量用作输入/输出之前启动变量。
  3. 其操作的某些功能需要值,因此使用全局变量/U可以在功能括号上调用它们。
  4. int函数返回int值,因此如果您以后需要使用它们,请将它们保存到变量。

    #include <iostream> //1
    using namespace std;
    int get_bank_balance()
    {
        int balance; //2
        cout << "Enter an initial bank balance (dollars): " << endl;
        cin >> balance;
        return balance;
    }
    int get_wager_amount()
    {
        int wager; //2
        cout << "nEnter a wager (dollars)" << endl;
        cin >> wager;
        return wager;
    }
    bool is_valid_wager_amount(int balance,int wager)//3
    { 
        if(wager <= balance)
        {return true;}
        else
        {
            cout << "Error: wager > balance. Try again" << endl;
            return false;
        }
    }
    int main()
    {
        int balance = get_bank_balance(); //4
        int wager = get_wager_amount(); //4
        if (is_valid_wager_amount(balance, wager)){
            //another function here, for example:
            cout<<"Your balance: "<<balance-wager<<endl;
        }
    }