版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、编写万年历编写万年历程序设计基础课程设计报告程序设计基础课程设计报告专专 业:业: 电子信息工程电子信息工程 班班 级:级: 20072007 级级 2 2 班班 学学 号:号: 20070820642007082064 姓姓 名:名: 周周 超超 指导教师:指导教师: 常常 耀耀 辉辉 二二 OOOO 八八 年年 六月三十日六月三十日- 1 -目目 录录一、一、 课程设计题目课程设计题目二、二、 设计目的设计目的三、三、 程序执行主流程图程序执行主流程图四、四、 程序实现程序实现五、五、 运行结果运行结果六、六、 小结小结- 2 -一、一、 课程设计题目:课程设计题目:题目:编写一万年历系统
2、题目:编写一万年历系统要求: 模仿现实生活中的挂历. 当前页以系统当前日期的月份为准显示当前月的每一天(显示出日及对应的星期几).当系统日期变到下一月时,系统自动翻页到下一月.二、二、 设计目的:设计目的:通过 C+语言编程实现一个万年历,实现基本的万年历功能。万年历的实现核心是要判断闰年和根据给定日期计算其对应星期,并按照合适的方式输出日历。编者可以根据自己的实际情况,在此次程序的基础上开发出更具个性的万年历来。三、三、 程序执行主流程图:程序执行主流程图: 万年历系统万年历系统功功能能控控制制模模块块输输出出模模块块日日历历显显示示模模块块选选择择模模块块 系统模块图- 3 -四、四、 程
3、序实现:程序实现: #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*endlendl;sttime();cout*endlendl;cout请输入要查找的年月:endlendl; coutyear; coutmonth; system(cls); couttt公元year
4、年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; - 4 -case 2:if(year%4=0&year%100!=0|year%400=0) return 29; else return 28;break; int year_s() int s=1; switch(month-
5、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 s; int week_s() int s=1,n; n=(year-1)%400; for(int i=1;i=n;i+) if(year%4=0&year
6、%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; - 5 -/*char *week7=星期日,星期一,星期二,星期三,星期四,星期五,星期六; for(i=0;i7;i+) coutweekit;*/ cout星期日t星期一t星期二t星期三t星期四t 星期五t星期六; coutendl; day=day_s(); week=week_s(); for(i=1;i=week;i+) cout t; for(
7、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; coutn; system(cls); switch(n) case 1:main();break; case 0:;break; void m
8、enu() - 6 - 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); printf(现在时间是: %sn,asctime(timenow); 五、五、 运行结果:运行结果:- 7 -六、六、 小结小结编者可以了解万年历的实现原理和实现方法,掌握 C+语言编程实现万年历的过程和实现的技巧。程序中分析了实现万年历的变量定义、各个函数的定义和实现,以及通过对源程序的详细分析来透彻完成万年历的实现过程。通过此次编程,编者应该掌握一下知识点:(1)闰年的判断方法和星期的计算方法。(2)系统日期的获取。(3)字体颜色的设置。(4)屏幕输出的方法。此程序中实现的万年历是对 windows 自带万年历的模仿,有兴趣的话,可以对此程序再进行优化设计,以达到学以致用的目的。 经过编写程序,检验了我们的编程的水平,从这次编程中,我发现我才学到了一点点的知识,有好多的东西都
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 市政道路雨污设施改造合同
- 建筑设计建造师劳动合同范本
- 电力场地坪漆施工合同样本
- 通信基站基础处理强夯合同
- 办公空间绿化租赁合同
- 防护林建设土石方施工合同
- 教育基地房产转让协议范本
- 桥梁建设铣刨机租赁合同
- 文具市场土地租赁合同
- KTV门头房租赁合同
- 110应急联动预案
- 肉牛肉羊屠宰加工项目选址方案
- 清洗剂msds清洗剂MSDS
- 中学数学教学案例
- 同等学力申硕英语词汇400题及解析
- 大二上学期 植物地理学ppt课件5.3 植物生活与环境-温度条件(正式)
- 人教版七年级上册数学第一章有理数计算题训练(无答案)
- 新能源发电技术教学大纲
- 微生物在农业上的应用技术课件
- 国家自然科学基金申请书填写课件
- 各种面料服装用洗涤标志及说明
评论
0/150
提交评论