C語言編寫方案-萬年歷_第1頁
C語言編寫方案-萬年歷_第2頁
C語言編寫方案-萬年歷_第3頁
C語言編寫方案-萬年歷_第4頁
C語言編寫方案-萬年歷_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、C語言程序設(shè)計(jì)課程綜合案例 常州信息職業(yè)技術(shù)學(xué)院難易程度中等開發(fā)語言C開發(fā)工具操作系統(tǒng):Windows XP或更高開發(fā)平臺:VC+ 6.0關(guān)鍵字萬年歷C語言程序設(shè)計(jì)課程綜合案例案例06 萬年歷6.1需求分析本系統(tǒng)提供給用戶一個(gè)萬年歷查詢平臺,用來查詢1900-2050年任何一個(gè)月的月歷。在使用本系統(tǒng)的過程中,用戶除了可以查看到公歷數(shù)據(jù)外,還可以查看相應(yīng)的農(nóng)歷數(shù)據(jù)。要查詢的年份和月份可以從鍵盤直接輸入,另外還可以輸入1和2來增加和減少年份,輸入3和4來增加和減少月份。6.1.1 功能概述如圖6-1所示,系統(tǒng)主要功能有:1. 顯示當(dāng)前日期和時(shí)間,以及星期信息。2. 顯示要查詢的某年某月的月歷,包括

2、公歷數(shù)據(jù)以及其相應(yīng)的農(nóng)歷數(shù)據(jù),如:天干地支、生肖、節(jié)氣等。3. 要查詢的年份和月份可以從鍵盤直接輸入,也可以通過輸入“1-4”四個(gè)數(shù)字鍵來增加減少年份和月份的方法查詢。6.1.2 系統(tǒng)運(yùn)行環(huán)境一、硬件環(huán)境l 處理器:Intel Pentium 166 MX或更高l 內(nèi)存:32MBl 硬盤空間:1GBl 顯卡:SVGA顯示適配器二、軟件環(huán)境l 操作系統(tǒng):Windows 98/ME/2000/XP6.1.3 功能需求描述萬年歷查詢平臺為用戶提供簡單方便的日期查詢功能,給出完整清晰的日期信息。本系統(tǒng)需要實(shí)現(xiàn)的基本功能如下:1. 取得系統(tǒng)當(dāng)前時(shí)間:取得系統(tǒng)當(dāng)前的日期、時(shí)間及星期信息。2. 判斷某年是否

3、為閏年。3. 得到陽歷某月的天數(shù)以及某年的總天數(shù)等信息。4. 判斷某年月日為星期幾。5. 得到某個(gè)具體日期的農(nóng)歷數(shù)據(jù),包括農(nóng)歷日期、天干地支、節(jié)氣等信息。圖6-1 萬年歷界面6.2總體設(shè)計(jì)6.2.1系統(tǒng)流程描述系統(tǒng)的流程描述如圖6-2所示。6.2.2功能模塊設(shè)計(jì)根據(jù)功能需求描述,定義如下函數(shù):void TIME():取得系統(tǒng)當(dāng)前時(shí)間;int leap(int year):返回陽歷某年的天數(shù),閏年返回366天,平年返回365天;int day(int month):返回陽歷當(dāng)月的天數(shù);int get_solar_total(int solar_year, int solar_month):返回1

4、900年01月01日到M年M月的天數(shù);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):返回農(nóng)歷信息;int out_chinese(Lunar_info *l_info,char *chinese_str):輸出農(nóng)歷日期信息;void sub_menue():界面輸出。開始結(jié)束圖6-2 系統(tǒng)流程圖1:計(jì)算上一年份2:計(jì)算下一年份計(jì)算陽歷

5、信息計(jì)算農(nóng)歷信息輸入年份輸入1-2輸入3-4輸入5輸入月份界面輸出1:計(jì)算上一月份2:計(jì)算下一月份6.2.3數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)一、農(nóng)歷信息數(shù)據(jù)結(jié)構(gòu)typedef struct int lunar_year; /農(nóng)歷年份int lunar_month; /農(nóng)歷月份int lunar_day; /農(nóng)歷日期int current_mday; /本月天數(shù)int leap_month; /本年閏月int leap_flag; /閏月標(biāo)記Lunar_info;二、公歷信息數(shù)據(jù)結(jié)構(gòu)typedef structint era_year; /陽歷年份int era_month; /陽歷月份int era_day; /

6、陽歷日期Chinese_era; 三、數(shù)組用來定義相關(guān)的農(nóng)歷信息,如天干地支、節(jié)氣、生肖、農(nóng)歷日和月等數(shù)據(jù)。1. 1900-2050年的農(nóng)歷數(shù)據(jù)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,0x02b

7、60,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,0

8、x0a570,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,0x0d9

9、54,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,0x092d0,0x0cab5,0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,0x052b0,0x0a930,0x07954,0x06aa0,0x0ad50,0x05b52,0x04b60,0x0a6e6,0x0a4e0,0x0d260,0x0ea65,0x0d530,0x05aa0,0x076a3,0x096d0,0x04bd7,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,0x0d520,0

10、x0dd45,0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,0x06d20,0x0ada0,0x14b63;數(shù)據(jù)格式說明:數(shù)組中的每一個(gè)數(shù)字都是一個(gè)由5位十六進(jìn)制數(shù)組成的數(shù)字, 例:04bd8。第0位表示當(dāng)年有無閏月, 有的話為閏月的月份,沒有的話,為0;第1、2、3位轉(zhuǎn)換成二進(jìn)制共12位,如:0100 1011 1101表示一年中的12個(gè)月分別有多少天(1為30天,0為29天);第4位表示閏月是大月還是小月,僅當(dāng)存在閏月的情況下有意義。例如:1980年的數(shù)據(jù)是: 0x095b0其二進(jìn)制為:0000 1001 0

11、101 1011 0000 表示1980年沒有閏月,從1月到12月的天數(shù)依次為:30、29、29、30、29、30、29、30、30、29、30、30。2.天干、地支、生肖、節(jié)氣等/*天干*/char Gan103="甲","乙","丙","丁","戊","己","庚","辛","壬","癸"/*地支*/char Zhi123="子","丑","寅

12、","卯","辰","巳","午","未","申","酉","戌","亥"/*生肖*/char Animals123="鼠","牛","虎","兔","龍","蛇","馬","羊","猴","雞","

13、狗","豬"/*24節(jié)氣*/char solar_term245= "小寒","大寒","立春","雨水","驚蟄","春分", "清明","谷雨","立夏","小滿","芒種","夏至", "小暑","大暑","立秋","處暑","白露&

14、quot;,"秋分", "寒露","霜降","立冬","小雪","大雪","冬至"/*農(nóng)歷日*/char chinese_day305= "初一","初二","初三","初四","初五","初六","初七", "初八","初九","初十","十一&q

15、uot;,"十二","十三","十四", "十五","十六","十七","十八","十九","廿十","廿一", "廿二","廿三","廿四","廿五","廿六","廿七","廿八", "廿九","卅十"char bui

16、ld45="光緒","宣統(tǒng)","民國","建國"/*農(nóng)歷月*/char chinese_month125="正","二","三","四","五","六","七","八","九","十","冬","臘"6.3詳細(xì)設(shè)計(jì)6.3.1程序預(yù)處理頭文件calendar.h包含上節(jié)所描述的所有

17、數(shù)據(jù)。具體清單如下:#include<stdio.h>#include<string.h>#include<stdlib.h> #include<conio.h>#include<math.h>#include<time.h>#define YUANDAN 1typedef struct int lunar_year; /農(nóng)歷年份int lunar_month; /農(nóng)歷月份int lunar_day; /農(nóng)歷日期int current_mday; /本月天數(shù)int leap_month; /本年閏月int leap_fla

18、g; /閏月標(biāo)記Lunar_info;typedef structint era_year; /陽歷年份int era_month; /陽歷月份int era_day; /陽歷日期Chinese_era; int s_year;int s_month;int s_day;static int t_year;static short today = YUANDAN;/*1900-2050年的農(nóng)歷數(shù)據(jù)*/int lunar_info=0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2,0x0

19、4ae0,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

20、,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,0x0

21、6a50,0x06d40,0x0af46,0x0ab60,0x09570,0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0,0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,0x092d0,0x0cab5,0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,0x052b0,0x0a930,0x07954,0x06aa0,0x0ad50

22、,0x05b52,0x04b60,0x0a6e6,0x0a4e0,0x0d260,0x0ea65,0x0d530,0x05aa0,0x076a3,0x096d0,0x04bd7,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,0x0d520,0x0dd45,0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,0x06d20,0x0ada0,0x14b63;/*天干*/char Gan103="甲","乙","丙","丁",&

23、quot;戊","己","庚","辛","壬","癸"/*地支*/char Zhi123="子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"/*生肖*/char Animals123="鼠&quo

24、t;,"牛","虎","兔","龍","蛇","馬","羊","猴","雞","狗","豬"/*24節(jié)氣*/char solar_term245= "小寒","大寒","立春","雨水","驚蟄","春分", "清明","谷雨&q

25、uot;,"立夏","小滿","芒種","夏至", "小暑","大暑","立秋","處暑","白露","秋分", "寒露","霜降","立冬","小雪","大雪","冬至"/*農(nóng)歷日*/char chinese_day305= "初一","初二&qu

26、ot;,"初三","初四","初五","初六","初七", "初八","初九","初十","十一","十二","十三","十四", "十五","十六","十七","十八","十九","廿十","廿一", "廿二

27、","廿三","廿四","廿五","廿六","廿七","廿八", "廿九","卅十"char build45="光緒","宣統(tǒng)","民國","建國"/*農(nóng)歷月*/char chinese_month125="正","二","三","四","五",&q

28、uot;六","七","八","九","十","冬","臘"6.3.2計(jì)算所查詢?nèi)掌诘墓珰v數(shù)據(jù)主要功能有:取得系統(tǒng)的當(dāng)前日期、時(shí)間和星期信息;判斷某年是否閏年并返回當(dāng)年的天數(shù);返回1900年01月01日到M年M月的天數(shù);返回M年M月的1號為星期幾。代碼清單如下:#include "calendar.h"/*函數(shù)功能:取得系統(tǒng)當(dāng)前時(shí)間入口參數(shù):無 出口:系統(tǒng)當(dāng)前時(shí)間 調(diào)用方式:如TIME() 返回系統(tǒng)當(dāng)前時(shí)間*/void TIME() static

29、 char *week="日","一","二","三","四","五","六"time_t t;struct tm *tp;t=time(NULL);tp=localtime(&t);printf("%d年%02d月%02d日",tp->tm_year+1900,tp->tm_mon+1,tp->tm_mday); printf(" %02d:%02d:%02d ",tp->tm_ho

30、ur,tp->tm_min,tp->tm_sec); printf("星期%st ",weektp->tm_wday);/*函數(shù)功能:延遲刷新時(shí)間入口參數(shù): n:秒出口: 對應(yīng)秒數(shù) 調(diào)用方式:如buffer(2) 返回2秒后執(zhí)行下一操作*/void buffer(int n) time_t start,end;start=time(NULL); end=time(NULL); while(end-start<n) end=time(NULL);/*函數(shù)功能:返回陽歷某年的天數(shù),閏年返回366天,平年返回365天入口參數(shù): year:公歷年出口: 對應(yīng)

31、天數(shù) 調(diào)用方式:如leap(2000) 返回366天*/int leap(int year) if(year%4=0&&year%100!=0|year%400=0) return 366; else return 365; /*函數(shù)功能描述:返回陽歷當(dāng)月的天數(shù)入口參數(shù): month:公歷月出口: 對應(yīng)天數(shù) 調(diào)用方式:如day(1) 返回31天*/int day(int month) if(month=1|month=3|month=5|month=7|month=8|month=10|month=12) return 31; if(month=4|month=6|month=

32、9|month=11) return 30; if(month=2&&leap(s_year)=366) return 29; else return 28; /*函數(shù)功能:返回1900年01月01日到M年M月的天數(shù)入口參數(shù): s_year,s_month:年份和月份 出口:M年M月-1900-01-01 調(diào)用方式:如get_solar_total(2000,01) 返回36555天*/int get_solar_total(int solar_year, int solar_month) int total;int temp_num;total=0;for (temp_num

33、=1900;temp_num<solar_year;temp_num+)total+=leap(temp_num);for(temp_num=1;temp_num<solar_month;temp_num+)total+=day(temp_num);return total;/*函數(shù)功能:返回M年M月的1號為星期幾,以1900.01.01為基準(zhǔn)1為星期日入口參數(shù): s_year,s_month:年份和月份 出口: M年M月的一號是星期幾 調(diào)用方式:如get_week(2000,01) 返回星期六*/int get_week(int solar_year, int solar_mon

34、th) int week;int total;/* 1900.01.01為星期一*/week=2; total=get_solar_total(solar_year, solar_month);total%=7;week=week+total;week%=7;if (week=0)week=7;return week;6.3.3計(jì)算所查詢?nèi)掌诘霓r(nóng)歷數(shù)據(jù)主要功能有:計(jì)算農(nóng)歷當(dāng)年總天數(shù),當(dāng)月天數(shù),判斷某年是否存在農(nóng)歷的閏月及閏月的天數(shù)等,代碼清單如下:/*函數(shù)功能:確定是否存在農(nóng)歷的閏月入口參數(shù): lunar_year :年份 出口: 是否存在閏月 調(diào)用方式:如get_leap_month(198

35、2) 返回存在閏4月*/int get_leap_month(int lunar_year) return lunar_infolunar_year-1900&0xf;/*函數(shù)功能:若存在閏月,返回閏月的天數(shù),30?29入口參數(shù): lunar_year:年份 出口: 存在的是大月還是小月 調(diào)用方式:如get_leap_month_day(1982) 返回30天*/int get_leap_month_day(int lunar_year) if (get_leap_month(lunar_year)return (lunar_infolunar_year-1900&0x1000

36、0)?30:29);elsereturn(0);/*函數(shù)功能:確定農(nóng)歷當(dāng)月天數(shù),30?29入口參數(shù): lunar_year,lunar_month:年份和月份 出口: 存在的是大月還是小月 調(diào)用方式:如get_lunar_month_total(1982,4) 返回30天*/int get_lunar_month_total(int lunar_year, int lunar_month) return (lunar_infolunar_year-1900&(0x10000>>lunar_month)?30:29);/*函數(shù)功能:農(nóng)歷當(dāng)年總天數(shù),354?355入口參數(shù): l

37、unar_year:年份 出口: 一年的總天數(shù) 調(diào)用方式:如get_lunar_year_total(1982) 返回355天*/int get_lunar_year_total(int lunar_year) int sum=348; /*348 = 29*12 */int i;for(i=0x8000;i>0x8; i>>=1)sum+=(lunar_infolunar_year-1900&i)?1:0;return(sum+get_leap_month_day(lunar_year);/*函數(shù)功能:確定天干地支入口參數(shù): num:年份-1864,str:表示天干

38、地支的字符串 出口: 干+支 調(diào)用方式:如get_chinese_era(2007-1864,str) 返回str='丁亥'*/void get_chinese_era(int num, char *str) strcpy(str, Gannum%10);strcat(str, Zhinum%12);6.3.4輸出農(nóng)歷信息根據(jù)以上計(jì)算的農(nóng)歷數(shù)據(jù)返回農(nóng)歷信息并輸出農(nóng)歷信息。代碼清單如下:/*返回農(nóng)歷信息*/int get_lunar_info(int solar_year, int solar_month, Lunar_info *l_info,Chinese_era *chin

39、a_era) int i;int total;int temp_num;/*陽歷1900年01月31日為農(nóng)歷1900年01月01日*/total=get_solar_total(solar_year,solar_month)-30;china_era->era_day=total+40;/*將13和14月作為下一年的1月和2月,便于確定Y年M月D日是星期幾蔡勒公式求星期幾:W=C/4-2C+y+y/4+13×(M+1)/5+d-1*/china_era->era_month=14;for(i=1900;i<2051&&total>=0;i+)

40、/*temp_num記錄從1900到2050年閏年和平年的天數(shù)*/ temp_num=get_lunar_year_total(i); total-=temp_num; /*累計(jì)月*/ china_era->era_month+=12;l_info->lunar_year=i;if(total<0) total+=temp_num; /*減年*/ l_info->lunar_year-; china_era->era_month-=12;/*1864年為農(nóng)歷甲子年*/china_era->era_year=l_info->lunar_year-1864

41、;/*返回是否存在閏月*/l_info->leap_month=get_leap_month(l_info->lunar_year);l_info->leap_flag=0;for(i=1;i<13 &&total>0;i+)if (l_info->leap_month>0&&i=(l_info->leap_month+1)&&l_info->leap_flag=0)-i;temp_num=get_leap_month_day(l_info->lunar_year);/*存在閏月*/l_

42、info->leap_flag=1;elsetemp_num=get_lunar_month_total(l_info->lunar_year, i);if (l_info->leap_flag=1&&i=(l_info->leap_month+1)l_info->leap_flag=0;total-=temp_num;if (l_info->leap_flag=0)china_era->era_month+;if(total=0&&l_info->leap_month>0&&i=l_info

43、->leap_month+1)if(l_info->leap_flag=1)l_info->leap_flag=0;else l_info->leap_flag=1; -i; -china_era->era_month;if(total<0) total+=temp_num; -i; -china_era->era_month;l_info->lunar_month=i;l_info->lunar_day=total+1;if (l_info->leap_flag=0)l_info->current_mday=get_lunar

44、_month_total(l_info->lunar_year,l_info->lunar_month);elsel_info->current_mday=get_leap_month_day(l_info->lunar_year);return 0;/*輸出農(nóng)歷日期信息*/int out_chinese(Lunar_info *l_info,char *chinese_str) /*初一不打印*/if (l_info->lunar_day!=1)strcpy(chinese_str, chinese_dayl_info->lunar_day-1);if (

45、l_info->lunar_day=15&&l_info->lunar_month=1)strcpy(chinese_str, "元宵節(jié)");if(l_info->lunar_day=5&&l_info->lunar_month=5)strcpy(chinese_str, "端午節(jié)");if(l_info->lunar_day=7&&l_info->lunar_month=7)strcpy(chinese_str, "情人節(jié)");if(l_info-&

46、gt;lunar_day=15&&l_info->lunar_month=7)strcpy(chinese_str, "中元節(jié)");if (l_info->lunar_day=15&&l_info->lunar_month=8)strcpy(chinese_str, "中秋節(jié)");if (l_info->lunar_day=9&&l_info->lunar_month=9)strcpy(chinese_str, "重陽節(jié)");if(l_info->lu

47、nar_month=12)if(l_info->lunar_day=30)strcpy(chinese_str, "除夕");if(l_info->current_mday<30&&l_info->lunar_day=29)strcpy(chinese_str, "除夕");if (l_info->lunar_day=8)strcpy(chinese_str, "臘八節(jié)");if (l_info->lunar_day=23)strcpy(chinese_str, "小年&q

48、uot;);elseif (l_info->leap_flag=1)/如果存在閏月就將漢字閏復(fù)制到數(shù)組里,再連接農(nóng)歷月份strcpy(chinese_str, "閏");strcat(chinese_str,chinese_monthl_info->lunar_month-1);strcat(chinese_str, "月");elseif (l_info->lunar_month=1)strcpy(chinese_str, "春節(jié)");elsestrcpy(chinese_str,chinese_monthl_in

49、fo->lunar_month-1);strcat(chinese_str, "月");if(get_lunar_month_total(l_info->lunar_year,l_info->lunar_month)=30)strcat(chinese_str,"大");elsestrcat(chinese_str,"小");return 0;6.3.5系統(tǒng)界面輸出代碼清單如下:/*界面輸出*/void sub_menue() int week,s_month_total,space_num,c_num; int i

50、,j,flag; char tmp_str9; Chinese_era c_ear; Lunar_info l_info; /*每個(gè)月一號為星期幾*/ week=get_week(s_year,s_month); /*返回當(dāng)月的天數(shù)*/ s_month_total=day(s_month); /*將已開辟內(nèi)存空間tmp_str的首sizeof(tmp_str)個(gè)字節(jié)的值設(shè)為值0,作用在于可以方便的清空結(jié)構(gòu)類型的數(shù)組或變量。*/ memset(&c_ear,0,sizeof(c_ear); memset(&l_info,0,sizeof(l_info); /*返回農(nóng)歷信息*/ g

51、et_lunar_info(s_year,s_month,&l_info,&c_ear); memset(tmp_str,0,sizeof(tmp_str); /*確定干支*/ get_chinese_era(s_year-1864,tmp_str); if(s_year>=1949) /中華人民共和國紀(jì)年 t_year=s_year-1949; flag=3; else if(s_year<1949&&s_year>1911) /民國紀(jì)年 t_year=s_year-1911; flag=2; else if(s_year<1912&a

52、mp;&s_year>1908) /宣統(tǒng)紀(jì)年 t_year=s_year-1908; flag=1; else /光緒紀(jì)年 t_year=s_year-1874; flag=0; system("cls"); printf("t n"); printf("t1、年 萬年歷 n"); printf("t n"); printf("t2、年 今天是:"); TIME(); printf("n"); printf("t n"); printf(&q

53、uot;t3、月 公歷:%d年%02d月 %s%3d年 農(nóng)歷:%s年 【%s】 n", s_year,s_month,buildflag,t_year,tmp_str, Animals(s_year-1864)%12); printf("t n"); printf("t4、月星期日 星期一 星期二 星期三 星期四 星期五 星期六n"); printf("t n"); printf("t5、Exit "); space_num=week; for (i=1; i<space_num;i+) print

54、f(" "); c_num=0; for (i=1; i<=s_month_total;i+) s_day=i; printf("%02d",s_day); week+=1; if(week>7)|(i=s_month_total) week=1; printf("n ");if (i<7)for (j=1;j<space_num;j+)printf(" ");week=space_num;elseweek=1;while(1)week+=1;memset(tmp_str,0,sizeof(tmp_str);out_chinese(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論