C语言上机报告.docx
《C语言上机报告.docx》由会员分享,可在线阅读,更多相关《C语言上机报告.docx(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学号成绩课程设计说明书设计名称 C语言课程设计 设计题目 万年历查询程序 设计时间 2014年6月16日6月20日学 院 信息与控制工程学院 专 业 计算机科学与技术 班 级 计算机1302班 姓 名 张颖烨 指导教师 王永会 2014年6月20日C语言课程设计说明书目 录一、 题目简介二、 功能说明三、 程序框图四、 程序清单五、 运行结果六、 设计体会七、 参考文献八、 教师评语一、 题目简介这是一个万年历查询程序,可以通过开始时的菜单选择要进行的操作,具有计算某一指定日期距今有多长时间以及该日期是星期几,公农历转换和农历节气的日期显示的功能。二、 功能说明输入功能:保证记录的正常输入输出
2、功能:完成全部信息的显示查找功能:输入所需查询的特定年份的某一节气,会输出对应的具体日期。转换功能:将公历转换成农历,并显示退出功能:退出系统int,sum;三、 程序框图isum2time_ttimep;gLunarMonthDayiLunarYear-START_YEAR&(1iBit)iLunarYearGetLeapMonth(iLunarYear)&GetLeapMonth(iLunarYear)WORDi=1WORDdays=0;Return days;i+LONGtmp=LunarMonthDays(iLunarYear,i);i=12Multitmp=LOWORD(LunarM
3、onthDays(iYear,iMonth);MultiiYear=START_YEAR-1;iSpanDays-=49;iSpanDays=tmp!bLunar&iMonth=1strcpy(pBuffer,腊月);YESiMonth=10iMonth=11charszText=正二三四五六七八九十;return;strcpy(pBuffer,正月);MultiMultiprintf(n);year2040printf(请输入要查询的年份:n);1doublef2024=6.11,20.84,4.15,19.0698,5.6744,21.624, 四、程序清单#include#include
4、#include #include #include #includeint sumYear(int year) /年天数int i,sum;for(i=1;iyear;i+)if(i%4=0&i%100!=0|i%400=0)/判断是否为闰年sum += 366;elsesum += 365;return sum;int sumMonth(int year,int month) /月天数int md13=0,31,28,31,30,31,30,31,31,30,31,30,31;int i,sum = 0;if(year%4=0&year%100!=0|year%400=0) md2 = 2
5、9;for(i=1;itm_year;month1 = 1+p-tm_mon;day1 = p-tm_mday;printf(请输入计算的年-月-日);scanf(%d %d %d,&year2,&month2,&day2);sum1 = sumYear(year1) + sumMonth(year1,month1) + day1;sum2 = sumYear(year2) + sumMonth(year2,month2) + day2;S = xingQI(year2,month2,day2);if (sum1 sum2)printf(相差天数:%dn,sum1-sum2);elseprin
6、tf(相差天数:%dn,sum2-sum1);printf(星期:%d n,S);const WORD START_YEAR =1901; const WORD END_YEAR =2050; WORD gLunarMonthDay= 0Xd4a0, 0Xea50, 0X6d48, 0X5ad0, 0X2b60, 0X9370, 0X92e0, 0Xc968, 0Xc950, 0Xd4a0, /1940 0Xda50, 0Xb550, 0X56a0, 0Xaad8, 0X25d0, 0X92d0, 0Xc958, 0Xa950, 0Xb4a8, 0X6ca0, /1950 0Xb550, 0X
7、55a8, 0X4da0, 0Xa5b0, 0X52b8, 0X52b0, 0Xa950, 0Xe950, 0X6aa0, 0Xad50, /1960 0Xab50, 0X4b60, 0Xa570, 0Xa570, 0X5260, 0Xe930, 0Xd950, 0X5aa8, 0X56a0, 0X96d0, /1970 0X4ae8, 0X4ad0, 0Xa4d0, 0Xd268, 0Xd250, 0Xd528, 0Xb540, 0Xb6a0, 0X96d0, 0X95b0, /1980 0X49b0, 0Xa4b8, 0Xa4b0, 0Xb258, 0X6a50, 0X6d40, 0Xad
8、a0, 0Xab60, 0X9370, 0X4978, /1990 0X4970, 0X64b0, 0X6a50, 0Xea50, 0X6b28, 0X5ac0, 0Xab60, 0X9368, 0X92e0, 0Xc960, /2000 0Xd4a8, 0Xd4a0, 0Xda50, 0X5aa8, 0X56a0, 0Xaad8, 0X25d0, 0X92d0, 0Xc958, 0Xa950, /2010 0Xb4a0, 0Xb550, 0Xb550, 0X55a8, 0X4ba0, 0Xa5b0, 0X52b8, 0X52b0, 0Xa930, 0X74a8, /2020 0X6aa0,
9、0Xad50, 0X4da8, 0X4b60, 0X9570, 0Xa4e0, 0Xd260, 0Xe930, 0Xd530, 0X5aa0, /2030 0X6b50, 0X96d0, 0X4ae8, 0X4ad0, 0Xa4d0, 0Xd258, 0Xd250, 0Xd520, 0Xdaa0, 0Xb5a0, /2040 0X56d0, 0X4ad8, 0X49b0, 0Xa4b8, 0Xa4b0, 0Xaa50, 0Xb528, 0X6d20, 0Xada0, 0X55b0, /2050 ; BYTE gLunarMonth= 0X00, 0X50, 0X04, 0X00, 0X20,
10、/1910 0X60, 0X05, 0X00, 0X20, 0X70, /1920 0X05, 0X00, 0X40, 0X02, 0X06, /1930 0X00, 0X50, 0X03, 0X07, 0X00, /1940 0X60, 0X04, 0X00, 0X20, 0X70, /1950 0X05, 0X00, 0X30, 0X80, 0X06, /1960 0X00, 0X40, 0X03, 0X07, 0X00, /1970 0X50, 0X04, 0X08, 0X00, 0X60, /1980 0X04, 0X0a, 0X00, 0X60, 0X05, /1990 0X00,
11、0X30, 0X80, 0X05, 0X00, /2000 0X40, 0X02, 0X07, 0X00, 0X50, /2010 0X04, 0X09, 0X00, 0X60, 0X04, /2020 0X00, 0X20, 0X60, 0X05, 0X00, /2030 0X30, 0Xb0, 0X06, 0X00, 0X50, /2040 0X02, 0X07, 0X00, 0X50, 0X03 /2050 ; BOOL IsLeapYear(WORD iYear) return !(iYear%4)&(iYear%100) | !(iYear%400); WORD GetLeapMon
12、th(WORD iLunarYear) BYTE &flag = gLunarMonth(iLunarYear - START_YEAR)/2; return (iLunarYear - START_YEAR)%2 ? flag&0x0f : flag4; LONG LunarMonthDays(WORD iLunarYear, WORD iLunarMonth) if(iLunarYear GetLeapMonth(iLunarYear) & GetLeapMonth(iLunarYear) iBit -; if(gLunarMonthDayiLunarYear - START_YEAR &
13、 (1iBit) low +; if(iLunarMonth = GetLeapMonth(iLunarYear) if(gLunarMonthDayiLunarYear - START_YEAR & (1 (iBit -1) height =30; else height =29; return MAKELONG(low, height); WORD LunarYearDays(WORD iLunarYear) WORD days =0; for(WORD i=1; i=12; i+) LONG tmp = LunarMonthDays(iLunarYear ,i); days += HIW
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 上机 报告
限制150内