您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C++万年历课程设计报告
存档资料成绩:华东交通大学理工学院课程设计报告书所属课程名称C++程序设计课程设计题目万年历分院电信分院专业班级2012级计算机(1)班学号20120210440115学生姓名陶志敏指导教师肖盛文2013年6月16日课程设计报告书............................................................1第一章需求分析....................................................................3第二章概要设计....................................................................4第三章详细设计与编码........................................................6第四章调试分析......................................................................9第五章用户使用说明............................................................12设计心得..................................................................................13参考文献............................................................................14致谢..........................................................................................14华东交通大学理工学院课程设计报告第3页共14页第一章需求分析如今的社会是一个信息的时代,随着电脑等科技产品在人们生活中占据着越来越重要的地位,人们就会越加的善加利用,这为我们的生活带来了极大的效率,同时计算机的普及更可以看出它所占的地位。万年历作为日常中的一种小工具,它具有多方面的小工能,主要在日期的显示上给人以直观的表达效果,在日期的查询上方便简洁,还有就是在某些节日的提醒上都给我们带来极大的方便,是一种比较实用的小工具。我们每个人都可以在自己的个人电脑上进行制作,一方面不仅可以加强巩固我们对C++语言的学习,还可以通过自主的编程找到自身的缺点。这对培养我们自身的创新能力和动手能力具有很大的作用。华东交通大学理工学院课程设计报告第4页共14页第二章概要设计1.设计要求程序完成运行时,能过正确的表达出所输入年份的万年历。2.总体设计1实现操作流程图运行万年历程序进入程序界面输入所查年份输出万年历输出万年历华东交通大学理工学院课程设计报告第5页共14页2程序设计流程图万年历设计编写相关代码平年闰年区分进行编译修改完成代码编写华东交通大学理工学院课程设计报告第6页共14页第三章详细设计与编码1源代码#includeiostream#includeiomanipusingnamespacestd;intmonthday(intyear,intmonth);intnewdays(intyear);//输出日历表intoutput(intyear){inti,j,k,n;intfirstmonthday[12];charmonth[12][10]={{一月},{二月},{三月},{四月},{五月},{六月},{七月},{八月},{九月},{十月},{十一月},{十二月}};charweekday[]={日一二三四五六};for(i=0;i12;i++){if(i==0)firstmonthday[i]=newdays(year);elsefirstmonthday[i]=(firstmonthday[i-1]+monthday(year,i))%7;}intmonth1[6][7],month2[6][7],month3[6][7];coutyear年endl;for(i=0;i12;i+=2){coutsetw(4)month[i]setw(17)'\t'setw(4)month[i+1]endl;coutweekday\tweekdayendl;for(j=0;j6;j++){华东交通大学理工学院课程设计报告第7页共14页for(k=0;k7;k++){month1[j][k]=k+1-firstmonthday[i]+j*7;month2[j][k]=k+1-firstmonthday[i+1]+j*7;}for(n=0;n7;n++){if(month1[j][n]1||month1[j][n]monthday(year,i+1))cout;elsecoutsetw(3)month1[j][n];}cout'\t';for(n=0;n7;n++){if(month2[j][n]1||month2[j][n]monthday(year,i+2))cout;elsecoutsetw(3)month2[j][n];}cout'\n';}}return0;}//判断某年某月的天数intmonthday(intyear,intmonth){intd;switch(month){case1:case3:case5:case7:case8:case10:case12:d=31;break;case4:case6:case9:case11:d=30;break;case2:if((year%4==0)&&(year%100!=0)||(year%400==0))d=29;华东交通大学理工学院课程设计报告第8页共14页elsed=28;}returnd;}//判断元旦的星期几intnewdays(intyear){intday;if((year%4==0)&&(year%100!=0)||(year%400==0))day=(year-1+(year/4)-(year/100)+(year/400))%7;elseday=(year+(year/4)-(year/100)+(year/400))%7;returnday;}//主函数实现intmain(){intyear;charchoose;next:cout-----------------------------------------\n;cout-欢迎使用万年历查询-\n;cout-----------------------------------------\n;cout请输入你所要查询的年份:;cinyear;output(year);}华东交通大学理工学院课程设计报告第9页共14页第四章调试分析1程序运行测试①进入程序界面:(进入程序的第一步)②输入所查年份:(例上输入所查年月2013)华东交通大学理工学院课程设计报告第10页共14页③现实所查年份万年历:华东交通大学理工学院课程设计报告第11页共14页(以上就是完整的输出结果)华东交通大学理工学院课程设计报告第12页共14页第五章用户使用说明这是一个简单的万年历编程,用户可以通过键入所查的年份,便可以轻松快速的查询这一年的万年历,使用用户在运行程序后,可以通过界面的指示键入所查的年份。华东交通大学理工学院课程设计报告第13页共14页设计心得通过几天的不懈努力,这一份C++的课程设计终于在自己的努力与同学的帮助下顺利的完成了。前期可能是自己的一些方面薄弱,并没有完全的理解一些代码,从而设计出来的程序编译出错,还好在一些知识能力强的同学下进行了合理的改正才有了现在的这个完整的程序。设计一个万年历的程序之前,可能都是有自己大概的一点想法,也许看上去简单,但通过实际的操作我便发现,各种细小的错误都可能会出现,这便让我意识到个人平时的动手操作还是有欠缺的。所以还是如老师讲的那般,以电脑软件的检验来通过不断的练习完善自己的薄弱点。通过这次为数不多的几天计算机实践学习,加上这学期的学习,我了解了一些关于c++语言的知识,理解巩固了我c++语言的理论知识,开始可能学的枯燥,但不断的深入便能发现他的有趣点,就如这一次万年历的设计,所以这便更容易让我感觉到,只要认真的学了,加上自己的汗水,还是华东交通大学理工学院课程设计报告第14页共14页一样能够有收获的。参考文献作者:周蔼如林伟键C++程序设计基础作者:谭浩强C++程序设计百度文库:致谢
本文标题:C++万年历课程设计报告
链接地址:https://www.777doc.com/doc-7122743 .html