编程代码 | 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 后端开发常用的 10 种第三方服务
请肆无忌惮地点赞吧,微信搜索[沉默王二]关注这个在九朝古都洛阳苟且偷生的程序员.本文 GitHub github.com/itwanger 已收录,里面还有我精心为你准备的一线大厂面试题. 严格意义上 ...
- Lambda表达式看这篇基本就够用了
本文讯] 2020.05.08 polo 写博不易,尊重知识! Lambda 是java8 引入的一个新特性,闭包,又叫函数式接口,下面介绍下,常用的lambda表达式方式: 所谓的将函数作为一 ...
- python操作从数据库中获取数据的接口
1.输入一个表名,获取表里面的数据 2.判断用户是否存在,如果不存在就添加到数据库里面
- css常用属性:居中展示、内边距、外边距
1.横向居中.纵向居中 2.纵向展示3个块级(div标签即可纵向展示) 3.横向展示3个块级 4.在横向块级上加上边框的两种方法 法一:在父级div上加上和样式一样高的height 法二:在父级div ...
- linux如何把普通用户添加到sudo组
sudo原理:运行命令时,系统检查/etc/sudoers 配置文件,看这个用户是否有执行sudo的权限,如果有权限,系统要求输入用户自己的密码,如果密码输入正确,系统会以root身份运行 passw ...
- 解决IDEA打包出现中文乱码的问题
这主要是maven编译时编码问题导致的. 解决办法: 1.在IDEA的File里面打开Settings. 2.找到Runner,在VM Options输入-DarchetypeCatalog=inte ...
- rocketmq配置文件参数(broker-xx.properties)
#broker集群名称,用于划分broker brokerClusterName=MQCluster001 #broker名称,用于主从配对,相同名称的broker才能做主从设置 brokerName ...
- Linux常用命令详解(3)
pidofpstopipuptimewgetcurltrddtargrepfind 命令详解 1.pidof 获取正在运行程序的PID 实例1: [root@ken ~]# pidof sshd 24 ...
- Zookeeper集群"脑裂"问题 - 运维总结
关于集群中的"脑裂"问题,之前已经在这里详细介绍过,下面重点说下Zookeeper脑裂问题的处理办法.ooKeeper是用来协调(同步)分布式进程的服务,提供了一个简单高性能的协调 ...
- 【JAVA】mysql数据库常见知识点
目录 1.事务四大特性 2.数据库隔离等级 3.Mysql两种存储引擎的区别 4.哈希索引和B+树索引 5.聚簇索引和非聚簇索引 6.索引的优缺点,什么时候使用索引,什么时候不能使用索引 7.索引的底 ...