C++万年历课程设计报告.docx
《C++万年历课程设计报告.docx》由会员分享,可在线阅读,更多相关《C++万年历课程设计报告.docx(10页珍藏版)》请在冰豆网上搜索。
![C++万年历课程设计报告.docx](https://file1.bdocx.com/fileroot1/2022-12/12/7262f706-5dcb-45f5-b995-00a03a4fe1b3/7262f706-5dcb-45f5-b995-00a03a4fe1b31.gif)
C++万年历课程设计报告
存档资料成绩:
华东交通大学理工学院
课程设计报告书
所属课程名称C++程序设计课程设计
题目 万年历
分院 电信分院
专业班级2012级计算机
(1)班
学 号**************
学生姓名 陶志敏
指导教师 肖盛文
2013年6月16日
第一章需求分析....................................................................3
致谢..........................................................................................14
第一章需求分析
如今的社会是一个信息的时代,随着电脑等科技产品在人们生活中占据着越来越重要的地位,人们就会越加的善加利用,这为我们的生活带来了极大的效率,同时计算机的普及更可以看出它所占的地位。
万年历作为日常中的一种小工具,它具有多方面的小工能,主要在日期的显示上给人以直观的表达效果,在日期的查询上方便简洁,还有就是在某些节日的提醒上都给我们带来极大的方便
,是一种比较实用的小工具。
我们每个人都可以在自己的个人电脑上进行制作,一方面不仅可以加强巩固我们对C++语言的学习,还可以通过自主的编程找到自身的缺点。
这对培养我们自身的创新能力和动手能力具有很大的作用。
第二章概要设计
1.设计要求
程序完成运行时,能过正确的表达出所输入年份的万年历。
2.总体设计
<1>实现操作流程图
<2>程序设计流程图
第三章详细设计与编码
<1>源代码
#include
#include
usingnamespacestd;
intmonthday(intyear,intmonth);
intnewdays(intyear);
//输出日历表
intoutput(intyear)
{
inti,j,k,n;
intfirstmonthday[12];
charmonth[12][10]={{"一月"},{"二月"},{"三月"},{"四月"},{"五月"},{"六月"},{"七月"},{"八月"},{"九月"},{"十月"},{"十一月"},{"十二月"}};
charweekday[]={"日一二三四五六"};
for(i=0;i<12;i++)
{
if(i==0)
firstmonthday[i]=newdays(year);
else
firstmonthday[i]=(firstmonthday[i-1]+monthday(year,i))%7;
}
intmonth1[6][7],month2[6][7],month3[6][7];
cout<for(i=0;i<12;i+=2)
{
cout<cout<for(j=0;j<6;j++)
{
for(k=0;k<7;k++)
{
month1[j][k]=k+1-firstmonthday[i]+j*7;
month2[j][k]=k+1-firstmonthday[i+1]+j*7;
}
for(n=0;n<7;n++)
{
if(month1[j][n]<1||month1[j][n]>monthday(year,i+1))
cout<<"";
else
cout<}
cout<<'\t';
for(n=0;n<7;n++)
{
if(month2[j][n]<1||month2[j][n]>monthday(year,i+2))
cout<<"";
else
cout<}
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;
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;
else
day=(year+(year/4)-(year/100)+(year/400))%7;
returnday;
}
//主函数实现
intmain()
{
intyear;
charchoose;
next:
cout<<"-----------------------------------------\n";
cout<<"-欢迎使用万年历查询-\n";
cout<<"-----------------------------------------\n";
cout<<"请输入你所要查询的年份:
";
cin>>year;
output(year);
}
第四章调试分析
<1>程序运行测试
①进入程序界面:
(进入程序的第一步)
②输入所查年份:
(例上输入所查年月2013)
③现实所查年份万年历:
(以上就是完整的输出结果)
第五章用户使用说明
这是一个简单的万年历编程,用户可以通过键入所查的年份,便可以轻松快速的查询这一年的万年历,使用用户在运行程序后,可以通过界面的指示键入所查的年份。
设计心得
通过几天的不懈努力,这一份C++的课程设计终于在自己的努力与同学的帮助下顺利的完成了。
前期可能是自己的一些方面薄弱,并没有完全的理解一些代码,从而设计出来的程序编译出错,还好在一些知识能力强的同学下进行了合理的改正才有了现在的这个完整的程序。
设计一个万年历的程序之前,可能都是有自己大概的一点想法,也许看上去简单,但通过实际的操作我便发现,各种细小的错误都可能会出现,这便让我意识到个人平时的动手操作还是有欠缺的。
所以还是如老师讲的那般,以电脑软件的检验来通过不断的练习完善自己的薄弱点。
通过这次为数不多的几天计算机实践学习,加上这学期的学习,我了解了一些关于c++语言的知识,理解巩固了我c++语言的理论知识,开始可能学的枯燥,但不断的深入便能发现他的有趣点,就如这一次万年历的设计,所以这便更容易让我感觉到,只要认真的学了,加上自己的汗水,还是一样能够有收获的。
参考文献
作者:
周蔼如林伟键C++程序设计基础
作者:
谭浩强C++程序设计
XX文库:
致谢