c++课程设计,月历

c++课程设计,月历

ID:33896211

大小:375.48 KB

页数:13页

时间:2019-03-01

c++课程设计,月历_第1页
c++课程设计,月历_第2页
c++课程设计,月历_第3页
c++课程设计,月历_第4页
c++课程设计,月历_第5页
资源描述:

《c++课程设计,月历》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、信息科学与技术学院《程序设计基础》课程设计报告题目名称:万年历学生姓名:王帅学号:2013708007专业班级:计双一班指导教师:郭理2014年6月20日目录1课程设计题目与要求-1-1.1设计题目-1-1.2设计要求-1-2总体设计-2-2.1总体功能框架-2-2.2数据结构概要设计-2-3详细设计-3-3.1数据结构详细设计-3-3.2系统功能详细设计-3-4运行结果-6-4.1程序运行初始界面-6-4.2打印当天日历图-6-4.2打印当天日历-6-4.3帮助-7-4.4退出-7-4.5日历查询-8-5课程设计总结-9-5

2、.1编程中的问题及解决方法-9-5.2小结-10-5.3心得体会-10-6参考文献-11-11课程设计题目与要求1.1设计题目万年历程序1.2设计要求要求:模仿现实生活中的挂历。当前页以系统当前日期的月份为准显示当前月的每一天(显示出日及对应的星期几)。2-10-总体设计1.1总体功能框架图2.1总体功能框架1.2数据结构概要设计本程序由于数据量并不大,故采用静态数组和自定义时间类data作为数据容器,来存储时间如年月日三个变量等数据。2-10-详细设计1.1数据结构详细设计classdata//时间类的定义{public:inty

3、ear;//年intmonth;//月intday;//日data();//构造函数voiddisplay();//类函数,打印月历};1.2系统功能详细设计data::data()//时间类的构造函数,初始化时间类的成员为当前日期图3.2-1函数datavoiddata::display()//时间类成员函数,打印月历图3.2-2函数displayintfirstday(data&T)//判断某年某月第一天是星期几图3.2-4函数firstday-10-intrun(data&T)//判断闰年图3.2-3函数runintnum(d

4、ata&T)//判断某年某月的天数图3.2-5函数numintjiancha(data&T)//检查日期是否正确图3.2-6函数jiacha-10-voidsetday(data&T)//对日历进行集总处理图3.2-7函数setdayvoidmainmenu(data&T)//主菜单,并根据关键词进行操作图3.2-8函数mainmenu1-10-运行结果1.1程序运行初始界面图4.1程序运行初始界面1.2打印当天日历图4.2打印当天日历1.3-10-帮助图4.3帮助1.1退出图4.4退出1.2-10-日历查询图4.5-1日历查询图4

5、.5-2日历查询-10-课程设计总结1.1编程中的问题及解决方法难点1:难点在于判断星期,但根据蔡勒公式,可以很容易地有年月日推断出星期:nDay=year-1+(year-1)/4-(year-1)/100+(year-1)/400+nday;w=nDay%7;其中year:要查询的年份nday:从该年的一月一日起到该天的天数w:得出的星期数,w==0表示星期天。在打印月历时,只要知道第一天的星期,就可以依次输入后面的日期,通过定长度输出日期,在遇到某天时星期六时,就换行输出,因此可以按照月历的格式输出。对于初始输入当前月历,可以

6、通过中的time和localtime函数取出系统时间进行初始化。time_ttimer;structtm*gmt;time(&timer);gmt=localtime(&timer);gmt就是一个时间结构体,可以从中取出年月日。难点2:判断日期是否合法,可以先判断年月日是否有小于0的值,月和日是否有超出最大值12和31,如果通过此判断合法,再判断是否时闰年,如果时闰年,则判断二月份是否满足要求,闰年二月份不能超过29天,平年二月份不能超过28天。在查询过程中,如果发现输入不合法或者不满足输入要求,则要求重新输入。难

7、点3:通过两个getch();捕获键盘的输入,将后一个getch()的返回值付给整型或字符型k,k为相应键的ascii值,判断ascii值,就可以知道时哪个键的输入。若捕获到某键的输入,则设置相应的年或月或日的值,再进行刷性输出,就可以实现日期的调整。-10-1.1小结程序设计基础是我们进入二学位的学习的第一门专业课程,因此它对于我有着非比寻常的意义:它让我第一次有机会接受到系统的编程语言的学习和程序编写训练,在此之前vb也没哟给我这种感觉,在老师的指导下,我对于程序设计的思维方法也得到了很大的提高,因此在这里我首先要对我的老师表示

8、感谢。1.2心得体会这道题是万年历,打印日历的问题。在做这道题的时候,我第一次发现了函数的魅力,科学的分配好每一个函数的功能比直接设置一个大的主函数好多了。由于个人学习程度不是很深,所以其中关于时间函数的一部分是从网上寻找来的。而且其

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。