【毕业论文设计】基于c++的万年历系统设计_第1页
【毕业论文设计】基于c++的万年历系统设计_第2页
【毕业论文设计】基于c++的万年历系统设计_第3页
【毕业论文设计】基于c++的万年历系统设计_第4页
【毕业论文设计】基于c++的万年历系统设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

课程设计说明书题目基于C的万年历系统设计学生姓名学院班级指导教师二一二年一月四日学校代码学号大学课程设计(论文)任务书课程名称面向对象的程序设计学院班级学生姓名学号指导教师一、题目万年历系统二、目的与意义面向对象程序设计课程设计可以培养学生综合运用所学面向对象程序设计知识和技能分析与解决实际问题的能力,以及严肃认真的科学态度和严谨求实的工作作风。三、要求(包括原始数据、技术参数、设计要求、图纸量、工作量要求等)采用面向对象程序设计语言C进行程序开发选用一种C语言的开发环境设计界面及程序在开发环境下,进行程序的运行及调试四、工作内容、进度安排主要内容使用C程序设计语言及其开发环境实现简单的万年历系统完成程序的编写和调试。工作进度安排第一天熟悉课程设计题目及具体要求,认识所要解决的问题,基本确定选择的开发环境。第二天到第四天拿出解决问题的初步方案,根据课题给出的题目,确定题目的解决方式及步骤。第五天到第七天设计系统的功能模块,确定模块的功能,及模块之间的关系。第八天到第十天分析模块,确定需要的界面、结构,完成软件的整体框架,在开发环境下,编程实现所开发的系统。第十一天到第十二天综合调试,去除软件中的错误,美化应用程序的界面。第十三天和第十五天撰写课程设计报告。五、主要参考文献1郑莉,董渊,何江舟C语言程序设计第4版北京清华大学出版201072STANLEYBLIPPMAN,JOSELAJOIE,BARBARAEMOOCPRIMER中文版第四版北京人民邮电出版社20063WALTERSAVITCHC面向对象程序设计基础、数据结构与编程思想第4版北京清华大学出版社20034钱能C程序设计教程第2版北京清华大学出版社20055郑莉C语言程序设计案例教程第1版北京清华大学出版社20056韦朴,陈泰生VISUALC通用范例开发金典北京电子工业出版社2008审核意见系(教研室)主任(签字)指导教师下达时间2011年12月19日指导教师签字_摘要在现代信息社会里,人们越来越重视时间的有效利用,而万年历也成了工作生活中必不可少的一部分,方便实用的万年历对于提高现代人的时间观念,优化时间使用效率具有重要意义。随着时代的发展,尽管日历的品种增多、花样也不断翻新,但仍旧保持着古老日历的格局。日历在当今社会的影响也是毋庸置疑的同时,随着个人电脑的普及,简单的桌面万年历成为人们日常作息及重要事件提醒记录的重要工具。简易万年历可以运行在电脑桌面上,使用者可以通过各种不同的标记对重要时间及节假日和备忘事件等方面进行有效的查询和管理。这套系统旨在为用户方便有效地进行重要事件的查询和管理。本系统采用C语言编写,接针对简单的有效查询信息化系统。该系统具有完整的信息查询功能,充分满足了广大用户的基本需求。关键词信息化;万年历;C语言目录第一章绪论611课题的设计6111课题的背景6112课题的目的6113课题的意义7第二章设计方案简述821设计总体规划8211实现的功能8212结构模块分析8第三章详细设计1031设计思路10311设计语言10312设计程序流程图1032模块详细设计11321定义全局变量11322定义一个万年历类11323判定部分12324计算所输入的年月日的星期数12325操作部分12326重载构造函数实现部分14327主函数部分14第四章设计结果及分析1541软件测试1542系统及运行截图15421系统总体选择图15422查询一年的日历16423查询一个月的日历16424查询某一天是星期几17425退出程序17第五章总结18第一章绪论11课题的设计111课题的背景在现代信息社会里,人们越来越重视时间的有效利用,而万年历也成了工作生活中必不可少的一部分,方便实用的万年历对于提高现代人的时间观念,优化时间使用效率具有重要意义。同时,随着个人电脑的普及,简单的桌面万年历成为人们日常作息及重要事件提醒记录的重要工具。简易万年历可以运行在电脑桌面上,使用者可以通过各种不同的标记对重要时间及节假日和备忘事件等方面进行有效的查询和管理。目前的计算机日历程序,比较典型的是WINDOWS各版本中的日历程序以及基于该程序所开发的各种应用程序中的日历程序。然而,这些程序都是千遍一律的局限于一个很短的时间内。但是,很多情况下,特别是在众多的科学领域中,一个时间跨度较大的程序是有参考价值的。C程序设计语言充分发挥了其自身无与伦比的优越性,用极短的程序文本就弥补了这一领域的空白。万年历作为日常中的一种小工具,它具有多方面的小工能,主要在日期的显示上给人以直观的表达效果,在日期的查询上方便简洁,还有就是在某些节日的提醒上都给我们带来极大的方便,是一种比较实用的小工具。给人的需求性很大,学生在做此万年历课程设计的同时,能够认识到C编程给人带来的便捷,也能够清楚万历年表编程的出入。对培养学生的创新能力和动手能力具有很大的作用112课题的目的掌握一种编程工具和面向对象程序设计的基本思想和方法,培养我们学生综合利用某种语言进行程序设计的能力,培养我们学生利用系统提供的功能进行创新设计的能力,培养我们学生充分利用计算机的功能和特点分析实际问题及解决实际问题的能力。为我们提供一个综合运用所学知识解决实际问题的机会,增强我们学生的实践动手能力和工程实践能力,并培养和锻炼我们学生的自学创新能力。通过显示年日历程序的设计,培养学生综合利用C语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计。更加了解了C语言的好处和其可用性同时增加了同学之间的团队合作精神更加也体会到以后在工作中团队合作的重要性和必要性通过C语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。113课题的意义掌握一种编程工具和面向对象程序设计的基本思想和方法,培养我们学生综合利用某种语言进行程序设计的能力,培养我们学生利用系统提供的功能进行创新设计的能力,培养我们学生充分利用计算机的功能和特点分析实际问题及解决实际问题的能力。为我们提供一个综合运用所学知识解决实际问题的机会,增强我们学生的实践动手能力和工程实践能力,并培养和锻炼我们学生的自学创新能力。程序设计教学课程的目的不是为了单独的课堂学习,而是要让我们学生掌握程序设计的基本思想及方法。一方面,在课程设计过程中,可以明确的指导为什么而学,还能对所学知识得到应用,更重要的是可以让我们学生掌握一些基本函数的用法,从而不在对编程序感到茫然,经过设计,可以让我们熟悉简单程序的设计方法和编写,对程序设计及该门课程设计语言的应用得到理解。第二章设计方案简述21设计总体规划211实现的功能(1)简易万年历主要实现以下几个功能1显示任意一年的日历。2显示任意一个月的日历。3显示任意一日是星期几。4退出。(2)用户可以通过主菜单选择不同的选项。若选择1,可以出入年份,显示出该年的日历。若选择2,可以出入年份、月份,显示该月的日历。若选择3,可以输入年份、月份、日期,显示当日是星期几。若选择4,可以推出程序。212结构模块分析日期查询瑞年判断日期判断日期判断显示日历查询结果图21功能模块图22总设计图万年历分两大部分查询输入部分和结果显示部分。查询输入部分包一个文本框,用于输入年份。当输入完成后,用户图形界面出现相应年月简易的日历表,并且是以星期的格式出现。1输入年,显示该年万年历。2输入年,月,显示该月万年历。3输入年月日,显示该天为星期几。4退出。日期查询日期显示退出程序进入程序第三章详细设计31设计思路311设计语言语言的选择本系统选择C语言来编写312设计程序流程图选择操作1234输入年输入年月输出月历输入年月日输出星期几开始输出年历选择操作判断退出程序退出程序选择操作判断选择操作判断图31部分模块分析32模块详细设计321定义全局变量INTDAYSOFMONTH130,31,28,31,30,31,30,31,31,30,31,30,31/类PERPETUALCALENDAR开始322定义一个万年历类CLASSPERPETUALCALENDARPUBLICINTGETYEARINTGETMONTHINTGETDAYVOIDSETYEARVOIDSETMONTHVOIDSETDATEINTGETWEEKVOIDPRINTMONTH/按月打印万年历VOIDPRINTYEAR/按年打印万年历VOIDPRINTDAY/打印日期对应的星期VOIDOPERATE/执行各种操作的演示PERPETUALCALENDAR/构造函数PERPETUALCALENDARINTY,INTM,INTD/构造函数重载PRIVATEINTYEARINTMONTHINTDAYBOOLISLEAPINTY/判断是否为闰年INTGETDAYS/计算从0年以来有多少天/类PERPETUALCALENDAR的成员函数INTPERPETUALCALENDARGETYEARRETURNYEARINTPERPETUALCALENDARGETMONTHRETURNMONTHINTPERPETUALCALENDARGETDAYRETURNDAY323判定部分VOIDPERPETUALCALENDARSETYEARDOCOUTYEARIFYEAR9999COUT9999MONTH1DAY1324计算所输入的年月日的星期数INTPERPETUALCALENDARGETWEEK/用于计算所输入的年月日的星期数,返回0到6中的一个数字INTWEEKGETDAYS7WEEK5WEEK7RETURNWEEK325操作部分VOIDPERPETUALCALENDAROPERATEINTI,CHOOSEBOOLCHOOSEFLAGFALSEWHILE1/WHILE开始WHILECHOOSEFLAGCOUTCHOOSEFORI1I4IIFCHOOSEICHOOSEFLAGTRUEBREAKELSECHOOSEFLAGFALSEIFCHOOSEFLAGCOUT“ERRORINPUT“ENDL/ENDWHILECHOOSEFLAGIFCHOOSE1/IF开始SETYEARPRINTYEARELSEIFCHOOSE2SETMONTHPRINTMONTHELSEIFCHOOSE3SETDATEPRINTDAYELSEIFCHOOSE4COUT“程序结束“ENDLBREAKELSECOUT“错误“ENDL/ENDIFCHOOSEFLAG0/ENDWHILE1326重载构造函数实现部分PERPETUALCALENDARPERPETUALCALENDARINTY,INTM,INTD/重载构造函数YEARYMONTHMDAYDBOOLPERPETUALCALENDARISLEAPINTY/判断是否为闰年的成员函数IFY40ELSERETURNFALSEINTPERPETUALCALENDARGETDAYS用于计算/所输入的年月日从0年以来的总天数INTI,SUMDAYS0FORI0IYEARIIFISLEAPISUMDAYS366ELSESUMDAYS365IFISLEAPYEARDAYSOFMONTH229FORI1IMONTHISUMDAYSDAYSOFMONTHISUMDAYSDAYRETURNSUMDAYS327主函数部分INTMAINPERPETUALCALENDARTESTTESTOPERATERETURN0/ENDMAIN第四章设计结果及分析41软件测试软件测试不同于程序测试,是为了发现错误而执行程序的过程,它贯穿于软件定义与开发的整个期间。软件测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错,因此,它是保证软件质量,提高软件可靠性的关键。软件测试阶段的工作步骤1单元测试即模块测试,检验每个模块能否单独工作2系统测试检验概要设计中模块接口设计问题3系统测试综合检验。把经过测试的子系统装配成一个系统进行测试,不仅应该发现设计和编码的错误,还应验证系统确实能提供需求说明书中的功能(子系统测试和系统测试,统称集成测试)4验收测试把软件系统作为单一实体进行测试,在用户的积极参与使用实际数据进行测试。42系统及运行截图421系统总体选择图图41422查询一年的日历图42423查询一个月的日历图43424查询某一天是星期几图44425退出程序图45第五章总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学生来说掌握程序开发技术是十分重要的,而C语言又是最常见,功能最强大的一种高级语言,因此做好C语言课程设计是十分必要的。通过C课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做程序设计,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说数组的灵活应用,循环语句,IF语句通过这次课程设计之后,我们把前面所学过

温馨提示

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

评论

0/150

提交评论