课程设计-万年历系统.doc_第1页
课程设计-万年历系统.doc_第2页
课程设计-万年历系统.doc_第3页
课程设计-万年历系统.doc_第4页
课程设计-万年历系统.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

课程设计报告设计名称: 程序语言课程设计 设计题目: 万年历系统 软件学院课程设计任务书学生姓名学号1402120134专业班级软件工程12级1班设计题目万年历系统内容概要: 设计或开发环境: VC+6.0 技术:C语言 满足当前页以系统当前日期的月份为准,显示当前月的每一天。按“Up ”键其下面接着会显示上一年该月的万年历,按“Down ”键其下面会接着显示下一年该月的万年历,按“ ”键下面将会接着显示当年上一个月的万年历,按“ ”键将会在下面接着显示当年下一个月的万年历,以上所显示按Esc后将会退去该程序。文献资料: 谭浩强.C程序设计(第三版).清华大学出版社,2005年7月 陈维兴 林小茶 文献名:C+面向对象程序设计(第3版) 出版地:清华大学 出版年:2009.10 其他一些万年历系统设计要求: 工作期限:设计工作自2013年12月9日至2013年12月23日止。指导教师: 院长: 日 期:2013年12月9日软件学院课程设计进度安排表学生姓名: 易海门 学号: 1402120134 专业: 软件工程 班级: 12级1班 起止日期内 容备注12月9日下达任务书,制定进度安排计划 12月10日12月12日系统整体设计和详细设计12月13日12月17日系统编码实现12月18日12月19日系统测试 12月20日12月23日撰写课程设计报告 12月25日演示软件和答辩 指导教师签名: 2013年12月11日成绩评定表学生姓名: 易海门 学号: 1402120134 专业: 软件工程 班级: 12级1班 类别合计分值各项分值评分标准实际得分合计得分平时表现1010按时参加设计指导,无违反纪律情况。完成情况3020按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。10能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。报告质量3510报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;报告字数符合相关要求,工整规范,整齐划一。5课题背景介绍清楚,综述分析充分。5设计方案合理、可行,论证严谨,逻辑性强,具有说服力。5符号统一;图表完备、符合规范要求。5能对整个设计过程进行全面的总结,得出有价值的结论或结果。5参考文献数量在2篇以上,格式符合要求,在正文中正确引用。答辩情况2510在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。15在规定时间内能准确、完整、流利地回答教师所提出的问题。总评成绩: 分 指导教师: (签字) 日期:2013 年12月 25 日摘 要摘要:在现代信息社会里,人们越来越重视时间的有效利用,而万年历也成了工作生活中必不可少的一部分,方便实用的万年历对于提高现代人的时间观念,优化时间使用效率具有重要意义。随着时代的发展,尽管日历的品种增多、花样也不断翻新,但仍旧保持着古老日历的格局。日历在当今社会的影响也是毋庸置疑的!同时,随着个人电脑的普及,简单的桌面万年历成为人们日常作息及重要事件提醒记录的重要工具。简易万年历可以运行在电脑桌面上,使用者可以通过各种不同的标记对重要时间及节假日和备忘事件等方面进行有效的查询和管理。这套系统旨在为用户方便有效地进行重要事件的查询和管理。本系统采用C语言编写,接针对简单的有效查询信息化系统。该系统具有完整的信息查询功能,充分满足了广大用户的基本需求。关键词:信息化;万年历;c语言西安文理学院软件学院 课程设计报告目 录摘 要 II第一章 课题背景(或绪论、概述). .31.1 课题设计的背景.31.2 课题设计的目的.31.3 课题设计的意义.31.4主要问题.31.5达到的技术要求.3第二章设计简介及设计方案论述 . .62.1 概念设计.62.2 逻辑设计.62.3 物理设计.6第三章详细设计. 73.1 leap()模块设计.73.2 show()模块设计.83.3 主函数main()模块设计.9总 结 .10 参考文献 .11 - 11 -第一章 课题背景(或绪论、概述)1.1 课题设计的背景 随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。由其是单片机技术的应用产品已经走进了千家万户。电子万年历的出现给人们的生活带来的诸多方便。本系统以C语言进行软件设计,增加了程序的可读性和可移植性,为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简明了。1.2 课题设计的目的1、 巩固并加深对C语言程序设计知识的理解;2、 掌握和提高C语言编程和程序的基本调试的基本技能;3、 进一步理解和运用结构化程序的思想和方法;4、 提高运用C语言解决实际问题的能力;5、 初步掌握开发小型实用软件的基本方法;6、 掌握书写程序设计开发文档的能力。1.3 课题设计的意义 对C语言进一步了解,复习。学习更多的编程知识。为今后的工作打结实的基础。1.4主要问题1. 判断是否为润年2. 取主板时间3. 用日历的格式显示出来1.5达到的技术要求此课程设计要求如生活中的挂历,要以当前页以系统当前日期的月份为准,显示当前月的每一天,并且当系统日期变到下一个月是,系统自动翻页到下一月。然而在调试过程中首先自己没有注意到区分闰年,没有考虑到二月有二十八天,与二十九天的区别,其次没有做到每一天对应的每个星期,再次在调用函数时出错,本代码无法做到在改变系统年份或月份时,不能立即运行,需要重新调试,所以此代码还是有不足之处的。经过不断的修改与尝试,最终将代码完成。以下为调试结果1.满足当前页以系统当前日期的月份为准,显示当前月的每一天2.按“Up ”键其下面接着会显示上一年该月的万年历3. 按“Down ”键其下面会接着显示下一年该月的万年历4.按“ ”键下面将会接着显示当年上一个月的万年历,5. 按“ ”键将会在下面接着显示当年下一个月的万年历以上所显示按Esc后将会退去该程序。以上运行的结果可知该c语言所设计的万年历满足设计要求第二章 设计简介及设计方案论述2.1 概念设计 对用户要求描述的现实世界,通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。 概念设计的最终目的是要确定这一程序的功能达到预想的效果,所以自己的设计想法要清晰,准确的表达出来。在进行概念设计时不拘泥小节,着重于它所能体现出的功能效果,大概的写出设计代码,然后在一一补充,使其完美。2.2 逻辑设计主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。根据设计实践任务书以及所开发的环境,利用这些信息获取,分析需求,优化解决方案。使得所设计的代码达到所应具有的功能,即使万年历系统具有现实中挂历的作用。2.3 物理设计根据开发环境和逻辑对象,数具实体的关系中进一步整理和细化得到的设计方案,即进一步的细化万年历系统的设计代码,明确其所应具有的功能。还要考虑到实现的可能性和最终系统的性能。具体每个模块的实现算法第三章 详细设计3.1 leap()模块设计 开始4整除?100整除?400整除?“1”“0”是否否是是否结束 图3-1 leap()函数模块设计图 模块说明: 若该年不是闰年,则输出0,相反则输出1;设年数为X,先判断X能否被4整除,若不能则输出0;若能整除,则判断X能否被100整除,若不能则输出1;若能整除,则判断X能否被400整除,若不能则输出0,若能则输出1。3.2 show()模块设计开始闰年?调用leap()函数二月二十九天,一三五七八十十二月三十一天,其他三十天结束二月二十八天,一三五七八十十二月三十一天,其他三十天图3-2 show()模块设计图 模块说明: 判断系统月份,以月份为主,三十一天的有一月,三月,五月,七月,八月,十月,十二月;三十天的有四月,六月,九月,十一月。若是闰年,则二月为二十九天,不是,则为二十八天。3.3 主函数main()模块设计开始Time()取主板时间调用show()函数定义“”运算及退出指令用户操作界面结束 图3-3 主函数体main()模块设计图模块说明:主函数体主要调用show()函数对由time()函数读取的主板时间进行相应的编辑和输出,并根据用户指令“”Esc实现年份及月份的调整,并退出程序总结 通过上一个学期对C语言的学习,我们学习了理论知识,了解了C语言程序设计的思想,这都为我们的下一步学习打下了坚实的基础。通过本次课程设计,一方面是检查了我们一个学期的学习成果,另一方面也让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。由于C语言是近年在国内外得到迅速推广应用的一种语言。C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。所以学好c语言对我们来说是非常必要的。通过这次的c语言程序设计更加了解了c语言的好处和其可用性!在这次课程设计中我也知道了自己的动手能力不强还有待进一部的提高!在设计过程中不能够把书本上的知识与实践相结合,在设计过程中的一次次设计错误鞭策着我更加努力前进!最后经过大家的努力终于完成了课程设计! 以下是在课程设计中发现的自己在编译过程中的诸多问题。如书写标识符时,忽略了大小写字母的区别。(编译程序把a和A认为是两个不同的变量名,而显示出错信息。C语言认为大写字母和小写字母是两个不同的字符。习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。);忽略了“=”与“=”的区别。(在C语言中,“=”是赋值运算符,“=”是关系运算符。if (a=3) a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,我往往会犯这样的错误。)忽略了变量的类型,进行了不合法的运算;将字符常量与字符串常量混淆;C语言的变量一定要先定义才能使用;对应该有花括弧的复合语句,忘记加花括弧通过对c语言万年历的设计进一步的巩固了用c语言编写程序,并且有利于更好的掌握c语言。在C语言程序设计的过程中也知道了自己在以前的学习中有很大的不足导致在设计过程中出现了很多的问题,有些地方看不懂也不知道怎么去设计,但是在设计过程中也学习了很多,掌握了自己以前没有学好的知识,虽然一时可以掌握完以前没有学好的知识,不过也给自己敲响了警钟,在学习中不可以伏于表面,要想学好每一门课程都要踏踏实实,做什么都不是给别人看的!都是要更好的掌握该门知识,提高自己的自身的修养,提高自己的能力!为以后的工作打下良好的知识基础和技能基础!在万年历的编写过程中我也体会到了做事情一顶有耐心呢、细心,认真。也培养了我独立思考、 综合运用所学有关相应知识的能力,掌握 工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加知道了要掌握好基础知识的重要性。在万年历的设计过程中更加体会到了团队合作的重要性,三个臭皮匠抵上一个诸葛亮。大家在合作中共同努力,共同进步!团队合作才会更好的完成设计!我也体会到以后在工作中团队合作的必要性和重要性!通过这次课程设计让我在以后的学习中更加有信心! 参考文献1 谭浩强.C程序设计(第三版).清华

温馨提示

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

评论

0/150

提交评论