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