收藏 分销(赏)

【毕业论文设计】基于C++的万年历系统设计.doc

上传人:丰**** 文档编号:4881695 上传时间:2024-10-17 格式:DOC 页数:20 大小:224.50KB
下载 相关 举报
【毕业论文设计】基于C++的万年历系统设计.doc_第1页
第1页 / 共20页
【毕业论文设计】基于C++的万年历系统设计.doc_第2页
第2页 / 共20页
【毕业论文设计】基于C++的万年历系统设计.doc_第3页
第3页 / 共20页
【毕业论文设计】基于C++的万年历系统设计.doc_第4页
第4页 / 共20页
【毕业论文设计】基于C++的万年历系统设计.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、学校代码: 学 号: 课程设计说明书题 目:基于C+的万年历系统设计学生姓名 学 院:班 级:指导教师: 二一二年一月 四 日大学课程设计(论文)任务书课程名称: 面向对象的程序设计 学院: 班级: 学生姓名: 学号: 指导教师: 一、题目万年历系统二、目的与意义面向对象程序设计课程设计可以培养学生综合运用所学面向对象程序设计知识和技能分析与解决实际问题的能力,以及严肃认真的科学态度和严谨求实的工作作风。 三、要求(包括原始数据、技术参数、设计要求、图纸量、工作量要求等) l 采用面向对象程序设计语言C+进行程序开发l 选用一种C+语言的开发环境设计界面及程序l 在开发环境下,进行程序的运行及

2、调试四、工作内容、进度安排 主要内容使用C+程序设计语言及其开发环境实现简单的万年历系统完成程序的编写和调试。工作进度安排第一天:熟悉课程设计题目及具体要求,认识所要解决的问题,基本确定选择的开发环境。第二天到第四天:拿出解决问题的初步方案,根据课题给出的题目,确定题目的解决方式及步骤。第五天到第七天:设计系统的功能模块,确定模块的功能,及模块之间的关系。第八天到第十天:分析模块,确定需要的界面、结构,完成软件的整体框架,在开发环境下,编程实现所开发的系统。第十一天到第十二天:综合调试,去除软件中的错误,美化应用程序的界面。第十三天和第十五天:撰写课程设计报告。五、主要参考文献1郑莉,董渊,何

3、江舟.C+语言程序设计.第4版.北京:清华大学出版.2010.72Stanley B.Lippman,Jose LaJoie,Barbara E.Moo.C+ Primer(中文版).第四版.北京: 人民邮电出版社.20063 Walter Savitch. C+面向对象程序设计基础、数据结构与编程思想.第4版.北京: 清华大学出版社.20034钱能.C+程序设计教程.第2版.北京:清华大学出版社.20055郑莉.C+语言程序设计案例教程.第1版.北京:清华大学出版社.20056韦朴,陈泰生. Visual C+通用范例开发金典.北京:电子工业出版社.2008审核意见系(教研室)主任(签字)

4、指导教师下达时间 2011 年 12月 19日指导教师签字:_摘 要 在现代信息社会里,人们越来越重视时间的有效利用,而万年历也成了工作生活中必不可少的一部分,方便实用的万年历对于提高现代人的时间观念,优化时间使用效率具有重要意义。随着时代的发展,尽管日历的品种增多、花样也不断翻新,但仍旧保持着古老日历的格局。日历在当今社会的影响也是毋庸置疑的!同时,随着个人电脑的普及,简单的桌面万年历成为人们日常作息及重要事件提醒记录的重要工具。简易万年历可以运行在电脑桌面上,使用者可以通过各种不同的标记对重要时间及节假日和备忘事件等方面进行有效的查询和管理。这套系统旨在为用户方便有效地进行重要事件的查询和

5、管理。 本系统采用C+语言编写,接针对简单的有效查询信息化系统。该系统具有完整的信息查询功能,充分满足了广大用户的基本需求。关键词:信息化;万年历;C+语言目 录第一章 绪论61.1 课题的设计61.1.1 课题的背景61.1.2课题的目的61.1.3课题的意义7第二章 设计方案简述82.1 设计总体规划82.1.1 实现的功能82.1.2结构模块分析8第三章 详细设计103.1 设计思路103.1.1设计语言103.1.2设计程序流程图103.2模块详细设计113.2.1定义全局变量113.2.2定义一个万年历类113.2.3判定部分123.2.4计算所输入的年月日的星期数123.2.5操作

6、部分123.2.6重载构造函数实现部分143.2.7主函数部分14第四章 设计结果及分析154.1软件测试154.2 系统及运行截图154.2.1系统总体选择图154.2.2查询一年的日历164.2.3查询一个月的日历164.2.4查询某一天是星期几174.2.5退出程序17第五章 总结18第一章 绪论1.1 课题的设计1.1.1 课题的背景 在现代信息社会里,人们越来越重视时间的有效利用,而万年历也成了工作生活中必不可少的一部分,方便实用的万年历对于提高现代人的时间观念,优化时间使用效率具有重要意义。同时,随着个人电脑的普及,简单的桌面万年历成为人们日常作息及重要事件提醒记录的重要工具。简易

7、万年历可以运行在电脑桌面上,使用者可以通过各种不同的标记对重要时间及节假日和备忘事件等方面进行有效的查询和管理。目前的计算机日历程序,比较典型的是 Windows 各版本中的日历程序 以及基于该程序所开发的各种应用程序中的日历程序。然而,这些程序都 是千遍一律的局限于一个很短的时间内。但是,很多情况下,特别是在众 多的科学领域中, 一个时间跨度较大的程序是有参考价值的。 C+程序设计 语言充分发挥了其自身无与伦比的优越性,用极短的程序文本就弥补了这 一领域的空白。 万年历作为日常中的一种小工具,它具有多方面的小工能,主要在日 期的显示上给人以直观的表达效果,在日期的查询上方便简洁,还有就是在

8、某些节日的提醒上都给我们带来极大的方便 ,是一种比较实用的小工具。 给人的需求性很大,学生在做此万年历课程设计的同时,能够认识到 C+ 编程给人带来的便捷,也能够清楚万历年表编程的出入。对培养学生的创 新能力和动手能力具有很大的作用1.1.2课题的目的掌握一种编程工具和面向对象程序设计的基本思想和方法,培养我们学生综合利用某种语言进行程序设计的能力,培养我们学生利用系统提供的功能进行创新设计的能力,培养我们学生充分利用计算机的功能和特点分析实际问题及解决实际问题的能力。为我们提供一个综合运用所学知识解决实际问题的机会,增强我们学生的实践动手能力和工程实践能力,并培养和锻炼我们学生的自学创新能力

9、。 通过显示年日历程序的设计,培养学生综合利用 C+语言进行程序设计的能 力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力 和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算 法进行设计。更加了解了 C+ 语言的好处和其可用性!同时增加了同学之间的团队合作精神!更加也体会到以 后在工作中团队合作的重要性和必要性! 通过 C+语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的 程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备 初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚 实基础。1.1.3课题的意义

10、 掌握一种编程工具和面向对象程序设计的基本思想和方法,培养我们学生综合利用某种语言进行程序设计的能力,培养我们学生利用系统提供的功能进行创新设计的能力,培养我们学生充分利用计算机的功能和特点分析实际问题及解决实际问题的能力。 为我们提供一个综合运用所学知识解决实际问题的机会,增强我们学生的实践动手能力和工程实践能力,并培养和锻炼我们学生的自学创新能力。 程序设计教学课程的目的不是为了单独的课堂学习,而是要让我们学生掌握程序设计的基本思想及方法。一方面,在课程设计过程中,可以明确的指导为什么而学,还能对所学知识得到应用,更重要的是可以让我们学生掌握一些基本函数的用法,从而不在对编程序感到茫然,经

11、过设计,可以让我们熟悉简单程序的设计方法和编写,对程序设计及该门课程设计语言的应用得到理解。第二章 设计方案简述2.1 设计总体规划2.1.1 实现的功能(1)简易万年历主要实现以下几个功能:1.显示任意一年的日历。2.显示任意一个月的日历。3.显示任意一日是星期几。4.退出。(2)用户可以通过主菜单选择不同的选项。若选择1,可以出入年份,显示出该年的日历。若选择2,可以出入年份、月份,显示该月的日历。若选择3,可以输入年份、月份、日期,显示当日是星期几。若选择4,可以推出程序。2.1.2结构模块分析日期查询瑞年判断日期判断日期判断显示日历查询结果图2-1功能模块 进入程序 1. 输入年,显示

12、该年万年历。2. 输入年,月,显示该月万年历。3. 输入年月日,显示该天为星期几。4. .退出。日期显示日期查询退出程序图2-2 总设计图万年历分两大部分:查询输入部分和结果显示部分。查询输入部分包一个文本框,用于输入年份。当输入完成后,用户图形界面出现相应年月简易的日历表,并且是以星期的格式出现。第三章 详细设计3.1 设计思路3.1.1设计语言 语言的选择:本系统选择C+语言来编写3.1.2设计程序流程图开始判断选择操作判断选择操作退出程序选择操作输出年历退出程序判断选择操作1234输入年输入年月输出月历输入年月日输出星期几图3-1 部分模块分析3.2模块详细设计3.2.1定义全局变量in

13、t daysOfMonth13=0,31,28,31,30,31,30,31,31,30,31,30,31;/类PerpetualCalendar开始3.2.2定义一个万年历类class PerpetualCalendarpublic: int getYear(); int getMonth(); int getDay(); void setYear(); void setMonth(); void setDate(); int getWeek(); void printMonth(); /按月打印万年历 void printYear(); /按年打印万年历 void printDay();

14、/打印日期对应的星期 void operate(); /执行各种操作的演示 PerpetualCalendar();/构造函数 PerpetualCalendar(int y,int m,int d); /构造函数重载private: int year; int month; int day; bool isLeap(int y); /判断是否为闰年 int getDays(); /计算从0年以来有多少天;/类PerpetualCalendar的成员函数int PerpetualCalendar:getYear() return year;int PerpetualCalendar:getMo

15、nth() return month;int PerpetualCalendar:getDay() return day;3.2.3判定部分void PerpetualCalendar:setYear() do coutyear; if(year9999) coutInput Error!endl; while(year9999); month=1; day=1;3.2.4计算所输入的年月日的星期数int PerpetualCalendar:getWeek() /用于计算所输入的年月日的星期数,返回0到6中的一个数字 int week=getDays()%7; week+=5; week%=7

16、; return week;3.2.5操作部分void PerpetualCalendar:operate() int i,choose; bool chooseFlag=false;while(1)/while开始 while(!chooseFlag) cout欢迎使用万年历nendl; cout1.输入年,显示该年万年历endl 2.输入年,月,显示该月万年历endl 3.输入年月日,查询该日为星期几endl 4.退出endl; coutendlchoose; for(i=1;i=4;i+) if(choose=i) chooseFlag=true; break; else chooseF

17、lag=false; if(!chooseFlag) coutError Input!endl; /end while(!chooseFlag) if(choose=1) /if 开始 setYear(); printYear(); else if(choose=2) setMonth(); printMonth(); else if(choose=3) setDate(); printDay(); else if(choose=4) cout程序结束endl; break; else cout错误!endl; /end if chooseFlag=0;/end while(1)3.2.6重载

18、构造函数实现部分PerpetualCalendar:PerpetualCalendar(int y,int m,int d)/重载构造函数 year=y; month=m; day=d;bool PerpetualCalendar:isLeap(int y) /判断是否为闰年的成员函数 if(y%4=0&y%100!=0)|(y%400=0) return true; else return false;int PerpetualCalendar:getDays() 用于计算 /所输入的年月日从0年以来的总天数 int i,sumDays=0; for(i=0;iyear;i+) if(isL

19、eap(i) sumDays+=366; else sumDays+=365; if(isLeap(year) daysOfMonth2=29; for(i=1;imonth;i+) sumDays+=daysOfMonthi; sumDays+=day;return sumDays;3.2.7主函数部分int main() PerpetualCalendar test; test.operate();return 0;/end main第四章 设计结果及分析4.1软件测试 软件测试不同于程序测试,是为了发现错误而执行程序的过程,它贯穿于软件定义与开发的整个期间。软件测试的目的是发现程序中的错

20、误,是为了证明程序有错,而不是证明程序无错,因此,它是保证软件质量,提高软件可靠性的关键。软件测试阶段的工作步骤:1.单元测试:即模块测试,检验每个模块能否单独工作2.系统测试:检验概要设计中模块接口设计问题3.系统测试:综合检验。把经过测试的子系统装配成一个系统进行测试,不仅应该发现设计和编码的错误,还应验证系统确实能提供需求说明书中的功能(子系统测试和系统测试,统称集成测试)4.验收测试:把软件系统作为单一实体进行测试,在用户的积极参与使用实际数据进行测试。4.2 系统及运行截图4.2.1系统总体选择图图4-14.2.2查询一年的日历图4-24.2.3查询一个月的日历图4-34.2.4查询

21、某一天是星期几图4-44.2.5退出程序图4-5第五章 总结课程设计是培养学生综合运用所学知识 ,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学生来说掌握程序开发技术是十分重要的,而C+语言又是最常见,功能最强大的一种高级语言,因此做好C+语言课程设计是十分必要的。 通过C+课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力

22、和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做程序设计,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说数组的灵活应用,循环语句,if语句通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。 我做的是简易万年历的课程设计,虽然是很简单的一个小的程序,但对我来说却是一个很大的困难。更加是第一次做C+课程设计,所以第一天下午在宿舍做了一个下午却丝毫没有进展,最主要是不知从何开始,这个时候才知道上课老师们不厌其烦的教导是多么的宝贵,这个时候才后悔上课的时候没有认真的听讲。可是现在一切

23、都晚了,还好时间还算是充裕,只好拿出书本重新复习一下。 开始的时候真的感觉编程是一件很无聊的事情,不过当一个程序运行成功的时候那种喜悦是无法言语的,那种成就感是无法比拟的。又经过几天的努力,终于把程序完成了,尽管程序还是有很多功能上的欠缺和漏洞,可我还是很高兴的。无论如何是自己的劳动成果,是自己经过努力得到的成绩,同时也是学习C+语言的一次实践作业,自己进步的证明。参考文献1郑莉,董渊,何江舟.C+语言程序设计M.第4版.清华大学出版.2010.72Stanley B.Lippman,Jose LaJoie,Barbara E.Moo.C+ Primer(中文版) M.第四版.人民邮电出版社.

24、20063 Walter Savitch. C+面向对象程序设计基础、数据结构与编程思想M.第4版.清华大学出版社.20034钱能.C+程序设计教程M.第2版.清华大学出版社.20055郑莉.C+语言程序设计案例教程M.第1版.清华大学出版社.20056韦朴,陈泰生. Visual C+通用范例开发金典M.电子工业出版社.20087詹发荣.C+语言程序设计M. 中国铁道工业出版社.2006 8尹季昆.C+语言程序设计M. 科学出版社.20051. 基于C8051F单片机直流电动机反馈控制系统的设计与研究2. 基于单片机的嵌入式Web服务器的研究 3. MOTOROLA单片机MC68HC(8)0

25、5PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究 4. 基于模糊控制的电阻钎焊单片机温度控制系统的研制 5. 基于MCS-51系列单片机的通用控制模块的研究 6. 基于单片机实现的供暖系统最佳启停自校正(STR)调节器7. 单片机控制的二级倒立摆系统的研究8. 基于增强型51系列单片机的TCP/IP协议栈的实现 9. 基于单片机的蓄电池自动监测系统 10. 基于32位嵌入式单片机系统的图像采集与处理技术的研究11. 基于单片机的作物营养诊断专家系统的研究 12. 基于单片机的交流伺服电机运动控制系统研究与开发 13. 基于单片机的泵管内壁硬度测试仪的研制 14. 基于单片机的自动

26、找平控制系统研究 15. 基于C8051F040单片机的嵌入式系统开发 16. 基于单片机的液压动力系统状态监测仪开发 17. 模糊Smith智能控制方法的研究及其单片机实现 18. 一种基于单片机的轴快流CO,2激光器的手持控制面板的研制 19. 基于双单片机冲床数控系统的研究 20. 基于CYGNAL单片机的在线间歇式浊度仪的研制 21. 基于单片机的喷油泵试验台控制器的研制 22. 基于单片机的软起动器的研究和设计 23. 基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究 24. 基于单片机的机电产品控制系统开发 25. 基于PIC单片机的智能手机充电器 26. 基于单片机的

27、实时内核设计及其应用研究 27. 基于单片机的远程抄表系统的设计与研究 28. 基于单片机的烟气二氧化硫浓度检测仪的研制 29. 基于微型光谱仪的单片机系统 30. 单片机系统软件构件开发的技术研究 31. 基于单片机的液体点滴速度自动检测仪的研制32. 基于单片机系统的多功能温度测量仪的研制 33. 基于PIC单片机的电能采集终端的设计和应用 34. 基于单片机的光纤光栅解调仪的研制 35. 气压式线性摩擦焊机单片机控制系统的研制 36. 基于单片机的数字磁通门传感器 37. 基于单片机的旋转变压器-数字转换器的研究 38. 基于单片机的光纤Bragg光栅解调系统的研究 39. 单片机控制的

28、便携式多功能乳腺治疗仪的研制 40. 基于C8051F020单片机的多生理信号检测仪 41. 基于单片机的电机运动控制系统设计 42. Pico专用单片机核的可测性设计研究 43. 基于MCS-51单片机的热量计 44. 基于双单片机的智能遥测微型气象站 45. MCS-51单片机构建机器人的实践研究 46. 基于单片机的轮轨力检测 47. 基于单片机的GPS定位仪的研究与实现 48. 基于单片机的电液伺服控制系统 49. 用于单片机系统的MMC卡文件系统研制 50. 基于单片机的时控和计数系统性能优化的研究 51. 基于单片机和CPLD的粗光栅位移测量系统研究 52. 单片机控制的后备式方波

29、UPS 53. 提升高职学生单片机应用能力的探究 54. 基于单片机控制的自动低频减载装置研究 55. 基于单片机控制的水下焊接电源的研究 56. 基于单片机的多通道数据采集系统 57. 基于uPSD3234单片机的氚表面污染测量仪的研制 58. 基于单片机的红外测油仪的研究 59. 96系列单片机仿真器研究与设计 60. 基于单片机的单晶金刚石刀具刃磨设备的数控改造 61. 基于单片机的温度智能控制系统的设计与实现 62. 基于MSP430单片机的电梯门机控制器的研制 63. 基于单片机的气体测漏仪的研究 64. 基于三菱M16C/6N系列单片机的CAN/USB协议转换器 65. 基于单片机

30、和DSP的变压器油色谱在线监测技术研究 66. 基于单片机的膛壁温度报警系统设计 67. 基于AVR单片机的低压无功补偿控制器的设计 68. 基于单片机船舶电力推进电机监测系统 69. 基于单片机网络的振动信号的采集系统 70. 基于单片机的大容量数据存储技术的应用研究 71. 基于单片机的叠图机研究与教学方法实践 72. 基于单片机嵌入式Web服务器技术的研究及实现 73. 基于AT89S52单片机的通用数据采集系统 74. 基于单片机的多道脉冲幅度分析仪研究 75. 机器人旋转电弧传感角焊缝跟踪单片机控制系统 76. 基于单片机的控制系统在PLC虚拟教学实验中的应用研究77. 基于单片机系

31、统的网络通信研究与应用 78. 基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究79. 基于单片机的模糊控制器在工业电阻炉上的应用研究 80. 基于双单片机冲床数控系统的研究与开发 81. 基于Cygnal单片机的C/OS-的研究82. 基于单片机的一体化智能差示扫描量热仪系统研究 83. 基于TCP/IP协议的单片机与Internet互联的研究与实现 84. 变频调速液压电梯单片机控制器的研究 85. 基于单片机-免疫计数器自动换样功能的研究与实现 86. 基于单片机的倒立摆控制系统设计与实现 87. 单片机嵌入式以太网防盗报警系统 88. 基于51单片机的嵌入式Internet

32、系统的设计与实现 89. 单片机监测系统在挤压机上的应用 90. MSP430单片机在智能水表系统上的研究与应用 91. 基于单片机的嵌入式系统中TCP/IP协议栈的实现与应用92. 单片机在高楼恒压供水系统中的应用 93. 基于ATmega16单片机的流量控制器的开发 94. 基于MSP430单片机的远程抄表系统及智能网络水表的设计95. 基于MSP430单片机具有数据存储与回放功能的嵌入式电子血压计的设计 96. 基于单片机的氨分解率检测系统的研究与开发 97. 锅炉的单片机控制系统 98. 基于单片机控制的电磁振动式播种控制系统的设计 99. 基于单片机技术的WDR-01型聚氨酯导热系数

33、测试仪的研制 100. 一种RISC结构8位单片机的设计与实现 101. 基于单片机的公寓用电智能管理系统设计 102. 基于单片机的温度测控系统在温室大棚中的设计与实现103. 基于MSP430单片机的数字化超声电源的研制 104. 基于ADC841单片机的防爆软起动综合控制器的研究105. 基于单片机控制的井下低爆综合保护系统的设计 106. 基于单片机的空调器故障诊断系统的设计研究 107. 单片机实现的寻呼机编码器 108. 单片机实现的鲁棒MRACS及其在液压系统中的应用研究 109. 自适应控制的单片机实现方法及基上隅角瓦斯积聚处理中的应用研究110. 基于单片机的锅炉智能控制器的

34、设计与研究 111. 超精密机床床身隔振的单片机主动控制 112. PIC单片机在空调中的应用 113. 单片机控制力矩加载控制系统的研究 项目论证,项目可行性研究报告,可行性研究报告,项目推广,项目研究报告,项目设计,项目建议书,项目可研报告,本文档支持完整下载,支持任意编辑!选择我们,选择成功!项目论证,项目可行性研究报告,可行性研究报告,项目推广,项目研究报告,项目设计,项目建议书,项目可研报告,本文档支持完整下载,支持任意编辑!选择我们,选择成功!单片机论文,毕业设计,毕业论文,单片机设计,硕士论文,研究生论文,单片机研究论文,单片机设计论文,优秀毕业论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,毕业论文,单片机论文,基于单片机论文,毕业论文终稿,毕业论文初稿,本文档支持完整下载,支持任意编辑!本文档全网独一无二,放心使用,下载这篇文档,定会成功!

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服