繁体   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