当前位置: 首页 > news >正文

2021-11-15 C++下一个生日天数

缘由c++今日日期到生日天数-编程语言-CSDN问答

int isLeap(int year)//判断闰年
{//缘由https://ask.csdn.net/questions/7567048?spm=1005.2025.3001.5141return ((!(year % 4) && year % 100) || !(year % 400));
}
int daysInMonth(int year, int month)//返回月天数
{if (month == 2){ if (isLeap(year)) return 29; else return 28; }else if ((month <= 7 && month % 2) || (month > 7 && !(month % 2)))return 31; else return 30;
}
int isLeglal(int date[])//判断合法
{return (daysInMonth(date[0], date[1]) >= date[2]);
}
void dateInput(int date[])//输入合法日期
{do{cout << (date[0] ? "重新" : "") << "输入:年 月 日:" << endl;cin >> date[0] >> date[1] >> date[2];} while (isLeglal(date) == 0);
}
void 下一个生日天数()
{int datea[3]{0}, dates[3]{0}, ta = 0, y = 1, n = 0;dateInput(datea); dateInput(dates);while (datea[0] < dates[0])dateInput(datea);//2021 11 15 2021 2 1 15+31+31+2=79while(!n)if (datea[0] >= dates[0] && datea[1] >= dates[1] && datea[2] >= dates[2]){ta = daysInMonth(datea[0], datea[1]) - datea[2];y = datea[1] + 1;while (!n || y != dates[1])ta += daysInMonth(datea[0] + n, y), (++y > 12 ? y = 1, ++n : 0);ta += dates[2];}elsedateInput(datea);cout << "还有" << ta << "天" << endl;
}

相关文章:

  • UnityDots学习(五)
  • 【大模型】LLM概念相关问题(上)
  • C语言编程--19.括号生成
  • 【数据机构】2. 线性表之“顺序表”
  • 行业 |四大痛点待破:“拆解”DeepSeek一体机
  • 布隆过滤器:高效的数据结构与应用详解
  • Node.js 24.0 正式发布:性能跃升与开发体验全面升级
  • 【AI论文】ZeroSearch:在不搜索的情况下激励LLM的搜索能力
  • 基于CNN的猫狗图像分类系统
  • MQTT:轻量级物联网通信协议详解
  • 在ISOLAR A/B 工具使用UDS 0x14服务清除单个DTC故障的配置
  • 大模型提示词策略
  • 电子电路:白炽灯发光能说明电子正在消散消失吗?
  • Open CASCADE学习|实现裁剪操作
  • Kotlin中Lambda表达式和匿名函数的区别
  • ISP流程介绍(Rgb格式阶段)
  • 【数据结构】线性表--链表(二)
  • 【软件测试】软件缺陷(Bug)的详细描述
  • Oracle 执行计划中的 ACCESS 和 FILTER 详解
  • 【软件设计师:体系结构】15.计算机体系结构概论
  • 2025年上海市模范集体、劳动模范和先进工作者名单揭晓
  • 遇冰雹天气,西安机场新航站楼成“水帘洞”
  • 经济日报整版聚焦“妈妈岗”:就业路越走越宽,有温度重实效
  • 中信银行:拟出资100亿元全资设立信银金融资产投资有限公司
  • 中国海警依法驱离日非法进入我钓鱼岛领海船只
  • 98岁动物学家、北京大学教授杨安峰逝世