C++ 实现万年历(原创)
2020年08月31日 首次分享文档源代码。
2023年11月23日 对文档、代码进行了更新,希望可以帮助到你。
1. 实现功能
- 提供菜单方式选择,假定输入的年份在1940-2040年之间。
- 输入一个年份,输出是在屏幕上显示该年的日历。
- 输入年月,输出该月的日历。
- 输入年份、月份、日期,计算得到的是这一天距今天有多少天,星期几。
- 输入公历的年月日,输出农历年月日。
- 输入农历节气,输出当年农历的年月日及公历年月日。可以假定只涉及年份是1940年到2040年。
2. 总体设计
将文件三部分 Date.h、main.cpp、Date.cpp
- 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();
- main.cpp:包含调用与模拟交互界面的函数代码
- Date.cpp:代码实际实现
3. 使用教程
- 安装 codeblocks-20.03mingw-setup (mingw: 表示自带c/c++编译器)
- 使用 codeblocks 打开项目
点击
Open an existing project
选择源码目录下
calendar.cbp
打开如下图所示

点击按钮运行

4. 程序预览
4.1 欢迎页面

4.2 查询年日历表

4.3 查询月日历表

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

4.5 输入公历查询农历

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

5.源码下载
github:C++ 实现的日历 (github.com)
C++ 实现万年历(原创)的更多相关文章
- 【原创分享·支付宝支付】HBuilder打包APP调用支付宝客户端支付
前言 最近有点空余时间,所以,就研究了一下APP支付.前面很早就搞完APP的微信支付了,但是由于时间上和应用上的情况,支付宝一直没空去研究.然后等我空了的时候,发现支付宝居然升级了支付逻辑,虽然目前还 ...
- 【原创分享·微信支付】C# MVC 微信支付教程系列之现金红包
微信支付教程系列之现金红包 最近最弄这个微信支付的功能,然后扫码.公众号支付,这些都做了,闲着无聊,就看了看微信支付的其他功能,发现还有一个叫“现金红包”的玩意,想 ...
- 【原创分享·微信支付】 C# MVC 微信支付教程系列之扫码支付
微信支付教程系列之扫码支付 今天,我们来一起探讨一下这个微信扫码支付.何为扫码支付呢?这里面,扫的码就是二维码了,就是我们经常扫一扫的那种二维码图片,例如,我们自己添 ...
- 【原创分享·微信支付】 C# MVC 微信支付教程系列之公众号支付
微信支付教程系列之公众号支付 今天,我们接着讲微信支付的系列教程,前面,我们讲了这个微信红包和扫码支付.现在,我们讲讲这个公众号支付.公众号支付的应用环境常见的用户通过公众号,然后再通 ...
- 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送
微信支付之微信模板消息推送 今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...
- [原创]java使用JDBC向MySQL数据库批次插入10W条数据测试效率
使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(100000),如何提高效率呢?在JDBC编程接口中Statement 有两个方法特别值得注意:通过使用addBatch( ...
- GJM : C#设计模式汇总整理——导航 【原创】
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- 信息安全-5:RSA算法详解(已编程实现)[原创]
转发注明出处:http://www.cnblogs.com/0zcl/p/6120389.html 背景介绍 1976年以前,所有的加密方法都是同一种模式: (1)甲方选择某一种加密规则,对信息进行加 ...
- Atitit.你这些项目不都是模板吗?不是原创 集成和整合的方式大总结
Atitit.你这些项目不都是模板吗?不是原创 集成和整合的方式大总结 1.1. 乔布斯的名言:创新即整合(Creativity is just connecting things).1 1.2. ...
- 【原创】记一次Project插件开发
一.开发背景 最近在使用微软的Office Project 2010 进行项目管理,看到排的满满的计划任务,一个个地被执行完毕,还是很有成就感的.其实,不光是在工作中可以使用Project进行项目进度 ...
随机推荐
- Redis 入门 - 五大基础类型及其指令学习
经过前面Redis入门系列三篇文章学习,相信大家已经准备好学习新知识了,到这里也算是真正开始学习Redis了.学习了软件安装,客户端选择,那么接下来也应该来了解Redis有什么,能干什么. 我们在第一 ...
- Azure 入门系列 (外传 小知识)
数据中心地理结构 Azure 数据中心有很多,这我们知道, 但是我们还需要知道它的结构, 不然在做 Backup, Recovery Disaster 的时候会卡卡. 参考: Region, Avai ...
- AI老照片修复神器,Anole下载介绍
最近AI老照片修复上色,再一次火出圈,一些社交平台关于此话题内容流量满满,尤其是在小红书和抖音火的不得了,本期文章就来给大家分享下AI修复老照片的方式方法 本文主要介绍使用Anole修复老照片的方法, ...
- 全面掌握 Jest:从零开始的测试指南(下篇)
在上一篇测试指南中,我们介绍了Jest 的背景.如何初始化项目.常用的匹配器语法以及钩子函数的使用.这一篇篇将继续深入探讨 Jest 的高级特性,包括 Mock 函数.异步请求的处理.Mock 请求的 ...
- Nuxt Kit API :路径解析工具
title: Nuxt Kit API :路径解析工具 date: 2024/9/22 updated: 2024/9/22 author: cmdragon excerpt: 摘要:本文介绍了Nux ...
- keycloak~关于授权码认证中的scope的实践
前言 在 Keycloak 14.0.0 中,使用 protocol/openid-connect/auth 接口获取授权码时,scope 参数是可选的,但它确实有作用.下面是关于 scope 参数的 ...
- Qt构建cmake工程方法总结
由于工作需要,最近打算统一将所有C/C++项目都改成使用cmake编译.传统后台业务问题不大,但是有些牵涉到跨平台的Qt项目还是折腾了一阵.下面对这段时间的收获做一个总结,也希望帮助看到本文的朋友少走 ...
- Android系统之System Server大纲
前言 System Server是android 基本服务的提供者,是android系统运行的最基本需求,所有server运行在一个叫system_process的进程中,system_process ...
- 分类问题的评价指标AUC
- C# Webapi 简单的依赖注入-构造函数
控制器部分: using Microsoft.AspNetCore.Mvc; using WebApplication1.IServices; using WebApplication1.Utilit ...