编程代码 | C++/C输出阳历万年历—精美日历制作
前言:本文章向大家介绍如何用C语言代码实现万年历使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
void输出万年历(int年, int月, int日)
{
intr = 1, z = r, nn = 年, yy = 月;
nn = 年; yy = 月;
while(nn)if(--yy)z += 返回月的天数(nn, yy); else--nn, yy = 13;
nn = 返回月的天数(年, 月); yy = 1;
cout << 年 << "年"<< 月 << "月"<< 日 << "日今天星期 "<< (z + 日 - 1) % 7 << "\n星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六\n.\t";
while(r <= nn)
if(yy >= (z %= 7))
cout << (r > 9 ? "": "0") << r++ << ((++yy % 7) ? "\t": "\t\n");
else
cout << (r > 1 && r <= 9 ? "0": "") << (r > 1 ? to_string(r++) : ".") << ((++yy % 7) ? "\t": "\t\n");
cout << endl;
}
#include <atltime.h>
CTime time(CTime::GetCurrentTime);
SYSTEMTIME timeDest;
time.GetAsSystemTime(timeDest);
输出万年历(timeDest.wYear, timeDest.wMonth, timeDest.wDay);
void输出万年历(int年, int月, int日)
{
intr = 1, z = r, nn = 年, yy = 月; string aa = { "日", "一", "二", "三", "四", "五", "六"};
nn = 年; yy = 月;
while(nn)if(--yy)z += 返回月的天数(nn, yy); else--nn, yy = 13;
nn = 返回月的天数(年, 月); yy = 1;
cout << 年 << "年"<< 月 << "月"<< 日 << "日今天星期"<< aa[(z + 日 - 1) % 7] << "\n日\t一\t二\t三\t四\t五\t六\n.\t";
while(r <= nn)
if(yy >= (z %= 7))
cout << (r > 9 ? "": "0") << r++ << ((++yy % 7) ? "\t": "\t\n");
else
cout << (r > 1 && r <= 9 ? "0": "") << (r > 1 ? to_string(r++) : ".") << ((++yy % 7) ? "\t": "\t\n");
cout << endl;
}
staticint返回月的天数(intN, intY)
{//缘由https://bbs.csdn.net/topics/395074486
return(Y == 2 ? (((((N % 4) == 0 && (N % 100) > 0) || (N % 400) == 0) ? true: false) ? 29 : 28)
: (((Y <= 7 && (Y % 2) > 0) || (Y > 7 && (Y % 2) == 0)) ? 31 : 30));
}
staticvoid输出万年历(int年, int月, int日)
{
intr = 1, z = r, nn = 年, yy = 月; string aa = { "日", "一", "二", "三", "四", "五", "六"};
nn = 年; yy = 月;
while(nn > 0) if(--yy > 0) z += 返回月的天数(nn, yy); else{ --nn; yy = 13; }
nn = 返回月的天数(年, 月); yy = 1; z %= 7;
Console.Write("{0}年{1}月{2}日今天星期{3}\n日\t一\t二\t三\t四\t五\t六\n::\t", 年, 月, 日, "日一二三四五六"[(z + 日 - 1) % 7]);
while(r <= nn)
if(yy >= z)
Console.Write("{0}{1}{2}", (r > 9 ? "": "0"), (r++).ToString, ((++yy % 7) > 0 ? "\t": "\t\n"));
else
Console.Write("{0}{1}{2}", (r > 1 && r <= 9 ? "0": ""), (r > 1 ? (r++).ToString : "::"), ((++yy % 7) > 0 ? "\t": "\t\n"));
}
输出万年历(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); Console.WriteLine;
void输出万年历(int年, int月, int日)
{
intr = 1, z = r, nn = 年, yy = 月; string s = "日一二三四五六";
while(nn)if(--yy)z += 返回月的天数(nn, yy); else--nn, yy = 13;
nn = 返回月的天数(年, 月); yy = (z + 日 - 1) % 7 * 2;
cout << 年 << "年"<< 月 << "月"<< 日 << "日"<< ends << "星期"; cout.put(s[yy]).put(s[yy + 1]) << endl;
cout << "日"<< ends << "一"<< ends << "二"<< ends << "三"<< ends << "四"<< ends << "五"<< ends << "六";
yy = 0;
while(r <= nn)
if(yy >= (z %= 7))
if(!(yy++ % 7))cout << endl << (r > 9 ? "": "0") << r++ << ends; elsecout << (r > 9 ? "": "0") << r++ << ends;
else
if(!(yy++ % 7))cout << endl << "::"<< ends; elsecout << (r > 1 && r <= 9 ? "0": "") << (r > 1 ? to_string(r++) : "::") << ends;
cout << endl;
}
void输出万年历(int年, int月, int日)
{
intr = 1, z = r, nn = 年, yy = 月;
string 星期 = { "日", "一", "二", "三", "四", "五", "六"};
while(nn)if(--yy)z += 返回月的天数(nn, yy); else--nn, yy = 13;
nn = 返回月的天数(年, 月); yy = 0;
cout << 年 << "年"<< (月 > 9 ? "": "0") << 月 << "月"<< (日 > 9 ? "": "0") << 日 << "日星期"<< 星期[(z + 日 - 1) % 7] << endl;
while(yy < 7)cout << 星期[yy++] << ends; yy = 0;
while(r <= nn)
if(yy >= (z %= 7))
if(!(yy++ % 7))cout << endl << (r > 9 ? "": "0") << r++ << ends; elsecout << (r > 9 ? "": "0") << r++ << ends;
else
if(!(yy++ % 7))cout << endl << "::"<< ends; elsecout << (r > 1 && r <= 9 ? "0": "") << (r > 1 ? to_string(r++) : "::") << ends;
cout << endl;
usingSystem.Globalization;//农历
staticstring 月历加载
{
System.Globalization.ChineseLunisolarCalendar 微软农历 = newSystem.Globalization.ChineseLunisolarCalendar;
int天 = 微软农历.GetDayOfMonth(newDateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day)),
月 = 微软农历.GetMonth(newDateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day)),
年 = 微软农历.GetSexagenaryYear(DateTime.Now);
return"月历:"+ " 甲乙丙丁戊己庚辛壬癸"[微软农历.GetCelestialStem(年)]
+ " 鼠牛虎兔龙蛇马羊猴鸡狗猪"[微软农历.GetTerrestrialBranch(年)] + "年"
+ " 正二三四五六七八九十冬腊"[月] + (天 > 10 ? "月": "月初") + (" 十廿仨"[天 / 10]).ToString.Replace(" ", "") + " 一二三四五六七八九"[天 % 10];
}
staticvoid输出万年历(int年, int月, int日)
{
intr = 1, z = r, nn = 年, yy = 月; string aa = " :::: ";
Func<int, string> 补零 = (int数据) => { return(数据 > 9 ? "": "0"); };
while(nn > 0) if(--yy > 0) z += 返回月的天数(nn, yy); else{ --nn; yy = 13; }
nn = 返回月的天数(年, 月); yy = 1; z %= 7;
//Console.WriteLine("{0}", 月历加载);
Console.Write("{0}年"+ 补零(月) + "{1}月"+ 补零(日) + "{2}日星期{3} {4}\n天 一 二 三 四 五 六\n:: ", 年, 月, 日, "天一二三四五六"[(z + 日 - 1) % 7], 月历加载(年, 月, 日));
while(r <= nn)
if(yy >= z)
{
if(r <= 返回月的天数(年, 月)) aa += 月历加载(年, 月, r).Substring(8, 2) + ((++yy % 7) > 0 ? " ": " \n");
Console.Write("{0}{1}{2}", 补零(r), (r++).ToString, ((yy % 7) > 0 ? " ": " "));
if(aa.Contains("\n")) { Console.Write("{0}", aa = aa.Replace(" ", " ")); aa = " "; }
}
else
{
if(r <= 返回月的天数(年, 月)) aa += (r > 1 ? 月历加载(年, 月, r).Substring(8, 2) : "::::") + ((yy % 7) > 0 ? " ": " \n");
Console.Write("{0}{1}{2}", (r > 1 ? 补零(r) : ""), (r > 1 ? (r++).ToString : "::"), ((++yy % 7) > 0 ? " ": " \n"));
if(aa.Contains("\n")) { Console.Write("{0}", aa = aa.Replace(" ", " ")); aa = " "; }
}
}
Stopwatch 总运行时间 = Stopwatch.StartNew;
Console.WriteLine("\n时间: {0}周期结束。", 总运行时间.ElapsedTicks);
编程代码 | C++/C输出阳历万年历—精美日历制作的更多相关文章
- php数组转成php编程代码
将php数组转成可以在php上面运行的编程代码,支持一维及多维数组 <?php //一维数组 $test1 = array(1,2,3); //二维数组 $test2[0] = array( ' ...
- Python小代码_2_格式化输出
Python小代码_2_格式化输出 name = input("name:") age = input("age:") job = input("jo ...
- 解决Editor.md通过代码块原样输出Emoji被强制解析问题
Editor.md是一款优秀的开源Markdown 编辑器,在使用中遇到的一些问题和功能改进分享给需要的伙伴. 项目地址 https://github.com/pandao/editor.md 问题 ...
- Atitit.uml2 api 的编程代码实现设计uml开发 使用eclipse jar java 版本
Atitit.uml2 api 的编程代码实现设计uml开发 使用eclipse jar java 版本 1. clipse提供了UML的底层Java包, 1 2. MDTUML2Getting St ...
- 解题:在下面画线的地方填任何代码,使得最终输出 'hello world',至少写五个不同思路的方案
今天(已经好些天前了...),群里面(JS前端开发跳板6群[81501322])有个群友问了这样一个问题. 如题:在下面画线的地方填任何代码,使得最终输出 'hello world',至少写五个不同思 ...
- Android自己定义组件之日历控件-精美日历实现(内容、样式可扩展)
需求 我们知道.Android系统本身有自带的日历控件,网络上也有非常多开源的日历控件资源.可是这些日历控件往往样式较单一.API较多.不易于在实际项目中扩展并实现出符合详细样式风格的,内容可定制的效 ...
- 纯代码利用CSS3 圆角边框和盒子阴影 制作 iphone 手机效果
原文:纯代码利用CSS3 圆角边框和盒子阴影 制作 iphone 手机效果 大家好,我是小强老师. 今天我们看下CSS3最为简单的两个属性. css3给我们带来了很多视觉的感受和变化,以前的图片做的事 ...
- Android开源的精美日历控件,热插拔设计的万能自定义UI
Android开源的精美日历控件,热插拔设计的万能自定义UI UI框架应该逻辑与界面实现分离,该日历控件使用了热插拔的设计 ,简单几步即可实现你需要的UI效果,热插拔的思想是你提供你的实现,我提供我的 ...
- 优化php代码 - 字符串echo输出 逗号也可作php连接符
2016年12月12日10:00:16 ====================== 网页访问速度的提升,是可以通过代码的优化来实现的.代码的优化,并不是说代码越少越好,而是主要看代码的运行能力和执行 ...
随机推荐
- Java格式化字符串Format
java的jdk1.5开始引用了对字符串的格式化处理,类似于C语言的printf("%d,%d",a,b);,对数据的处理非常方便,之所以有这样的方式输出,很多人说是为了抢夺C语言 ...
- linux下ftp如何使用
linux下ftp可以上传.下载文件 centos7环境: 1.检查是否安装过ftp服务 rpm -qa|grep vsftpd 如果没有输出则表示没有安装过 安装ftp yum -y install ...
- MySQL安装错误Couldn't find MySQL server
Starting MySQL ERROR! Couldn't find MySQL server (/usr/local/mysql/bin/mysqld_safe) 昨天rpm安装MySQL5.7后 ...
- yum管理——搭建iso镜像私有yum源仓库(1)
在服务器上一般是没有光驱的,那么我们怎么制作iso本地repo镜像源仓库? 通过本地iso镜像,copy到linux系统中一个目录中,进行伪文件系统挂载,执行如下命令: 挂载:mount -o loo ...
- thinkPHP5.1 MVC架构使用方法
MVC架构 1.M层:model(模型),是增强版的数据库 M层是用来存放自动完成代码.修改器(数据修改).模型事件.验证器 2.V层:view 显示视图 V层用来存放HTML.css.JavaScr ...
- 并发编程(八)Lock锁
一.引言 线程并发的过程中,肯定会设计到一个变量共享的概念,那么我们在多线程运行过程中,怎么保证每个先拿获取的变量信息都是最新且有序的呢?这一篇我们来专门学习一下Lock锁. 我们先来了解几个概念: ...
- 简单说说Restful API
前言: 最近一段时间,一直在低头敲代码,开发平台对外交互的API接口,功能已经大体完成了,回过头来看看自己的接口设计文档,不胜感慨,想当初自己也是为"接口名称"想破了脑袋,各种百度 ...
- web自动化整理
HTML学习 https://www.w3school.com.cn/html/html_headings.asp 如何写html呢? 可以选择软件 文本编辑器sublime(http://www.s ...
- 吴恩达Machine Learning学习笔记(三)--逻辑回归+正则化
分类任务 原始方法:通过将线性回归的输出映射到0-1,设定阈值来实现分类任务 改进方法:原始方法的效果在实际应用中表现不好,因为分类任务通常不是线性函数,因此提出了逻辑回归 逻辑回归 假设表示--引入 ...
- 使用redis来调用iptables,封禁恶意IP
话不多说,通常大多数站点都会有被薅羊毛的情况,防护无非也就是业务层做处理,短时内不再响应恶意请求啦.虽然不响应了,可还是会消耗资源的,比如我要从数据库(当然也可能是内存数据库)去查询下,你是不是恶意的 ...