c++输入出生年月日和一个日期,输出周岁。
时间: 2024-10-07 09:07:42 浏览: 34
C++判断日期有效性,并输出一天后的日期
在C++中,计算周岁通常涉及到当前日期与用户输入的出生日期之间的差值。你可以使用`<chrono>`库来处理日期时间。首先,你需要获取用户的输入,然后使用`std::chrono::system_clock`来获取当前日期,接着计算两个日期之间的差异。以下是一个简单的示例:
```cpp
#include <iostream>
#include <chrono>
// 定义结构体表示日期
struct Date {
int year, month, day;
};
// 函数获取当前日期
Date get_current_date() {
auto now = std::chrono::system_clock::now();
auto now_time = std::chrono::system_clock::to_time_t(now);
std::tm current_time = *std::localtime(&now_time);
return {current_time.tm_year + 1900, current_time.tm_mon + 1, current_time.tm_mday};
}
// 函数计算周岁
int calculate_age(Date birth_date) {
Date current_date = get_current_date();
// 检查月份和日子,因为某些情况下可能会跨年
if (birth_date.month > current_date.month || (birth_date.month == current_date.month && birth_date.day >= current_date.day)) {
return current_date.year - birth_date.year - 1;
} else {
return current_date.year - birth_date.year;
}
}
int main() {
Date birth_date;
std::cout << "请输入您的出生年月日(格式:YYYY MM DD): ";
std::cin >> birth_date.year >> birth_date.month >> birth_date.day;
int age = calculate_age(birth_date);
std::cout << "您今年是 " << age << " 周岁。" << std::endl;
return 0;
}
```
在这个例子中,用户需要按照指定格式输入出生日期,程序会计算并输出他们的周岁。
阅读全文