c语言编程万历表,C语言编写方案万历.doc

难易程度中等开发语言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,0x0abb7

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值