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

上传人:韩长文 文档编号:3939312 上传时间:2019-10-10 格式:DOC 页数:20 大小:195.52KB
返回 下载 相关 举报
毕业论文-基于C++的万年历系统设计21996.doc_第1页
第1页 / 共20页
毕业论文-基于C++的万年历系统设计21996.doc_第2页
第2页 / 共20页
毕业论文-基于C++的万年历系统设计21996.doc_第3页
第3页 / 共20页
毕业论文-基于C++的万年历系统设计21996.doc_第4页
第4页 / 共20页
毕业论文-基于C++的万年历系统设计21996.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《毕业论文-基于C++的万年历系统设计21996.doc》由会员分享,可在线阅读,更多相关《毕业论文-基于C++的万年历系统设计21996.doc(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. 科学出版社.2005ag an employment tribunal clai Emloyment tribunals sort out disagreements bet

25、ween employers and employees. You may need to make a claim to an employment tribunal if: you dont agree with the disciplinary action your employer has taken against you your employer dismisses you and you think that you have been dismissed unfairly. For more informu, take advice from one of the orga

26、nisations listed underFur ther help. Employment tribunals are less formal than some other courts, but it is still a legal process and you will need to give evidence under an oath or affirmation. Most people find making a claim to an employment tribunal challenging. If you are thinking about making a

27、 claim to an employment tribunal, you should get help straight away from one of the organisations listed underFurther help. ation about dismissal and unfair dismissal, seeDismissal. You can make a claim to an employment tribunal, even if you haventappealedagainst the disciplinary action your employe

28、r has taken against you. However, if you win your case, the tribunal may reduce any compensation awarded to you as a result of your failure to appeal. Remember that in most cases you must make an application to an employment tribunal within three months of the date when the event you are complaining

29、 about happened. If your application is received after this time limit, the tribunal will not usually accept i. If you are worried about how the time limits apply to you If you are being represented by a solicitor at the tribunal, they may ask you to sign an agreement where you pay their fee out of

30、your compensation if you win the case. This is known as adamages-based agreement. In England and Wales, your solicitor cant charge you more than 35% of your compensationif you win the case. You are clear about the terms of the agreement. It might be best to get advice from an experienced adviser, fo

31、r example, at a Citizens Advice Bureau. To find your nearest CAB, including those that give advice by e-mail, click onnearest CAB. For more information about making a claim to an employment tribunal, seeEmployment tribunals. The (lack of) air up there Watch m Cay man Islands-based Webb, the head of

32、Fifas anti-racism taskforce, is in London for the Football Associations 150th anniversary celebrations and will attend Citys Premier League match at Chelsea on Sunday. I am going to be at the match tomorrow and I have asked to meet Ya ya Toure, he told BBC Sport. For me its about how he felt and I w

33、ould like to speak to him first to find out what his experience was. Uefa hasopened disciplinary proceedings against CSKAfor the racist behaviour of their fans duringCitys 2-1 win. Michel Platini, president of European footballs governing body, has also ordered an immediate investigation into the re

34、ferees actions. CSKA said they were surprised and disappointed by Toures complaint. In a statement the Russian side added: We found no racist insults from fans of CSKA. Age has reached the end of the beginning of a word. May be guilty in his seems to passing a lot of different life became the appear

35、ance of the same day; May be back in the past, to oneself the paranoid weird belief disillusionment, these days, my mind has been very messy, in my mind constantly. Always feel oneself should go to do something, or write something. Twenty years of life trajectory deeply shallow, suddenly feel someth

36、ing, do it.一字开头的年龄已经到了尾声。或许是愧疚于自己似乎把转瞬即逝的很多个不同的日子过成了同一天的样子;或许是追溯过去,对自己那些近乎偏执的怪异信念的醒悟,这些天以来,思绪一直很凌乱,在脑海中不断纠缠。总觉得自己似乎应该去做点什么,或者写点什么。二十年的人生轨迹深深浅浅,突然就感觉到有些事情,非做不可了。The end of our life, and can meet many things really do?而穷尽我们的一生,又能遇到多少事情是真正地非做不可? During my childhood, think lucky money and new clothes ar

37、e necessary for New Year, but as the advance of the age, will be more and more found that those things are optional; Junior high school, thought to have a crush on just means that the real growth, but over the past three years later, his writing of alumni in peace, suddenly found that isnt really gr

38、ow up, it seems is not so important; Then in high school, think dont want to give vent to out your inner voice can be in the high school children of the feelings in a period, but was eventually infarction when graduation party in the throat, later again stood on the pitch he has sweat profusely, loo

39、ked at his thrown a basketball hoops, suddenly found himself has already cant remember his appearance. Baumgartner the disappointing news: Mission aborted. r plays an important role in this mission. Starting at the ground, conditions have to be very calm - winds less than 2 mph, with no precipitatio

40、n or humidity and limited cloud cover. The balloon, with capsule attached, will move through the lower level of the atmosphere (the troposphere) where our day-to-day weather lives. It will climb higher than the tip of Mount Everest (5.5 miles/8.85 kilometers), drifting even higher than the cruising

41、altitude of commercial airliners (5.6 miles/9.17 kilometers) and into the stratosphere. As he crosses the boundary layer (called the tropopause),e can expect a lot of turbulence. We often close ourselves off when traumatic events happen in our lives; instead of letting the world soften us, we let it

42、 drive us deeper into ourselves. We try to deflect the hurt and pain by pretending it doesnt exist, but although we can try this all we want, in the end, we cant hide from ourselves. We need to learn to open our hearts to the potentials of life and let the world soften us.生活发生不幸时,我们常常会关上心门;世界不仅没能慰藉我

43、们,反倒使我们更加消沉。我们假装一切仿佛都不曾发生,以此试图忘却伤痛,可就算隐藏得再好,最终也还是骗不了自己。既然如此,何不尝试打开心门,拥抱生活中的各种可能,让世界感化我们呢? Whenever we start to let our fears and seriousness get the best of us, we should take a step back and re-evaluate our behavior. The items listed below are six ways you can open your heart more fully and completely.当恐惧与焦虑来袭时,我们应该退后一步,重新反思自己的言行。下面六个方法有助于你更完满透彻地敞开心扉。Whenever a painful situation arises in your life, try to embrace it instead of running away or trying to mask the hurt. When the sadness strikes, take a deep breath and lean into it. W

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1