簡體   English   中英

如何將負數打印為0?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM