c++生日提醒倒计时程序
时间: 2023-08-18 16:10:46 浏览: 170
下面是一个简单的 C++ 生日提醒倒计时程序,可以实现在每天开机时自动提醒距离生日还有多少天:
```c++
#include <iostream>
#include <ctime>
#include <windows.h>
using namespace std;
int main()
{
// 生日日期(示例)
tm birthday = {0, 0, 0, 21, 5, 2000 - 1900};
// 获取当前时间戳
time_t now = time(nullptr);
// 将生日日期转换为时间戳
time_t birthday_time = mktime(&birthday);
// 计算时间差
double diff = difftime(birthday_time, now);
// 转换为天、小时、分钟、秒
int days = diff / (24 * 60 * 60);
int hours = (diff - days * 24 * 60 * 60) / (60 * 60);
int minutes = (diff - days * 24 * 60 * 60 - hours * 60 * 60) / 60;
int seconds = diff - days * 24 * 60 * 60 - hours * 60 * 60 - minutes * 60;
// 输出倒计时
cout << "距离生日还有:" << days << "天" << hours << "小时" << minutes << "分钟" << seconds << "秒" << endl;
// 提醒
if (days == 0 && hours == 0 && minutes == 0 && seconds == 0) {
MessageBox(NULL, TEXT("今天是你的生日!"), TEXT("生日提醒"), MB_OK);
} else if (days <= 7) {
string message = "距离你的生日只有 " + to_string(days) + " 天了!";
MessageBox(NULL, message.c_str(), TEXT("生日提醒"), MB_OK);
}
return 0;
}
```
该程序使用了 Windows 的 MessageBox 函数进行消息提醒,当距离生日不足 7 天时,程序会自动在开机后弹出提醒窗口。可以将程序设置为 Windows 开机自启动,实现每天自动提醒。
阅读全文