用c++怎么判断男生是否达到法定年龄
时间: 2024-10-19 14:15:26 浏览: 17
在C++中,判断男性是否达到法定年龄通常涉及到获取当前日期并检查其与个体出生日期之间的差值。这里是一个简单的示例,假设法定成年年龄是18岁:
```cpp
#include <iostream>
#include <chrono> // 需要包含时间库
// 假设我们有一个包含出生日期的结构体或类
struct Person {
int birth_year;
// 其他成员变量...
};
bool is_of_age(Person& person) {
// 获取当前年份
std::time_t now = std::time(nullptr);
auto local_time = std::localtime(&now); // 获取本地时间
int current_year = local_time->tm_year + 1900; // 时间戳从1970年开始,减去60年得到实际年份
// 计算年龄
int age = current_year - person.birth_year;
return (age >= 18); // 判断年龄是否大于等于法定成年年龄
}
int main() {
Person adult_info{1995, ...}; // 假设这个人出生于1995年
if (is_of_age(adult_info)) {
std::cout << "他已经达到了法定年龄。\n";
} else {
std::cout << "他还未达到法定年龄。\n";
}
return 0;
}
```
在这个例子中,`is_of_age`函数接收一个人的信息,并通过计算当前年份与出生年份之差来确定年龄。如果年龄大于或等于18,就返回`true`,否则返回`false`。
阅读全文