[英]How to print a negative number as 0?
對於上課我已經制作了一個基於回合制的格斗游戲,通過以下方式跟蹤用戶的健康狀況: Player.HP = 100;
(在結構內)
它印有cout << "Health: " << Player.HP << endl;
一旦健康或計算機對手的健康等於或小於0,就會退出do while循環
} while ((Player.HP >= 0) && (com.HP >= 0));
例如,如果健康狀況等於-14,是否有辦法以比使用if語句更清晰的方式將其打印為0?
如果符合以下條件,您可以使用內聯編寫if語句:
cout << "Health: " << (Player.HP >= 0 ? Player.HP : 0) << endl;
如果它大於或等於零,則打印Player.HP
,否則打印為零。
一種方法是std::max
...
std::cout << "Health: " << std::max(Player.HP, 0) << '\n';
使用getter函數提取您的行為:
class Player {
int HP;
public:
int getHP() const { return HP > 0 ? HP : 0; }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.