万年历课程设计张海强2DOC_第1页
万年历课程设计张海强2DOC_第2页
万年历课程设计张海强2DOC_第3页
万年历课程设计张海强2DOC_第4页
万年历课程设计张海强2DOC_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、存档资料成绩:C+语言及程序设计宋岚宋岚华东交通大学课程设计报告书所属课程名称题 目院(系)班 级学 号学生姓名指导教师辅导教师2014年6月27日课程设计(论文)任务书电气与电子工程学 院电气工程及其自动化 专 业13-8班一、课程设计(论文)题目:万年历二、课程设计(论文)工作自2014年_6_月23日起至2014 年_6_月竺 日止三、课程设计(论文)地点:8 501四、课程设计(论文)内容要求:1. 本课程设计的目的( 1)进一步巩固和加深对“ C + +程序设计”课程基本知识的理解和掌握,了解C+语言在项目开发中的应用。(2) 学习程序设计开发的一般方法,了解和掌握项目开发过程及方式

2、,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。( 3)通过对标准化、规范化文档的掌握并查阅有关技术资料等,培养项目设计开发能力,同时提倡团队合作精神。2. 课程设计的任务及要求1) 基本要求:(1) 对系统功能进行需求分析;(2) 使用Visual C+编译器进行程序编译;(3) 提出系统的设计方案;(4编写源程序代码并进行调试。2) 创新要求在基本要求达到后,可进行创新设计。3) 课程设计报告撰写及装订要求课程设计报告的撰写要求表述简明,图表准确。报告按如下内容和顺序用A4纸进行打印并装订成册。(1) 封面采用统一的课程设计封面,并按要求填写好封面要求的个人信息和选题。

3、(2) 设计任务书(3) 评阅书(4) 目 录(5) 正文(6) 主要参考文献4)课程设计评分标准:每人按指定题目进行设计,严禁抄袭,要求每人自己动手编写程序,采取同一组同时检查程序及运行结果,检查时同组成员每人陈述自己的分工,同一选题不同组如发现代码完全一样,则双方都作不及格处理。(1) 达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分;(2) 能正确回答设计的中老师所提问题,可增加10分;(3) 课程设计报告书写规范整齐,可增加10分;(4)心得体会认真总结,可增加 10分;(5)程序有创新性,可增加 10分;成绩评定实行优秀、良好、中等、及格和不及格五个等级。不及格者需重做

4、。5)课程设计进度安排(1)准备阶段(3学时):选择设计题目、了解设计目的要求、查阅相关资料。(2)程序模块设计分析阶段(4学时):程序总体设计、详细设计。(3)代码编写调试阶段(10学时):程序模块代码编写、调试、测试。(4)撰写论文阶段(3学时):总结课程设计任务和设计内容,撰写课程设计论文。6)课程设计题目具体要求:(1)程序运行时,首先给出 3个菜单选项的内容和输入提示:1显示一年的日历2显示某一天是星期几3根据日期查询节日4根据节日查询日期0退出(2)用户可以通过主菜单选择不同的选项。若选择 1,则通过输入年份,显示输出 该年每个月的日历;若选择2,则通过输入日期,查询这一天是星期几

5、;若选择三,则通过输入日期查询节日;若选择4,则通过输入节日名称代表序号查询其日期;若选择0,则退出。学生签名:2014年 6月27 日第3页第3 页课程设计(论文)评阅意见序号项目等级优秀良好中等及格不及格1课程设计态度评价2出勤情况评价3任务难度评价4工作量饱满评价5设计中创新性评价6论文书写规范化评价综合评定等级评阅人宋岚职称 讲师2014年6月29日第#页目录第 1 章需求分析 1第 2 章概要设计 2第 3 章详细设计 5第 4 章运行结果及分析 14第 5 章课程设计心得。 21参考文献 22第 1 章需求分析目前的计算机日历程序,比较典型的是 Windows 各版本中的日历程序

6、以及基于该程序所开发的各种应用程序中的日历程序。然而,这些程序都 是千遍一律的局限于一个很短的时间内。但是,很多情况下,特别是在众 多的科学领域中,一个时间跨度较大的程序是有参考价值的。C+程序设计 语言充分发挥了其自身无与伦比的优越性,用极短的程序文本就弥补了这 一领域的空白。万年历作为日常中的一种小工具,它具有多方面的小工能,主要在日 期的显示上给人以直观的表达效果,在日期的查询上方便简洁 ,还有就是在 某些节日的提醒上都给我们带来极大的方便 ,是一种比较实用的小工具。 给人的需求性很大,学生在做此万年历课程设计的同时,能够认识到 C+ 编程给人带来的便捷,也能够清楚万历年表编程的出入。对

7、培养学生的创 新能力和动手能力具有很大的作用。这次制作万年历对学生以后学习单片机控制制作万年历培养了逻辑思 维能力。让学生对生活中的家电及机器等等的自动化运作充满了热情。由 万年历又能引发学生对时钟,计数器,抢答器等的联想。第 2 章 概要设计1 设计要求:(1)程序运行时,首先给出 3 个菜单选项的内容和输入提示:1 显示一年的日历2 显示某一天是星期几3 根据日期查询节日4 根据节日查询日期0 退出( 2)用户可以通过主菜单选择不同的选项。若选择1,则通过输入年份,显示输出该年每个月的日历;若选择 2,则通过输入日期,查询这一天是星期几;若选择三,则 通过输入日期查询节日; 若选择 4,则

8、通过输入节日名称查询其日期; 若选择 0,则退 出。2 总体设计:第1 页进入程序显示 日历k根据日期查询 节日1日期按年查询1按年查询2求某日星期几3根据日期查节日4根据节日查询日0退出/根据节日查询 日期求某日星期几F!退出程序(工作流程图)依据课程设计的要求,需要设计一个菜单功能,进入程序后,有菜单可以提供选择,选择1,进入日期显示阶段,日期显示完毕,再次进入菜单选择。选择2,进入日期查询阶段,日期查询完毕,可以再次进入菜单。选择 3,进入 通过日期查询节日阶段或者“选择 4”知道节日查询日期阶段 查询完毕后 可以再次进入菜单,选择0,退出程序。(功能板块)在菜单要求当中,要求能够按年查

9、询,能够查询某天是星期几。然而, 在程序当中为了实现这两个功能,包括了闰年的判断,日期判断,日期打 印和日期的查询。功能是由它们共同实现的。第3页第 3 章 详细设计程序详细源代码:#include#includevoid f1();void f2();void festival1();void festival2();int judgeyear(int);int monthdays(int ,int);/ 函数原型声明int judgeyear(int year)if(year%400=0)|(year%4=0&year%100!=0) / 判断输入的年份是否为 闰年模块return 1;e

10、lsereturn 0;int monthdays(int year,int month)/ 计算各个月份的天数if(month=2)if(judgeyear(year)=1) return 29;else return 28;else if(month=4|month=6|month=9|month=11)return 30;elsereturn 31;void f1()int year,t,i,month;coutyear;t=(year-1)*1+(year-1)/4-(year-1)/100+(year-1)/400+1)%7; / 判断这一年的元旦是 星期几for(int k=1;k

11、=12;k+)coutk 月份的日历如下 endl;coutsetw(6)日setw(6) 一 setw(6)二setw(6)三setw(6) 四 setw(6) 五 setw(6) 六 endl;for(int z=1;z=t;z+)coutsetw(6) ;for(i=1;i=monthdays(year,k);i+)coutsetw(6)isetw(6);if(i+t)%7=0)coutendl;t=(t+monthdays(year,k)%7)%7;coutendl;/ 日历显示模块void f2()int year,month,day;coutyear;coutmonth;cout

12、请输入此年此月相应的日期 :; cinday;int l,n,t,w,date(0);char *week=星期天,”星期一,”星期二,星期三,”星期四,”星期五,”星期六; n=(year-1);l=(n-1)/4-(n-1)/100+(n-1)/400;/* 如果只要 1990-2099,则只需改成 n=(year-1990),l=(n-1)/4*/n=l+n;n=n%7;n=n;for(int i=1;imonth;i+) date+=monthdays(year,i); date+=day;n=n+date;n=n%7;coutn 该天是 :weekn; / 日子查询模块 void f

13、estival1()void delay();int x,y;coutx;cout 请输入此年此月相应的日期 :;ciny;if(x=1&y=1)cout 元旦 endl;delay();cout 新年快乐 endlendl;第9 页delay(); coutHappy delay(); cout delay(); cout endlendl;newendlendl;yearendl;else if(x=2&y=14)cout 情 endlendl;delay();cout 人 endlendl;delay();cout 节 endlendl; delay();else if(x=3&y=8)

14、cout 妇 endlendl;delay();cout 女 endlendl;delay();cout 节 endl;else if(x=5&y=1)cout 劳 endlendl;delay();cout 动 endlendl;delay();cout 节 endl;else if(x=6&y=1)cout 儿 endlendl;delay();cout 童 endlendl;delay();cout 节 endl;else if(x=7&y=1)cout 建 endlendl; delay();cout 党 endlendl; delay();cout 节 endlendl;delay(

15、);coutendlendl;delay();cout人e ndle ndl;delay();cout民e ndle ndl;delay();coute ndle ndl;delay();cout务e ndle ndl;delay();cout!e ndle ndl;else if(x=8&y=1)cout 建 endlendl; delay();cout 军 endlendl;delay();cout 节 endl;else if(x=9&y=10)cout 教师节 endlXHXHXHXHXH-AAend-AAendkde_ay()八couaa-xhxh-AcendAcend-八 de_a

16、y()八couaa-4xhtxh4xh-AAendAAendre-se ifxuul oQOQOyuul)宀couaa-M-AAendAAendrde_ay()八COUAA-冯AAendAAend-八de_ay()八COUAA-AAendAAend-八de_ay()八COUAA-XH4XH甘XHXH-AAend-八de_ay()八couaa- 冷冷 -AAend-八de_ay()八couaa-xhaxh-AAend-八de_ay()八couaa-XHHnXH-AAend-八de_ay()八couaa-xhxh肚xhxh-AAend-八de_ay()八OOCXA-XHXHXHXHXHXHXHXH

17、XH-Acendrde_ay()八couaa-力力力力力力力 -AAend-八 de_ay()八couaa-47f4XH-AAendr w -0 M第 13 页岁e ndl;delay();coutelse if(x=11&y=11)cout 光 endlendl;delay();cout 棍 endlendl;delay();cout 节 endl;else if(x=12&y=24)cout 平 endlendl;delay();cout 安 endlendl;delay();cout 夜 endlendl;delay();cout 愿天下人一生平安 endlendl; delay();e

18、lse if(x=12&y=25)cout 圣 endlendl;delay();cout 诞 endlendl;delay();cout 节 endlendl;delay();cout 圣诞快乐! endl; void festival2()int aa;cout 元旦 :1 妇女节: 2 老动节: 3 国庆节: 4endlendl;cout 菜单提示输入节日代表序号 : endlaa;if(aa=1)cout1 月 1 号 endlendl;else if(aa=2)cout3 月 8 号endl;else if(aa=3)cout5 月 1 号endl;else if(aa=4)cout

19、10 月 1 号endl;void main()int i=1;coutendl;cout*endl;cout欢迎进入万年历查询系统endl;cout*endl;coutendlendlendl;cout 请选择您的查询内容 :endl; cout*1. 显示一年的日历 ;endlendl;cout 2. 显示某一天是星期几 ;endlendl;cout 3. 根据日期查询节日 ;endlendl;cout 4.根据节日查询日期;endlendl;cout OOOOOOOOOOOOOO 0.退出;endlendl;cout 请选择按键 :;/ 输出主菜单while(i)cini;if(i=0&

20、i=4)switch(i)case 1: f1(); break;case 2: f2(); break;case 3: festival1(); break;case 4: festival2(); break;case 0: coutThank you for your use ! endlBye!0;a-)for(b=500;b0;b-) for(c=600;c0;c-);第 4 章 运行结果及分析1 程序运行测试:在电脑中打开C+应用程序,首先进入VC+6.0 ,将程序代码输入,编 译,组建,调试。观察运行结果,和各个功能情况。2 进入程序菜单*C:Program F;lf$Vicro

21、soft Visui StudioMyPrcJects2223eDebug222/C:Progiram FilesMicrosoft Visual StudioMyProjert5ioebugio.exe欢迎进入万年历萱询系统去六显示某一天是星期几;缶为蠱层召佥蠱張3 根据日期查询节日;OOOOOOOOOOOO乳根据节日査询日期;QOOOOOOOOOOOOO取退出;睛选择按键1;(图1菜单页面)说明:该页面表示进入菜单选项,根据选项进入相应的功能。2. 1号键功能:5月份的日历如下6 13 20 27三7142128四18152229五2?162330六10172431a41118255121

22、926月份的日历如T0二四五712345?8910111213141516171192021222324252627282930?月份的日历如下a四五7123456789101112131415161718丄92Q212223242526272B293031“月份的日历如下日二三四五八123456?916111213141516171B192021222324252627282930319月份的日历如下a四五、712345&789101112131415161718192021222324252&27282930(图2:日历显示页面)说明:进入按年查询功能,输入想查询的年份,例如2014年,得

23、到2014年各月的日历,图像在此仅展示 5-9月日历3. 2号键功能:第17页 C:PrcgMm FilesXMicrosoft Visual StudioMlyProjectsXjoDebugio.e欢迎进入万年历查询系统F *-KWMiM梵:MiMl H显示某一天是星期几;POOOOOOOO XXX根据节日查询日期:OOOOOOOOOOOOOO0-退出;青青青主冃选扌W:2011Wt月相应的日期该天是:星期三.(图3:星期几查询页面) 说明:依次输入2014 6 18,得到上图结果。第19页欢迎进入万年历查询系統请诜择您的杳询内奄*1 ”显不_年的 日 历;*2 -显乔某一天是星期-rJ凸

24、凸佥由右凸由金一根据E期查询节日;OOOOOOOOOOOO4.根据节日查询日期:OOOOOQOOOOOOOO乩退岀;择入入入请青青请1 Tr lr y -L _- Tr:2= 2014:7此月相应的日期= 1该天是:星期二.(图4:星期几查询)说明:依次输入2014 7 1,得到上图4. 3号键功能:.显示某一天是星期几?-根据日期查询节日苹OOOOOOOO4.根据节日查询日期;OOOOOOOOOOOOOO0.退岀:请选择按键:3此月相应的日期:10老承承师您承 公衣苦去盘了(图5:根据日期查询节日)说明:选择3号键依次输入9 10则显示教师节相关结果(注释:本来老师您辛苦了六个字是要一个个延

25、时出现的,截图只能等字全出来全截)淸遽择按键0-4:3嘛俎骚卧相应的日期13i=iT#中华岳g 自入 共丹吾召長和国召岁(图六:根据日期查询节日)说明:选择3号键,依次输入10 1显示出国庆节相关内容(注:延时状态 没法在报告上演示)5.4号键功能:第 21 页-C:Program FilesMicrosoft Visual StudidMyPrqject5toDebugio.exe欢迎进入万年历查询系统请选择您的查诲内 =*1 显不一年的 日 历;?.显示某一是星期几;根据日期查询节日;札根据节日査询日期7OOOOOOOOOOOOOO0.退岀;请选择按链: 4元旦:1 妇女节:2 老动节:3

26、 国庆节:4”单握示输入节日代表序号=4他月1号(图七:根据节日查询日期)说明:进入万年历系统选择4号键,进如根据节日查询日期功能,输入菜单上的节日代表序号即可查询其日期。例图七,输入国庆节的代表序号4,则显示10月1号7.5 0号键功能:駅迎进入万年历査询系统请选1睪您的查诲内輦*1 -显7F_年的日历;食* -显示某一天是星期几匚為凸住占自3 ”根据日期查询节日:0000000000004.根据节日查询日期;OOOOOOOOOOOOOOfi.退出;请选S按键0-4:0I hank 如u for year use!9e!Press ankev to CDnibinu.BM(图八:退出)说明:选择0号键退出系统,按任意键可以继续第23页第五章 课程设计心得通过这次课程设计我明白了一个道理,很多看上去完成不了的事,只要有 耐心,勤奋,努力,肯付出,都是能完成的

温馨提示

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

评论

0/150

提交评论