我有3个变量持有值星期几(星期枚举),小时(0到23)和分钟(0到23),这3个变量只能容纳一个共同值N / A,其他值不同。 如果所有都是N / A或某些有效值,那么我必须执行特定的逻辑A.如果有人是NA而其他人都有效,那么我必须执行其他逻辑B
我使用if
语句尝试了很多,却无法提出正确的解决方案。有人可以给我一个暗示吗?
所有值均为整数
bool weeklyCount = (dayofweek == weeklyHour) && (weeklyHour == weeklyMinute);
这对我不起作用。
答案 0 :(得分:2)
在伪代码中:
if (dow == NA && hour == NA && minute == NA ||
dow != NA && hour != NA && minute != NA) {
// logic A
} else {
// logic B
}
答案 1 :(得分:0)
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;
}
利用枚举与整数相同的事实。