c++bool函数 判断用户是否过生日
时间: 2023-08-15 12:07:10 浏览: 86
可以使用以下代码实现一个判断用户是否过生日的bool函数:
```c++
#include <ctime>
struct UserInfo {
int year;
int month;
int day;
};
bool isBirthday(UserInfo user) {
time_t t = time(NULL); // 获取当前时间
tm* timePtr = localtime(&t); // 将时间转换为tm结构体
int currentYear = timePtr->tm_year + 1900; // 获取当前年份
int currentMonth = timePtr->tm_mon + 1; // 获取当前月份
int currentDay = timePtr->tm_mday; // 获取当前日期
if (currentMonth < user.month) { // 如果当前月份小于用户生日月份,则未过生日
return false;
}
else if (currentMonth > user.month) { // 如果当前月份大于用户生日月份,则已过生日
return true;
}
else { // 如果当前月份等于用户生日月份
if (currentDay < user.day) { // 如果当前日期小于用户生日日期,则未过生日
return false;
}
else if (currentDay > user.day) { // 如果当前日期大于用户生日日期,则已过生日
return true;
}
else { // 如果当前日期等于用户生日日期,则已过生日
return true;
}
}
}
```
在这个函数中,我们首先获取当前的时间,并将其转换为tm结构体。然后,我们比较当前的年份、月份和日期与用户的生日,判断用户是否已经过生日。如果当前月份小于用户生日月份,则未过生日;如果当前月份大于用户生日月份,则已过生日;如果当前月份等于用户生日月份,但当前日期小于用户生日日期,则未过生日;如果当前月份等于用户生日月份,且当前日期大于等于用户生日日期,则已过生日。最后,我们返回一个bool值来表示用户是否已经过生日。
阅读全文