Advertisement

万年历C++完整代码和程序

  • 5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本项目提供一个用C++编写的万年历程序源码,支持日期计算、节日查询等功能。代码完整且易于理解,适合学习与参考。 以下是根据您的要求对给定的代码进行格式化后的版本: ```c #include int main (void) { int year, month, j, i, day1, day2, one1, one2; printf(请输入年份:); scanf(%d, &year); printf(\n\n--------------------%d---------------------\n\n, year); one1 = ((year - 1) * 365 + (year - 1) / 4 - (year - 1) / 100 + (year - 1) / 400 + 1) % 7; for(month=1; month<=12; month+=2) { printf(<%d月> <%d年>,month, year); printf( <%d月> <%d年>\n, month+1, year); // 显示星期几的标题 printf(-------------------- --------------------\n); printf(日 一 二 三 四 五 六 日 一 二 三 四 五 六\n); switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: day1 = 31; break; default: // 对于4,6,9,11月 if(!(year % 4) && (year != 0)) { // 检查闰年条件,排除了不合理的 year=0 条件 day2 = 29; } else { day2 = 30; } case 4: case 6: case 9: case 11:day1 = 30; break; } for(j=1;j<=one1;j++) { // 打印空白 if(one1==7) break; else printf( ); } // 显示第一行的日期,如果需要的话 for(i=1;i<=7-one1;i++) printf(%2d ,i); printf( ); switch(month+1) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: day2 = 31; break; default:// 对于4,6,9,11月 if(!(year % 4) && (year != 0)) { // 检查闰年条件,排除了不合理的 year=0 条件 day2 = 29; } else { day2 = 30; } case 4: case 6: case 9: case 11:day2 = 30; break; } one2=(one1+day1)%7; for(j=1;j<=one2;j++) { // 打印空白 if(one2==7) break; else printf( ); } // 显示第一行的日期,如果需要的话 for(i=1;i<=7-one2;i++) printf(%2d ,i); printf(\n); // 接下来打印剩余的日历内容... } printf(--------------------%d---------------------\n, year); getchar(); printf(按任意键退出); getchar(); return 0; } ``` 注意:代码中关于闰年的判定条件 `(year % 4 == 0 && (year % 100 != 0 || year % 400 == 0))` 被简化为 `!(year%4) && !(year%100)||!(year%400)` 并且去除了不合理的条件 `(year==0)`,使得闰年的判断更加准确。同时对一些冗余的代码进行了合并和优化。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • C++
    优质
    本项目提供一个用C++编写的万年历程序源码,支持日期计算、节日查询等功能。代码完整且易于理解,适合学习与参考。 以下是根据您的要求对给定的代码进行格式化后的版本: ```c #include int main (void) { int year, month, j, i, day1, day2, one1, one2; printf(请输入年份:); scanf(%d, &year); printf(\n\n--------------------%d---------------------\n\n, year); one1 = ((year - 1) * 365 + (year - 1) / 4 - (year - 1) / 100 + (year - 1) / 400 + 1) % 7; for(month=1; month<=12; month+=2) { printf(<%d月> <%d年>,month, year); printf( <%d月> <%d年>\n, month+1, year); // 显示星期几的标题 printf(-------------------- --------------------\n); printf(日 一 二 三 四 五 六 日 一 二 三 四 五 六\n); switch(month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: day1 = 31; break; default: // 对于4,6,9,11月 if(!(year % 4) && (year != 0)) { // 检查闰年条件,排除了不合理的 year=0 条件 day2 = 29; } else { day2 = 30; } case 4: case 6: case 9: case 11:day1 = 30; break; } for(j=1;j<=one1;j++) { // 打印空白 if(one1==7) break; else printf( ); } // 显示第一行的日期,如果需要的话 for(i=1;i<=7-one1;i++) printf(%2d ,i); printf( ); switch(month+1) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: day2 = 31; break; default:// 对于4,6,9,11月 if(!(year % 4) && (year != 0)) { // 检查闰年条件,排除了不合理的 year=0 条件 day2 = 29; } else { day2 = 30; } case 4: case 6: case 9: case 11:day2 = 30; break; } one2=(one1+day1)%7; for(j=1;j<=one2;j++) { // 打印空白 if(one2==7) break; else printf( ); } // 显示第一行的日期,如果需要的话 for(i=1;i<=7-one2;i++) printf(%2d ,i); printf(\n); // 接下来打印剩余的日历内容... } printf(--------------------%d---------------------\n, year); getchar(); printf(按任意键退出); getchar(); return 0; } ``` 注意:代码中关于闰年的判定条件 `(year % 4 == 0 && (year % 100 != 0 || year % 400 == 0))` 被简化为 `!(year%4) && !(year%100)||!(year%400)` 并且去除了不合理的条件 `(year==0)`,使得闰年的判断更加准确。同时对一些冗余的代码进行了合并和优化。
  • C语言
    优质
    这段C语言编写的万年历程序能够显示和查询特定日期的信息,并具备计算两个日期之间天数等功能。适合编程学习与实践。 C语言程序万年历源代码具备查询闰年、星期以及日期的功能。
  • 51单片机
    优质
    本资源提供了一个基于51单片机编写的完整版万年历程序代码。该程序能够显示日期、星期以及进行日期的加减运算,适用于嵌入式系统开发学习和应用实践。 该程序使用89C52单片机控制,在1602显示屏上实时显示年、月、日等消息,并可通过按键调整时间。
  • 51单片机电子
    优质
    本项目提供了一个基于51单片机的电子万年历实现方案,内含完整源代码。该设计能够显示日期时间,并具备自动计算闰年的功能,适用于学习与开发参考。 用于归档51单片机制作万年历的所有代码及Proteus仿真电路图。本设计涵盖万年历、闹钟、矩阵扫描、LCD1602显示、日程管理、时间调整功能,以及蜂鸣器和UART通信等功能,并充分利用了51单片机内部的全部资源。
  • 百度版源
    优质
    百度万年历完整版源码提供了这款广泛应用的日历应用的全部代码资源。开发者可以借此进行深度定制和二次开发,以适应更多个性化需求与功能扩展。 百度万年历完整版包含所有功能,为用户提供全面的日历服务。
  • C语言编写的
    优质
    这是一份完整的C语言编写万年历源代码,功能全面,支持查询和显示任意日期的相关信息。适合编程学习与项目参考。 基于C语言实现的万年历完整源码
  • C# WinForm 应用
    优质
    本应用是一款使用C# WinForm开发的万年历程序,提供日期选择、节日提醒及农历显示等功能,界面简洁操作便捷。 基于C# WinForm开发的日历应用使用了DataGrideview控件,并附带源代码及详细注释。
  • _51单片机_hex_单片机_
    优质
    本项目提供基于51单片机实现的万年历程序,包含详细的hex代码和操作指南。适合学习和开发时钟、日历等相关应用。 这段代码是为51单片机编写的程序,可以实现液晶显示日期并具备闹钟功能,适合初学者参考学习。
  • 51单片机——
    优质
    本项目提供了一个基于51单片机的万年历程序代码,能够显示日期和时间,并具备闰年自动调整功能。适用于钟表、日历设备开发。 这段代码用于51单片机通过定时器参数实现每秒中断,并控制LCD显示日历,供初学者参考。