万年历系统课程设计报告

上传人:仙*** 文档编号:136418859 上传时间:2022-08-16 格式:DOC 页数:10 大小:236.50KB
收藏 版权申诉 举报 下载
万年历系统课程设计报告_第1页
第1页 / 共10页
万年历系统课程设计报告_第2页
第2页 / 共10页
万年历系统课程设计报告_第3页
第3页 / 共10页
资源描述:

《万年历系统课程设计报告》由会员分享,可在线阅读,更多相关《万年历系统课程设计报告(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);

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!