C语言编写方案-万年历选编

难易程度中等开发语言C《课程案例

——案例

6.1.1 功能概述

如图6-1所示,系统主要功能有:

显示当前日期和时间,以及星期信息。

显示要查询的某年某月的月历,包括公历数据以及其相应的农历数据,如:天干地支、生肖、节气等。

要查询的年份和月份可以从键盘直接输入,也可以通过输入“1-4”四个数字键来增加减少年份和月份的方法查询。

6.1.2 系统硬件环境

处理器:Intel Pentium 166 MX或更高

内存:32MB

硬盘空间:1GB

显卡:SVGA显示适配器

软件环境

操作系统:Windows 98/ME/2000/XP

图6-1 万年历界面

6.2总体设计

.2.1系统流程描述

系统的流程描述如图-2所示。设计void TIME():取得系统当前时间;

int leap(int year):返回阳历某年的天数,闰年返回366天,平年返回365天;

int day(int month):返回阳历当月的天数;

int get_solar_total(int solar_year, int solar_month):返回1900年01月01日到M年M月的天数;

int get_week(int solar_year, int solar_month):返回M年M月的1号为星期几;

int get_lunar_info(int solar_year, int solar_month, Lunar_info *l_info,Chinese_era *china_era):返回农历信息;

int out_chinese(Lunar_info *l_info,char *chinese_str):输出农历日期信息;

void sub_menue():界面输出。

6.2.3数据结构设计typedef struct

{

int lunar_year; //农历年份

int lunar_month; //农历月份

int lunar_day; //农历日期

int current_mday; //本月天数

int leap_month; //本年闰月

int leap_flag; //闰月标记

}Lunar_info;

二、公历信息数据结构

typedef struct

{

int era_year; //阳历年份

int era_month; //阳历月份

int era_day; //阳历日期

}Chinese_era;

三、数组

用来定义相关的农历信息,如天干地支、节气、生肖、农历日和月等数据。

1. 1900-2050年的农历数据

int lunar_info[]=

{

0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2,

0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977,

0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970,

0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950,

0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557,

0x06ca0,0x0b550,0x15355,0x04da0,0x0a5b0,0x14573,0x052b0,0x0a9a8,0x0e950,0x06aa0,

0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0,

0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b6a0,0x195a6,

0x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,0x06d40,0x0af46,0x0ab60,0x09570,

0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0,

0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0ab

1949-2017闰年 c语言,C语言编写方案-万年历选编.doc相关推荐

  1. 万年历定时关机c语言代码,C语言程序设计能力教程电子万年历设计.doc

    C语言程序设计能力教程电子万年历设计.doc 电子科技大学成都学院课程设计报告电子科技大学成都学院电子工程系课程设计报告课 程 名 称 C语言程序设计能力教程 设 计 题 目 万 年 历 指 导 教师 ...

  2. 2017电大c语言考试时间,2017年电大 《c语言程序设计》a课程考核说明.doc

    2017年电大 <c语言程序设计>a课程考核说明 中央广播电视大学计算机科学与技术专业 C语言程序设计A课程考核说明(2008) 一.考核说明 <C语言程序设计>课程是全国电大 ...

  3. 在 2017 年,学习“万能” 语言

    在 2017 年,学习"万能" 语言 来源:可译网 译者:ericzc 在我还是个新人的时候,我碰见了个同学,他宣称自己可以用任意我能说出名字的编程语言编程.吃惊之余,我满怀不信的 ...

  4. 2017安徽省二c语言模拟题,2017计算机二级考试C语言模拟题及答案

    2017计算机二级考试C语言模拟题及答案 二.基本操作题(共18分) 请补充函数proc(),该函数的功能是计算下面公式SN的值: SN=1+1/3十4/5+...+2N-1/SN-1 例如,当N=2 ...

  5. R语言可视化、编写自定义函数可视化水平排序条形图(horizontal bar plot)、自定义图像布局模仿经济学人杂志可视化效果、右侧添加标签数值图像方框、自定义背景色、水平条形图中间线条等

    R语言可视化.编写自定义函数可视化水平排序条形图(horizontal bar plot).自定义图像布局模仿经济学人杂志可视化效果.右侧添加标签数值图像方框.自定义背景色.水平条形图中间线条.网格线 ...

  6. c语言作用域有哪两种变量,2017年计算机二级C语言字考点归纳:变量的存储类别、作用域及生存期...

    7.7 变量的存储类别.作用域及生存期 1.变量的存储类别 在C语言中,有两类存储类别:自动类别及静态类别. 有4个与两种存储类别有关的说明符:auto(自动).register(寄存器).stati ...

  7. 计算机二级c在哪里学习,2017年计算机二级C语言考点学习

    2017年计算机二级C语言考点学习 学习是把知识能力思维方法等转化为你的私有产权的重要手段,是"公有转私"的重要途径.以下是百分网小编整理的2017年计算机二级C语言考点学习,欢迎 ...

  8. c语言6字符宽度和小数位数,2017年计算机二级C语言考点复习

    2017年计算机二级C语言考点复习 古话说得好"读书破万卷,下笔如有神",只有积累了一定的经验,才可能提炼出思维的规律,下面是百分网小编为大家整理的2017年计算机二级C语言考点复 ...

  9. 用c语言设计如何扩充道路信息,【2017年整理】C语言设计(本)阶段练习四.doc

    [2017年整理]C语言设计(本)阶段练习四 PAGE 6–练习4(本)C语言设计阶段练习四 (本科)(第10章)一.根据提问解答问题.(1) "文件"类型是C编译系统在头文件st ...

  10. matlab m语言,我要编写matlab一个公式的m语言,请问错在哪里?,M语言的MATLAB的M语言...

    导航:网站首页 > 我要编写matlab一个公式的m语言,请问错在哪里?,M语言的MATLAB的M语言 我要编写matlab一个公式的m语言,请问错在哪里?,M语言的MATLAB的M语言 匿名网 ...

最新文章

  1. HDU2196[树形dp+二次扫描]java和c++版本题解
  2. WinXP下At,Schtask和Eventtriggers命令实例(一)
  3. android短信功能裁剪,Android短信发送功能实现技巧分享
  4. Python函数参数匹配模型(上)
  5. PaaS case study
  6. graph-easy使用简介
  7. Delphi 的消息机制浅探二
  8. 期末计算机课总结100字,学期总结:学期总结100字
  9. bootstrap datetimepicker日期插件使用方法
  10. 如何安装旧版iOS软件?
  11. matlab如何计算方差分析,matlab-方差分析.ppt
  12. xp计算机u盘重装系统,解决戴尔电脑u盘重装系统xp教程
  13. Eric6中使用PYQT5在窗口显示图片
  14. ddr2之OCD、ODT和Post CAS技术
  15. 【jzoj4826】【小澳的葫芦】【二分答案】
  16. Matlab软件有哪些版本,matlab软件功能简要介绍及版本描述
  17. 基于STM32的心率血氧检测仪
  18. 还行,OPPO Find X3 Pro评测:卖的是屏幕和这个超广角!
  19. 面试官:说说你项目的API如何封装的?你:欸,纳尼??什么是API【一文带你详解API】【Java养成】
  20. spring security(三)oauth2

热门文章

  1. mysql点击计数器_高性能Mysql(第3版)_网站点击计数器
  2. 性能优化之无阻塞加载脚步方法比较
  3. Linux磁盘管理基本配置
  4. 【Deep learning】NLP
  5. 面向对象语言-反射机制
  6. Java记录 -59- SortedSet
  7. WebServer Vs ApplicationServer
  8. 技术开发人员需要改变性格吗?
  9. 使用Exchange 2007搭建多域名邮件系统
  10. Restful API 的设计规范