C++课程设计_ (16)万年历系统

上传人:m**** 文档编号:457107372 上传时间:2023-10-23 格式:DOC 页数:9 大小:76.50KB
返回 下载 相关 举报
C++课程设计_ (16)万年历系统_第1页
第1页 / 共9页
C++课程设计_ (16)万年历系统_第2页
第2页 / 共9页
C++课程设计_ (16)万年历系统_第3页
第3页 / 共9页
C++课程设计_ (16)万年历系统_第4页
第4页 / 共9页
C++课程设计_ (16)万年历系统_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《C++课程设计_ (16)万年历系统》由会员分享,可在线阅读,更多相关《C++课程设计_ (16)万年历系统(9页珍藏版)》请在金锄头文库上搜索。

1、编写万年历程序设计基础课程设计报告专 业: 电子信息工程 班 级: 2007级 2 班 学 号: 2007082064 姓 名: 周 超 指导教师: 常 耀 辉 二OO八 年 六月三十日目 录一、 课程设计题目二、 设计目的三、 程序执行主流程图四、 程序实现五、 运行结果六、 小结一、 课程设计题目:题目:编写一万年历系统要求: 模仿现实生活中的挂历. 当前页以系统当前日期的月份为准显示当前月的每一天(显示出日及对应的星期几).当系统日期变到下一月时,系统自动翻页到下一月.二、 设计目的:通过C+语言编程实现一个万年历,实现基本的万年历功能。万年历的实现核心是要判断闰年和根据给定日期计算其对

2、应星期,并按照合适的方式输出日历。编者可以根据自己的实际情况,在此次程序的基础上开发出更具个性的万年历来。三、 程序执行主流程图: 万年历系统功能控制模块输出模块日历显示模块选择模块 系统模块图四、 程序实现: #include#includeusing namespace std;#include int day_s(); int year_s(); int week_s(); void output_month(); void menu(); void sttime(); void output_year(); int year,month; void main() cout*endlen

3、dl;sttime();cout*endlendl;cout请输入要查找的年月:endlendl; coutyear; coutmonth; system(cls); couttt公元year年endl; output_month(); menu(); int day_s() switch(month) case 1: case 3: case 5: case 7: case 8: case 10: case 12:return 31;break; case 4: case 6: case 9: case 11:return 30;break; case 2:if(year%4=0&year%

4、100!=0|year%400=0) return 29; else return 28;break; int year_s() int s=1; switch(month-1) case 11:s+=30; case 10:s+=31; case 9:s+=30; case 8:s+=31; case 7:s+=31; case 6:s+=30; case 5:s+=31; case 4:s+=30; case 3:s+=31; case 2:if(year%4=0&year%100!=0|year%400=0)s+=29; else s+=28; case 1:s+=31; return

5、s; int week_s() int s=1,n; n=(year-1)%400; for(int i=1;i=n;i+) if(year%4=0&year%100!=0|year%400=0) s+=2; else s+=1; s+=year_s(); s%=7; return s; void output_month() int week,day,i; coutttmonth月endl; /*char *week7=星期日,星期一,星期二,星期三,星期四,星期五,星期六; for(i=0;i7;i+) coutweekit;*/ cout星期日t星期一t星期二t星期三t星期四t 星期五t

6、星期六; coutendl; day=day_s(); week=week_s(); for(i=1;i=week;i+) cout t; for(i=1;i=day;i+) couti; if(i+week)%7=0) coutendl; else coutt; for(int j=1;j=42-week-i;j+) coutt; coutendlendl; void output_year() couttt公元year年endl; for(int i=1;i=12;i+) month=i; output_month(); cout按1重新输入年月endl; cout按0退出endl; co

7、utn; system(cls); switch(n) case 1:main();break; case 0:;break; void menu() cout按1重新输入年月endl;cout按2查看本年全部日历endl;cout按0退出endl; coutn; system(cls); switch(n) case 1:main();break; case 2:output_year();break;case 0:break; void sttime() time_t now; struct tm *timenow; time(&now); timenow = localtime(&now

8、); printf(现在时间是: %sn,asctime(timenow); 五、 运行结果:六、 小结编者可以了解万年历的实现原理和实现方法,掌握C+语言编程实现万年历的过程和实现的技巧。程序中分析了实现万年历的变量定义、各个函数的定义和实现,以及通过对源程序的详细分析来透彻完成万年历的实现过程。通过此次编程,编者应该掌握一下知识点:(1) 闰年的判断方法和星期的计算方法。(2) 系统日期的获取。(3) 字体颜色的设置。(4) 屏幕输出的方法。此程序中实现的万年历是对windows自带万年历的模仿,有兴趣的话,可以对此程序再进行优化设计,以达到学以致用的目的。 经过编写程序,检验了我们的编程的水平,从这次编程中,我发现我才学到了一点点的知识,有好多的东西都不够熟练,还需要好好的努力学习,在编写这个程序时,出现了好多的问题,经过别人的帮助和自己的认真的调试才完成,这个程序还有好多的不足,还不够美观。有的地方还有漏洞。这个程序我使用的是链表,使我从中掌握了链表的使用方法,积累了经验,这些经验在以后的学习生活中会有很大的帮助的。 - 1 -

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号