版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026河南黄金叶投资管理有限公司所属企业大学生招聘29人备考题库(第一批次)及答案详解(名师系列)
- 2026江苏保险公司销售人员招聘备考题库附答案详解(b卷)
- 2026年烟台文化旅游职业学院公开招聘高层次、高技能人才备考题库【含答案详解】
- 2026黑龙江哈尔滨工程大学信息与通信工程学院集成电路学院岗位招聘1人备考题库带答案详解(综合卷)
- 2026福州鼓楼攀登信息科技有限公司招聘1人备考题库附参考答案详解(a卷)
- 2026湖南郴州市第一人民医院招聘58人备考题库带答案详解(黄金题型)
- 2026内蒙古通辽市科尔沁左翼后旗招聘政府专职消防员29人备考题库及答案详解(真题汇编)
- 2026湖南永州江永县人民医院、中医医院招聘合同制聘用人员的3人备考题库及参考答案详解(满分必刷)
- 2026安徽宣城广德市国信工程造价咨询有限公司社会招聘3人备考题库及参考答案详解(基础题)
- 2026黑龙江齐齐哈尔市龙沙区南航街道公益性岗位招聘1人备考题库及答案详解【名师系列】
- 2026年杭州市实业投资集团有限公司校园招聘笔试参考试题及答案解析
- 雨课堂学堂在线学堂云《人工智能安全与伦理(北京航空航天)》单元测试考核答案
- 2026届安徽省示范高中皖北协作区高三下学期第28届联考(高考一模)数学试题
- 2026重庆邮政集团春季招聘笔试模拟试题及答案解析
- 《赵州桥(第一课时)》课件
- 2026年乌兰察布职业学院单招职业技能测试题库及完整答案详解
- 《建设工程监理合同管理》课件
- 政府项目招投标流程培训课件
- 硫化工岗位操作规程
- 16S524塑料排水检查井-井筒直径Φ700~Φ1000
- 江苏省手术分级目录(2023)word版
评论
0/150
提交评论