c++输入生日,输出距离下一次生日的倒计时的代码
时间: 2024-03-24 12:40:52 浏览: 93
好的,以下是实现功能的C++代码:
```c++
#include <iostream>
#include <ctime>
using namespace std;
int main() {
int year, month, day;
cout << "请输入您的生日(格式:年 月 日):" << endl;
cin >> year >> month >> day;
// 获取当前系统时间
time_t t = time(nullptr);
tm* now = localtime(&t);
int current_year = now->tm_year + 1900; // tm_year 返回的年份是从1900年开始的
// 计算下一个生日的时间
tm next_birthday = *now;
next_birthday.tm_year = current_year - 1900;
next_birthday.tm_mon = month - 1;
next_birthday.tm_mday = day;
if (mktime(&next_birthday) < t) {
next_birthday.tm_year += 1;
}
mktime(&next_birthday);
// 计算时间差并输出
double diff = difftime(mktime(&next_birthday), t);
int remaining_days = int(diff / (24 * 60 * 60));
cout << "距离下一个生日还有 " << remaining_days << " 天" << endl;
return 0;
}
```
这段代码首先要求用户输入生日,然后获取当前系统时间,计算下一个生日的时间,最后计算时间差并输出距离下一个生日还有多少天。需要注意的是,这个代码假设用户的生日已经过去了,所以计算下一个生日的时候需要判断当前日期是否在生日之前。
阅读全文