簡體   English   中英

if條件需要邏輯幫助

[英]Logical help needed for if condition

我有3個變量持有值星期幾(星期枚舉),小時(0到23)和分鍾(0到23),這3個變量只能容納一個共同值N / A,其他值不同。 如果所有都是N / A或某些有效值,那么我必須執行特定的邏輯A.如果有人是NA而其他人是有效的那么我必須執行一些其他邏輯B

我使用if語句嘗試了很多,但沒有能夠提出正確的解決方案。 有人可以給我一個暗示嗎?

所有值都是整數

bool weeklyCount = (dayofweek == weeklyHour) && (weeklyHour == weeklyMinute);

這不適合我。

在偽代碼中:

if (dow == NA && hour == NA && minute == NA ||
    dow != NA && hour != NA && minute != NA) {
   // logic A
} else {
   // logic B
}
struct yourtime
{
    enum Day
    {
        INVALID = -1,
        SUNDAY,
        MONDAY,
        TUESDAY,
        WEDNESDAY,
        THURSDAY,
        FRIDAY,
        SATURDAY
    };
    Day day;
    int hour;
    int minute;
    yourtime() : day(INVALID), hour(INVALID), minute(INVALID) { }
    bool isValid()
    {
        return (day != INVALID) && (hour != INVALID) && (minute != INVALID);
    }
};

int main()
{
    yourtime test;
    std::cout << test.isValid() << std::endl;
}

利用枚舉與整數相同的事實。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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