c语言作业年历显示报告,c语言程序设计年历显示

《c语言程序设计年历显示》由会员分享,可在线阅读,更多相关《c语言程序设计年历显示(13页珍藏版)》请在人人文库网上搜索。

1、计算机科学与技术学院课程设计报告2012 2013学年第 一 学期课程名称 C/C+高级语言程序设计课程设计 设计题目 年历显示 学生姓名 学 号 专业班级 指导教师 2012 年 9 月 20 日目 录一、课程设计问题描述11.课程设计题目12.设计任务要求1二、总体设计11.总体思路12.遇到的问题13.问题的解决14.大概的流程图1三、详细设计31.显示输入年份的日历32.显示所查询月份的日历43.判断当天是星期几,是否为法定假日4四、运行结果测试与分析51.输出结果52.分析7五、结论与心得7一、课程设计问题描述1.课程设计题目年历显示2.设计任务要求功能要求(1)输入一个年份,输出是。

2、在屏幕上显示该年的日历。假定输的年份在1940-2040年之间。(2)输入年月,输出该月的日历。(3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。二、总体设计1.总体思路想要实现输出某年的日历,必须知道一个常识,那就是公元一年一月一日是星期一,这是一个重要的切入点。如果知道了这一点,那问题就迎刃而解了。我们可以先计算出公元一年一月一日到这年一月一日之前的总天数,这用for语句较易实现,不过要注意到平年与闰年的区别。有了总天数,再除以7,余数是什么,那这年的一月一日就是星期几,如此依次写出一月的日历。然后一月的天数加上总天数得到的结果再除以7,如此知道二月一日是星期几,写出二月的月。

3、历。如此便可以依次写出一到十二月的日历。至于输入年月,输出该月的日历,思路相同。至于判断是否为公历节日,用一个if语句便可实现。2.遇到的问题(1)函数的调用与套用,具体来说就是如何在一个构造的函数中调用另一个构造函数。(2)把每月的日历设计的美观,如何让星期和下面的数字对齐。(3) 如何把握日历的前几天的空格,使每月的第一天正好对在它应该的星期下。3.问题的解决第一个问题我通过查书,需要先把调用的函数在该构造函数中声明。至于第二和第三个问题,都是通过反复调试,反复修改,最后基本达到了要求。4.大概的流程图 开始输入你查询的年份输入年月输入年月日和当前日期判断所输入的年份是否为闰年判断当天是星。

4、期几,是否为法定假日how(),where()how(),where()how(),where(),why(),when()输出该年的日历输入所查询月份的日历结束三、详细设计1.显示输入年份的日历当我们输入年份任意公元后的年份year时,可以通过一个for语句,算出从公元一年到year-1年的总天数,这其中要注意平年与闰年的区别,平年365天,闰年是366天,把这一部分用how()函数表示。算出总天数Z后,用Z除以7,余数是d,则year这一年的一月一日便是星期d。如此则一月的日历可表示出来。然后把Z加上一月的天数tian得到的新值赋给Z,再用Z除以7,重新得到新的余数d,如此可知二月的第一天。

5、是星期几,可表示出二月的日历。依次循环,用for(i=0;iint how(int A)int i,s=0,day;for (i=1;i=A-1;i+) if (i%4=0 & i%100!=0 | i%400=0)day=366;elseday=365;s=s+day;return s;int where(int B,int C)int tian;switch(C) case 1:tian=31;break;case 2:if (B%4=0 & B%100!=0 | B%400=0)tian=29;elsetian=28;break;case 3: tian=31;break;case 4:。

6、tian=30;break;case 5:tian=31;break;case 6:tian=30;break;case 7:tian=31;break;case 8:tian=31;break;case 9:tian=30;break;case 10: tian=31;break; case 11: tian=30;break;case 12: tian=31;break;return tian;void why(int E)switch(E)case 1: printf(该日星期一n);break;case 2: printf(该日星期二n);break;case 3: printf(该日。

7、星期三n);break;case 4: printf(该日星期四n);break;case 5: printf(该日星期五n);break;case 6: printf(该日星期六n);break;case 7: printf(该日星期日n);break;void when(int F,int G)if (F=1 & G=1 | F=5 & G=1 | F=10 & G=1)printf (当天为法定节日);elseprintf (当天不是法定节日);void main()int year,d,j,Z,di,did,m,n,D,x,y,z,h,k,l,jian,Z1;printf (输入你所查。

8、寻日历的年份:);scanf (%d,&year);Z=how(year);for (j=1;j=12;j+)d=Z%7;printf(n);printf ( %d月份n,j);printf (sun mon tue wed thu fri satn);if (d6)for (di=1;di=d+1;di+)printf( );for (did=1;did=where(year,j);did+)printf (%d,did);if (did10)printf ( );elseprintf ( );if (did=6-d | (did-6+d)%7=0 | did=where(year,j)pr。

9、intf (n);Z=Z+where(year,j);printf (输入所查日历的年月);scanf (%d%d,&m,&n);Z=how(m);for (j=1;j=n-1;j+)D=where(m,j);Z=Z+D;d=Z%7;printf(n);printf ( %d月份n,j);printf (sun mon tue wed thu fri satn);if (d6)for (di=1;di=d+1;di+)printf( );for (did=1;did=where(year,j);did+)printf (%d,did);if (did10)printf ( );elseprin。

10、tf ( );if (did=6-d | (did-6+d)%7=0 | did=where(year,j)printf (n);printf (输入年月日);scanf (%d%d%d,&x,&y,&z);Z=how(x);for (j=1;j=y-1;j+)D=where(x,j);Z=Z+D;Z=Z+z;printf (输入当前年月日);scanf (%d%d%d,&h,&k,&l);Z1=how(h);for (j=1;j=k-1;j+)D=where(k,j);Z1=Z1+D;Z1=Z1+l;jian=Z1-Z;printf (输入日期距今有%d天n,jian);d=Z%7;why(d);when(y,z);函数释意how() 计算公元一年一月一日到输入年份之前的总天数的函数where() 实现判断每月天数的函数when() 实现判断输入日期是星期几的函数why() 实现判断输入日期是否为法定节日的函数。

八、心得体会 1. 目前流行的计算机日历程序,比较典型的是Windows各版本中的日历程序以及基础于该程序所开发的各种应用程序中的日历程序。然而,这些程序都千篇一律的局限在一个很短的时间范围内。(Windows各个版本一般都局限在1980年至2099年这一范围内),但是,在很多情况下,特别是在众多的科学研究领域中,一个时间跨度较大的日历程序是很有参考价值的。C程序设计语言充分发挥了其自身无与伦比的优越性,用极短的程序文本填补了这一领域的空白,同时用铁的事实强有力的告诉世人:C程序设计语言作为计算机语言家族的新生事物,其发展前景是极为广阔的。 2. 经过上一个学期对《C程序设计》的学习,我们学习了理论知识,了解了C语言程序设计的思想,这些知识都为我们的下一步学习打下了坚实的基础。通过课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。 3. 通过对c语言年历的设计进一步的巩固了用c语言编写程序,并且有利于更好的掌握c语言! 4. 在万年历的编写过程中也体会到了做事情一顶要细心、认真。更加知道了要掌握好基础知识。还有体会到了成功的感觉!在万年历的设计过程中更加体会到了团队合作的重要性,“一个诸葛亮比不上三个臭皮匠。”知道了只有团队合作才会更好的完成设计!也体会到以后在工作中团队合作的必要性和重要性! 5. 通过本项课程设计也培养了我独立思考、 综合运用所学有关相应知识的能力,掌握 工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关! 6. 由于C语言是近年在国内外得到迅速推广应用的一种语言。C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。通过这次的c语言程序设计更加了解了c语言的好处和其可用性! 7. 在这次课程设计中也知道了自己的动手能力不强有待进一部的提高!在设计过程中不能够把书本上的知识与实践相结合,这也就增加了设计不好该程序的想法!在设计过程中的一次次设计错误增加了我放弃的想法!不过经过大家的努力终于完成了课程设计!完成该程序后想起自己以前的每一次对自己失去信心,就觉得并不是在知识掌握上打败了,而是自己对自己缺乏信心!只要自己对自己不失去信心相信就可以完成那些以前认为完成不了的事情!也让我懂得了要想成功首先就必须有很强的自信心!懂得了自己以后要在做任何事情时都要自信!当自己都不相信自己能够成功时还可能会获得成功吗?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值