前言:本文章向大家介绍如何用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输出阳历万年历—精美日历制作的更多相关文章

  1. php数组转成php编程代码

    将php数组转成可以在php上面运行的编程代码,支持一维及多维数组 <?php //一维数组 $test1 = array(1,2,3); //二维数组 $test2[0] = array( ' ...

  2. Python小代码_2_格式化输出

    Python小代码_2_格式化输出 name = input("name:") age = input("age:") job = input("jo ...

  3. 解决Editor.md通过代码块原样输出Emoji被强制解析问题

    Editor.md是一款优秀的开源Markdown 编辑器,在使用中遇到的一些问题和功能改进分享给需要的伙伴. 项目地址 https://github.com/pandao/editor.md 问题 ...

  4. Atitit.uml2 api 的编程代码实现设计uml开发 使用eclipse jar java 版本

    Atitit.uml2 api 的编程代码实现设计uml开发 使用eclipse jar java 版本 1. clipse提供了UML的底层Java包, 1 2. MDTUML2Getting St ...

  5. 解题:在下面画线的地方填任何代码,使得最终输出 'hello world',至少写五个不同思路的方案

    今天(已经好些天前了...),群里面(JS前端开发跳板6群[81501322])有个群友问了这样一个问题. 如题:在下面画线的地方填任何代码,使得最终输出 'hello world',至少写五个不同思 ...

  6. Android自己定义组件之日历控件-精美日历实现(内容、样式可扩展)

    需求 我们知道.Android系统本身有自带的日历控件,网络上也有非常多开源的日历控件资源.可是这些日历控件往往样式较单一.API较多.不易于在实际项目中扩展并实现出符合详细样式风格的,内容可定制的效 ...

  7. 纯代码利用CSS3 圆角边框和盒子阴影 制作 iphone 手机效果

    原文:纯代码利用CSS3 圆角边框和盒子阴影 制作 iphone 手机效果 大家好,我是小强老师. 今天我们看下CSS3最为简单的两个属性. css3给我们带来了很多视觉的感受和变化,以前的图片做的事 ...

  8. Android开源的精美日历控件,热插拔设计的万能自定义UI

    Android开源的精美日历控件,热插拔设计的万能自定义UI UI框架应该逻辑与界面实现分离,该日历控件使用了热插拔的设计 ,简单几步即可实现你需要的UI效果,热插拔的思想是你提供你的实现,我提供我的 ...

  9. 优化php代码 - 字符串echo输出 逗号也可作php连接符

    2016年12月12日10:00:16 ====================== 网页访问速度的提升,是可以通过代码的优化来实现的.代码的优化,并不是说代码越少越好,而是主要看代码的运行能力和执行 ...

随机推荐

  1. VMware安装Centos7并联网使用

    一.安装VMware VMwareworkstation官方下载地址: https://www.vmware.com/cn/products/workstation-pro/workstation-p ...

  2. 【好消息】博客迁移到github,求关注,求star,求支持

    博客迁移到github 地址:https://github.com/dirkhe1051931999/hjBlog

  3. Docker日志管理–docker部署安装ELK (十一)

    Docker logs 对于一个运行的容器,Docker 会将日志发送到 容器的 标准输出设备(STDOUT)和标准错误设备(STDERR),STDOUT 和 STDERR 实际上就是容器的控制台终端 ...

  4. h5页面在浏览器上好好的,到手机上熄火了又看不到报错信息怎么办?

    背景 最近小编接了一个新需求,用h5开发页面,通过webview嵌入原生APP中,自己在浏览器上开发爽歪歪,什么信息都能看到,可是一嵌入原生app中,瞬间就熄火了,啥也看不到了,不知道为什么,反正就是 ...

  5. hystrix源码小贴士之Servo Publisher

    HystrixServoMetricsPublisher 继承HystrixMetricsPublisher,创建HystrixServoMetricsPublisherCommand.Hystrix ...

  6. java 常用类-String-1

    一.字符串相关的类 1.1 String 的特性 String类:代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现. String是一个fin ...

  7. Java Web学习(十)Java拦截器

    文章更新时间:2020/04/07 一.引言 既然要用拦截器,首先先得简单了解一下什么是拦截器: 概念:java里的拦截器是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Actio ...

  8. ISCC2018 writeup(web)

    比较数字大小 F12 修改maxlength为4 web01 strcmp()函数遇到数组会返回NULL 而PHP是弱类型语言  在==比较的时候,如果有数值的话会先将字符串转换为数值在进行比较,而N ...

  9. 在vue中使用天气插件

    在vue中使用天气插件 插件网址:  中国天气 选择自己需要的插件.生成代码复制即可 在 vue 中的使用: template 中 <div id="weather-v2-plugin ...

  10. Mac Catalina 下 gdb codesign问题解决

    在 macOS 上,无法直接使用 gdb 进行 debug. 这是因为 Darwin 内核在你没有特殊权限的情况下,不允许调试其它进程.调试某个进程,意味着你对这个进程有完全的控制权限,所以为了防止被 ...