这是我的第一篇文章;抱歉,出现任何格式错误。为什么第二个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/