ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:117.66KB ,
资源ID:4060340      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4060340.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++万年历课程设计.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

C++万年历课程设计.docx

1、C+万年历课程设计河南城建学院高级语言课程设计报告书题 目: 输出万年历问题 系 部: 计算机系 专 业: 数字媒体技术 班 级: 0824091班 姓 名: 罗龙生 学 号: 082409135 指导教师: 崔雪冰、仝瑞阳 2010年 8 月 31 日一、课程设计题目 已知2000年1月1日为星期六,请输入任一年的年份后,打印该年的年历;二、设计要求本系统应完成如下功能:已知2000年一月一日是星期六,再输入任一年的年份,该系统能打印出该年的年历。1、输入记录输入源程序,并对各部分有一个详细的解释,说明各个部分的功能,将这个问题模块化,分成几个部分的输入。2、程序中数据的设计此题需要考虑的情

2、况比较多,诸如大月小月的判断,闰年非闰年的判断以及年历的排列方式都得用数据的形式给表示出来,所以数据的的设计也是比较多的,具体如下:int i,c,day,year,k,a50;具体说明如下:i(此变量是用来排列年历的),c(c是和year变量是一样的,是从计算机中输入的),day(day变量是是相差的天数),k(k是用来输出星期的)。3、程序的函数设计 C+是函数驱动的,所以很多的功能是需要用函数来完成的。本题我们共有6个函数,其中有5个自定义函数和一个主函数。分别是:void f1(int x) ,void f2(int x),void f3(int x) ,void f4(int x)

3、,void g(int y,int z) 和main函数。各个函数的功能是:f1:判断1号之前的天数并全部用空格填上。f2:用来判断大小月的。f3:用来判断并输出闰年的二月的。f4:用来判断并输出非闰年二月的。g:用来输出日历表的。 三、数据结构说明本系统数据结构较简单,只有一个结构数组,预定50个元素。定义结构类型如下:for( i=0;i50;i+) ai=33;四、系统功能模块图五、各功能模块(函数)的算法处理1、大月和小月的定义void f1(int x) /大月 for( i=0;i=0;i-) ai=000; /1号前均为空格 for(i=k;i31+k;i+) ai=ai-1+1

4、;主要运用了数组的循环语句进行对大月的定义。void f2(int x) /小月 for( i=0;i=0;i-) ai=000; for(i=k;i30+k;i+) ai=ai-1+1;依然用数组的循环语句进行对小月的定义。数组的循环语句是C+中一个很重要的知识,数组可以节省很多的定义,一个句子就可以就可以输出很多的数,这样大大减少了计算机的存储空间。这正是一个很打的进步。2 、闰年与非闰年二月的定义void f3(int x) /闰年二月 for( i=0;i=0;i-) ai=000; for(i=k;i29+k;i+) ai=ai-1+1;void f4(int x) /非闰年二月 f

5、or( i=0;i=0;i-) ai=000; for(i=k;i28+k;i+) ai=ai-1+1; 用两个函数定义了在闰年与非闰年时,二月的不同定义。这主要运用到变量的不同定义。从而分辨出它们的不同,使可打印出任一年的日历。3、日历表的输出int s,count=0; coutyear; coutendl; c=year; for(s=1;s=year;s+) if(s-1)%4=0&(s-1)%100!=0)|(s-1)%400=0) count+; day=365*c+count; /相差天数 cout*year年日历*; coutendlendlendlendl;在此运用了C+中函

6、数的运算,计算出该年的每月每日的不同。还有一年的输入和输出。在C+语言中,函数的运算又分为很多种,此次用的是在输出时,闰年与非闰年二月的输出法的定义if(year%4=0&year%100!=0)|year%400=0) /闰年二月 k=(day+31)%7+6)%7+1; cout二月endlendl; f3(k); g(a,50); day=day+31+29; else /非闰年二月 k=(day+31)%7+6)%7+1; cout二月endlendl; f4(k); g(a,50); day=day+31+28; 此处主要运用了if语句来对闰年与非闰年的二月的不同定义的输出。if语句

7、一种可跳过不符合条件的语句,继续下面的语句的执行。它具有很强的实用性。在实际的操作中经常会用到的,是一个很重要的知识。六、效果图1、运行程序 2、输入数据并运行程序输出结果七、流程图1. 图一 输入的年份 判断从定义年到输入的年份中每个年份是否为闰年是 否每年为366天 每年为365天 返回该年的天数2. 图二 输入的年份 判断输入年是否为定义年 是 否总天数S=1总天数S为定义年到输入年的总天数把S加上该年到输入年份的天数,再加1判断输入的年份是否为闰年是 否该年是否有二月 是 否把S加上该 年到输入年份的天数把S再加上该 把S加上该年年的天数 到输年天数 再加1总天数为S判断S的最后一天为

8、星期几从这一天起依次输出输入年份的天数直到该年底为止八、课程设计心得及体会经过一周的不懈努力,很高兴能完成一个C+编程,紧张的心终于可以平静了。从中体会到以及学习到很多关于C+的很大方面的只是,是我更加了解了C+,并更加熟练了C+。在此次设计中我也遇到了很多的问题,都是经过查看老师所给的关于课程设计书和图书馆借的书才明白所用函数的用法,更重要的是上课时老师的细心教学,使我们学会了许多关于C+的基础知识,为本次的课程设计打好了很好的基础。从而使我能够顺利完成这次课程设计。在本次做课程设计过程中,要感谢崔雪冰、仝瑞阳老师的悉心关照,一直陪伴我们,并为大家讲解不懂的地方,很是辛苦,也很是忙碌。还要感

9、谢学院为我们此次课程设计提供机房,让我们有了良好的学习环境可以利用所学做课程设计,从很大的程度上增强了我们对于C+学习的兴趣。和小组成员一块讨论,多听听别人的想法,想办法改进自己,这是我受益匪浅。只有比较才知道自己的不足。我们一定要好好的改正自己的不足之处,完善自己。不做最好,只做更好!努力在老师规定的时间内完成老师所规定的任务。结束课程设设的时侯,心里就有一种很渴望但又很害怕的感觉,明白了自己与实际所需的距离,因为现在毕业求职难,特别是对于像自己一般的人,更多的时侯是社会,职业选择自己,而不是更多的自己去选择职业,所以更应该把所学的知识灵活地用于实践,这次课设就是对自己一个很好的锻炼机会,无

10、论任何的偿试,都是自己以后很宝贵的经验,更是对自己的一种充实。通过实践的学习,我认到学好计算机要重视实践操作,不仅仅是学习C+,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己更好地学好计算机。九、源程序清单 #include#includeusing namespace std;int i,c,day,year,k,a50;void f1(int x) /大月 for( i=0;i=0;i-) ai=000; /1号前均为空格 for(i=k;i31+k;i+) ai=ai-1+1;void f2(int x) /小月 for( i=0

11、;i=0;i-) ai=000; for(i=k;i30+k;i+) ai=ai-1+1;void f3(int x) /闰年二月 for( i=0;i=0;i-) ai=000; for(i=k;i29+k;i+) ai=ai-1+1;void f4(int x) /非闰年二月 for( i=0;i=0;i-) ai=000; for(i=k;i28+k;i+) ai=ai-1+1;void g(int y,int z) / 输出日历表 cout日t一t二t三t四t五t六endl; for(i=0;i50;i+) if(ai=0) cout(char)ait; if(ai!=0&ai!=33

12、) coutait; else ; if(i%7=0) coutendl; coutendlendlendl;int main() int s,count=0; coutyear; coutendl; c=year; for(s=1;s=year;s+) if(s-1)%4=0&(s-1)%100!=0)|(s-1)%400=0) count+; day=365*c+count; /相差天数 cout*year年日历*; coutendlendlendlendl; k=(day%7+6)%7+1; cout一月endlendl; f1(k); g(a,50); if(year%4=0&year

13、%100!=0)|year%400=0) /闰年二月 k=(day+31)%7+6)%7+1; cout二月endlendl; f3(k); g(a,50); day=day+31+29; else /非闰年二月 k=(day+31)%7+6)%7+1; cout二月endlendl; f4(k); g(a,50); day=day+31+28; k=(day%7+6)%7+1; cout三月endlendl; f1(k); g(a,50); k=(day+31)%7+6)%7+1; cout四月endlendl; f2(k); g(a,50); k=(day+31+30)%7+6)%7+1;

14、 cout五月endlendl; f1(k); g(a,50); k=(day+31+30+31)%7+6)%7+1; cout六月endlendl; f2(k); g(a,50); k=(day+31+30+31+30)%7+6)%7+1; cout七月endlendl; f1(k); g(a,50); k=(day+31+30+31+30+31)%7+6)%7+1; cout八月endlendl; f1(k); g(a,50); k=(day+31+30+31+30+31+31)%7+6)%7+1; cout九月endlendl; f2(k); g(a,50); k=(day+31+30+

15、31+30+31+31+30)%7+6)%7+1; cout十月endlendl; f1(k); g(a,50); k=(day+31+30+31+30+31+31+30+31)%7+6)%7+1; cout十一月endlendl; f2(k); g(a,50); k=(day+31+30+31+30+31+31+30+31+30)%7+6)%7+1; cout十二月endlendl; f1(k); g(a,50); return 0; 十、参考文献【1】谭浩强 著.C+面向程序程序设计.北京:清华大学出版社,2006.7【2】钱能 著.C+程序设计教程(修订版)设计思想与实现.北京:清华大学出版社,2009.7【3】周玉龙 刘璟 著.高级语言C程序设计编程范例与精解. 高等教育出版社 2003.4

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2