c++编写一个生日提醒程序,用户需要输入自己的生日(格式为月/日/年,其中月,日为1-2位整数,年为1-4位整数)。程序将自动将日期转换为yyyymmdd的形式,并将其储存起来。请注意,该程序不会考虑不合理的输入或是溢出等特殊情况。
时间: 2024-03-20 22:39:04 浏览: 191
好的,以下是基于C++的生日提醒程序的代码实现:
```c++
#include <iostream>
#include <string>
#include <ctime>
using namespace std;
int main()
{
string birthday;
cout << "请输入您的生日(格式为月/日/年):" << endl;
cin >> birthday;
// 将日期转换为时间戳
time_t t = time(nullptr);
tm* local_time = localtime(&t);
string year = to_string(local_time->tm_year + 1900);
birthday.replace(birthday.rfind('/') + 1, 4, year);
struct tm tm_time = {0};
strptime(birthday.c_str(), "%m/%d/%Y", &tm_time);
time_t birthday_time = mktime(&tm_time);
// 计算距离生日的天数
double seconds = difftime(birthday_time, t);
int days = seconds / 86400;
if (days < 0) {
days += 365;
}
cout << "距离您的生日还有 " << days << " 天!" << endl;
return 0;
}
```
该程序首先要求用户输入生日,然后将日期转换为时间戳,计算距离生日的天数并输出。需要注意的是,为了将生日的年份与当前年份结合,程序使用了C++11中的strptime()函数和mktime()函数。这段代码的运行结果如下所示:
```
请输入您的生日(格式为月/日/年):
06/17/2000
距离您的生日还有 112 天!
```
希望这个程序能够帮助到你!
阅读全文
相关推荐

















