万历系统课程设计报告.doc

上传人:laozhun 文档编号:4147048 上传时间:2023-04-07 格式:DOC 页数:10 大小:236.50KB
返回 下载 相关 举报
万历系统课程设计报告.doc_第1页
第1页 / 共10页
万历系统课程设计报告.doc_第2页
第2页 / 共10页
万历系统课程设计报告.doc_第3页
第3页 / 共10页
万历系统课程设计报告.doc_第4页
第4页 / 共10页
万历系统课程设计报告.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《万历系统课程设计报告.doc》由会员分享,可在线阅读,更多相关《万历系统课程设计报告.doc(10页珍藏版)》请在三一办公上搜索。

1、程序设计课程设计报告( 2011 - 2012 年度第 一 学期) 万年历系统专业计算机科学与软件技术学生姓名夏晶晶班级BM计算机101学号1501401122指导教师王 榕完成日期2011年 9月 9 日目 录1 概 述11.1 课程设计目的11.2 课程设计内容12 系统需求分析12.1 系统目标12.2 主体功能12.3 开发环境13 系统概要设计14系统详细设计15 测试25.1 测试方案25.2 测试结果26 小结2参考文献3参考文献3附 录4附录1 源程序清单4万年历系统1概述1.1 课程设计目的1、巩固并加深对C语言程序设计知识的理解;2、掌握和提高C语言编程和程序调试的基本技能

2、;3、进一步理解和运用结构化程序设计的思想和方法;4、提高运用C语言解决实际问题的能力; 5、初步掌握开发小型实用软件的基本方法;6、掌握书写程序设计开发文档的能力(书写课程设计实验报告)。1.2 课程设计内容1、根据分组情况对规定的课程设计题目要求进行分析、设计;2、利用Turbo C独立编写程序代码,并调试程序使其能正确运行;3、源程序要有适当的注释,使程序容易阅读;4、设计完成的软件要便于操作和使用,至少采用文本菜单界面(若能采用图形菜单界面更好);5、鼓励学生自动增加新功能模块(视情况可另行加分);6、完成并提交课程设计报告2.系统需求分析2.1 系统目标设计出相当于显示生活中在日历在

3、系统软件2.2 主体功能模仿现实生活中在挂历,以当前日期在月份为准,显示当前月在每一天(显示出日期及对应在星期几)当日期变更为下个月椒,系统自动翻页下个月C语言程序设计2.3开发环境C语言程序设计3系统概要设计系统流程图否否是是是月份i=12某天是星期几赋给tempi+月份i=1给j赋初值,j=1j=month-day(year,i)(j-temp=0j%7=0j+开始结束输出年月输出表示星期的数字字母输出j-temp的值打空格换行否输入年份主函数流程图是菜单1=i=4输入整数iSwitch(i)14否是判断润平年函数判断某天是星期几函数打印某年日历函数退出继续4系统详细设计总体设计(1)要输

4、入任一年显示出该年的所有月份日期,应该先设计具体的输出格式,如下: the calendar of the year2008.January Sun Mon Tue Wed Thu Fri Sat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2627 28 29 30 31(2)判断是不是闰年 (year%4!=0|year%100=0&year%400!=0)满足条件就是平年,把一年中的所有月份分为四类(28,29,30,31)。(3)求出一年中的第一天是周几 (year +(year-1)/4-(yea

5、r-1)/100+(year-1)/400)%7。(4)用指针数组存放十二个月的英文和星期的英文缩写。(5)测试详细设计1、先判断输入年份是否为闰年,若为闰年,则定义二月为29天,通过日用函数判断是否为闰年及每个月的天数依次打印12个月的月份打印每个月的日历,显示个每个月的日历:printf(%2s%2s%2s%2s%2s%2s%2sn, 星期日 , 星期一 , 星期二, 星期三 , 星期四 , 星期五 , 星期六 );。2、计算所输入的年份是否可被4整除,若不能被整除,为平年。若可被4整除,计算此年份能否被100整除,不能被100整除则为闰年。既能被4整除,也能被100整除的年份,若也能被4

6、00整除,则为闰年,否则为平年。闰年366天,平年365天。3、判断是不是闰年 (year%4!=0|year%100=0&year%400!=0)满足条件就是平年,把一年中的所有月份分为四类(28,29,30,31)。4、求出一年中的第一天是周几 (year +(year-1)/4-(year-1)/100+(year-1)/400)%7。5、用指针数组存放十二个月的英文和星期的英文缩写。5测试1在设计的万年历程序中运行程序。2 输入年份和月份,运行程序。6心得体会1、目前流行的计算机日历程序,便溺较典型的是windows各版本中的日历程序以及即处于该程序所开发的各种应用程序中的日历程序。然

7、而,这些程序都干篇一律的局限在一个很短的时间范围内。(windows各个版本一般都局限在1980年至2009年这一范围内),但是,在很多情况下,特别是在众多的科学研究领域中,一个时间跨度较大的日历程序是很有参考价值的。C程序设计语言充分发挥了其自身无与伦比的优越性,用极短的程序文本填补了这一领域的空口,同时用铁的事实强有力的告诉世人:c程序设计语言作为计算机语言家教的新生事物,其发展前景是极为广阔的。2、经过一年对C程序的学习。我们学习了理论知识,了解了c语言设计的思想,这些知识都为我们的下一步学习打下了坚实的基础。通过课程设计,一方面是为了检查我们一学期以来我们学习的成果,另一方面也是为了让

8、我们进一步的掌握和运用它,同时让我们认清自己的不足之处和薄弱环节,加以弥补和加强。3、通过对c语言万年历的设计进一步巩固了用c语言编写程序,并且有利于更好的掌握c语言。参考文献1谭浩强.C程序设计(第三版)M.北京:清华大学出版社,2005. 2谭浩强.C程序设计题解与上机指导(第三版)M.北京:清华大学出版社,2005附录源程序清单#includeint leapyear(int year) /函数判断闰年 if(year%4=0&year%100!=0|year%400=0) return 1;else return 0;int sumyearday(int year) /函数输出年份前的

9、天数int i,startyear=1,m=0;for(i=startyear;iyear;i+) m+=leapyear(i);return (366*m+365*(year-startyear+1-m);int summonthday(int month,int year) /函数输出该年月份前的天数int p=0,i;int everymonth13=0,31,28,31,30,31,30,31,31,30,31,30,31,0,31,29,31,30,31,30,31,31,30,31,30,31; for(i=0;imonth;i+) p+=everymonthleapyear(ye

10、ar)i;return p; int sum(int month,int year) /函数 从起始日期 本万年历从1年1日开始到输出年份月份的总天数return (sumyearday(year)+summonthday(month,year);void main() int everymonth13=0,31,28,31,30,31,30,31,31,30,31,30,31,0,31,29,31,30,31,30,31,31,30,31,30,31; /该月份的天数int month,year,t,i,day;printf(Input year and month:n);scanf(%d%

11、d,&year,&month); /输入月份年份 day=everymonthleapyear(year)month;switch(month) /输出月份case 1:printf(tJanuary );break;case 2:printf(tFebruary );break;case 3:printf(tMarch );break;case 4:printf(tApril );break; case 5:printf(tMay );break;case 6:printf(tJune );break;case 7:printf(tJuly );break;case 8:printf(tAu

12、gust );break;case 9:printf(tSeptember );break;case 10:printf(tOctober );break;case 11:printf(tNovember );break;case 12:printf(tDecember );break;printf( %dn,year); /输出年份printf( Sun Mon Tue Wed Thu Fri Satn);t=sum(month,year)%7; /t表示星期几if(t=0) /如果是星期日 直接从第一个数字起输出日子 for(i=1;i=day;i+) printf(%4d,i); if(i%7=0)printf(n); else for(i=0;it;i+) /如果不是周日 那么先输空格 再输入日子 printf( ); for(i=1;i=day;i+) printf(%4d,i); if(i%7=7-t)printf(n); printf(nnnnnn);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号