2020年08月31日 首次分享文档源代码。

2023年11月23日 对文档、代码进行了更新,希望可以帮助到你。

1. 实现功能

  1. 提供菜单方式选择,假定输入的年份在1940-2040年之间。
  2. 输入一个年份,输出是在屏幕上显示该年的日历。
  3. 输入年月,输出该月的日历。
  4. 输入年份、月份、日期,计算得到的是这一天距今天有多少天,星期几。
  5. 输入公历的年月日,输出农历年月日。
  6. 输入农历节气,输出当年农历的年月日及公历年月日。可以假定只涉及年份是1940年到2040年。

2. 总体设计

将文件三部分 Date.h、main.cpp、Date.cpp

  1. Date.h:包括函数的声明
    /**
    * 输入年份、月份、日期,计算得到的是这一天据今天有多少天?星期几?
    */
    void print_number_of_date_to_now(int year,int month,int day); /**
    * 输入年月,输出该月的日历。
    */
    void print_monthly_calendar(int year,int month); /**
    * 输入输入一个年份,输出是在屏幕上显示该年的日历。*/
    void print_annual_calendar(int year); /**
    * 输入公历,显示农历。
    */
    void gregorian_to_lunar (int year,int month,int day); /**
    * 输入年份,二十四气节
    */ void get_date_by_solar_term(int year,char* str);
    /**
    * 欢迎界面
    */
    void print();
  2. main.cpp:包含调用与模拟交互界面的函数代码
  3. Date.cpp:代码实际实现

3. 使用教程

  1. 安装 codeblocks-20.03mingw-setup (mingw: 表示自带c/c++编译器)
  2. 使用 codeblocks 打开项目
    1. 点击 Open an existing project

    2. 选择源码目录下 calendar.cbp

    3. 打开如下图所示

    4. 点击按钮运行

4. 程序预览

4.1 欢迎页面

4.2 查询年日历表

4.3 查询月日历表

4.4 查询距今多少天?星期几?

4.5 输入公历查询农历

4.6 输入节气查询对应公历、农历

5.源码下载

github:C++ 实现的日历 (github.com)

C++ 实现万年历(原创)的更多相关文章

  1. 【原创分享·支付宝支付】HBuilder打包APP调用支付宝客户端支付

    前言 最近有点空余时间,所以,就研究了一下APP支付.前面很早就搞完APP的微信支付了,但是由于时间上和应用上的情况,支付宝一直没空去研究.然后等我空了的时候,发现支付宝居然升级了支付逻辑,虽然目前还 ...

  2. 【原创分享·微信支付】C# MVC 微信支付教程系列之现金红包

            微信支付教程系列之现金红包           最近最弄这个微信支付的功能,然后扫码.公众号支付,这些都做了,闲着无聊,就看了看微信支付的其他功能,发现还有一个叫“现金红包”的玩意,想 ...

  3. 【原创分享·微信支付】 C# MVC 微信支付教程系列之扫码支付

    微信支付教程系列之扫码支付                  今天,我们来一起探讨一下这个微信扫码支付.何为扫码支付呢?这里面,扫的码就是二维码了,就是我们经常扫一扫的那种二维码图片,例如,我们自己添 ...

  4. 【原创分享·微信支付】 C# MVC 微信支付教程系列之公众号支付

    微信支付教程系列之公众号支付         今天,我们接着讲微信支付的系列教程,前面,我们讲了这个微信红包和扫码支付.现在,我们讲讲这个公众号支付.公众号支付的应用环境常见的用户通过公众号,然后再通 ...

  5. 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送

    微信支付之微信模板消息推送                    今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...

  6. [原创]java使用JDBC向MySQL数据库批次插入10W条数据测试效率

    使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(100000),如何提高效率呢?在JDBC编程接口中Statement 有两个方法特别值得注意:通过使用addBatch( ...

  7. GJM : C#设计模式汇总整理——导航 【原创】

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

  8. 信息安全-5:RSA算法详解(已编程实现)[原创]

    转发注明出处:http://www.cnblogs.com/0zcl/p/6120389.html 背景介绍 1976年以前,所有的加密方法都是同一种模式: (1)甲方选择某一种加密规则,对信息进行加 ...

  9. Atitit.你这些项目不都是模板吗?不是原创  集成和整合的方式大总结

    Atitit.你这些项目不都是模板吗?不是原创  集成和整合的方式大总结 1.1. 乔布斯的名言:创新即整合(Creativity is just connecting things).1 1.2. ...

  10. 【原创】记一次Project插件开发

    一.开发背景 最近在使用微软的Office Project 2010 进行项目管理,看到排的满满的计划任务,一个个地被执行完毕,还是很有成就感的.其实,不光是在工作中可以使用Project进行项目进度 ...

随机推荐

  1. Goby漏洞发布 | 0day NACOS /nacos/v1/cs/ops/data/removal RCE代码执行漏洞【已验证】

    漏洞名称:NACOS /nacos/v1/cs/ops/data/removal RCE代码执行漏洞 English Name:NACOS /nacos/v1/cs/ops/data/removal ...

  2. CSS – Grid

    前言 有一种布局方式叫 Layout Grid 网格布局. 在 Figma – Layout Grid 有介绍过. 在 RWD 概念篇 也有讲到过 要实现这种布局, 可以用 Flex 也可以用 Gri ...

  3. 2019牛客暑期多校训练营(第四场)J-free(分层图最短路)

    >传送门< 题意:给你n个城市,m条道路,经过每一条要花费这条路的代价,现给你k个机会,使得最多k条路的代价为0,问从起点s到终点t花费的最少代价 思路:分层图最短路经典裸题 方法一 Co ...

  4. SQL注入演示

    SQL注入演示 创建一个简易的登录系统/** tb_user  用户表 * 用户登录系统(需在数据库中创建tb_user表 ) */ @Test public void testUserLogin() ...

  5. 线段树与离散化技巧 Mayor's posters——poj 2528

    问题描述: 有一堵海报墙,从左到右一共有10000000个小块,墙上贴了许多海报,每张海报的高度与墙的高度相同,宽度不同,新帖的海报会将原有的海报覆盖,问当所有人把海报贴完是,墙上可以看到几张海报 输 ...

  6. Dos常用命令 - Dir

    Dos命令,用于扫描当前目录创建目录清单 dir /s /b /ad >> "目录清单.txt" 解释: 将 dir /s /b /ad 生成的目录 追加写入目录清单. ...

  7. spring 拦截器实现token校验登录

    pom文件 <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</art ...

  8. php7新内容总结(随时更新)

    一.参数和返回值类型申明 可以申明的有:float,int,bool,string,interfaces,array,callable 一般模式: function sum(int ...$ints) ...

  9. Android Systrace 基础知识 -- 分析 Systrace 预备知识

    1. 正文 1.1 线程状态查看 Systrace 会用不同的颜色来标识不同的线程状态, 在每个方法上面都会有对应的线程状态来标识目前线程所处的状态,通过查看线程状态我们可以知道目前的瓶颈是什么, 是 ...

  10. 一篇文章彻底讲懂malloc的实现(ptmalloc)

    一.前言 C语言提供了动态内存管理功能, 在C语言中, 程序员可以使用 malloc() 和 free() 函数显式的分配和释放内存. 关于 malloc() 和free() 函数, C语言标准只是规 ...