编程代码 | 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 ====================== 网页访问速度的提升,是可以通过代码的优化来实现的.代码的优化,并不是说代码越少越好,而是主要看代码的运行能力和执行 ...
随机推荐
- Idea没安装几款好用的插件,怎么风骚的写代码???
工欲善其事,必先利其器,好的工具可以提升我们的开发效率,越来越多的Java程序员从Eclipse转到了Jetbrains家的Idea.今天给大家介绍的是我常用的十几款Idea必装的插件. Ti ...
- Aggressive cows(POJ 2456)
原题如下: Aggressive cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 20524 Accepted: ...
- pytest测试框架 -- 简介
一.pytest测试框架简介: (1)pytest是python的第三方测试框架,是基于unittest的扩展框架,比unittest更简洁,更高效. (2)pytest框架可以兼容unittest用 ...
- [LeetCode]301. 删除无效的括号(DFS)
题目 题解 step1. 遍历一遍,维护left.right计数器,分别记录不合法的左括号.右括号数量. 判断不合法的方法? left维护未匹配左括号数量(增,减)(当left为0遇到右括号,则交由r ...
- 虚虚实实,亦假亦真的 ValueTuple,绝对能眩晕你
一:背景 1. 讲故事 前几天在写一个api接口,需要对衣物表进行分页查询,查询的output需要返回两个信息,一个是 totalCount,一个是 clothesList,在以前我可能需要封装一个 ...
- 云计算openstack核心组件——neutron网络服务(9)
一.虚拟机获取 ip: 用 namspace 隔离 DHCP 服务 Neutron 通过 dnsmasq 提供 DHCP 服务,而 dnsmasq 通过 Linux Network Namespa ...
- Burger King使用RayOnSpark进行基于实时情景特征的快餐食品推荐
作者:Luyang Wang, Kai Huang, Jiao Wang, Shengsheng Huang, Jason Dai 基于深度学习的推荐模型已广泛应用于各种电商平台中,为用户提供推荐.目 ...
- spring boot之支持http和https并行(http不跳转)
首先需要去做个证书 yml配置文件中设置的是https监听端口 server: port: 10007 tomcat: basedir: /data/apps/temp #配置SSL ssl: key ...
- netty全局分析1
这个系列都是别人的分析文 https://www.jianshu.com/p/ac7fb5c2640f 一丶 Netty基础入门 Netty是一个高性能.异步事件驱动的NIO框架,它提供了对TCP.U ...
- Oracle学习(一)SQL基础
一.认识SQL SQL是什么? SQL,结构化查询语言,全称是 Structured Query Language. SQL 是一门 ANSI(American National Standards ...