




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息学院课程设计题目: 年历处理程序的设计 姓名: 学号: 班级: 课程: C+程序设计 任课老师: 2012年6月 课程设计任务书及成绩评定题目年历处理程序的设计课程设计的任务及要求: 输入一个年份,输出该年的日历;输入年月,输出该月的日历;输入年月日,输出今天是本年度的第几天。课程设计所需的软件、硬件等 软件:VC+ 6.0 硬件:CPU>=1GHz课程设计进度计划:2012年 5月23日:编辑源程序2012年 5月26日:运行,记录结果、截图2012年 5月27日:进行整个课程设计的完善任课教师评语 成绩: 教师签名: 日期: 目录1. 实验名称 年历处理程序的设计2.实验目的及要
2、求 描述课程设计的目的,约束条件,使目标达到一致。3.实验环境 回顾并且复习课本内容,想好需要的硬件设施与需要安装的C+软件。4.实验设计方案 分析课程设计的实现方法,详细介绍项目的操作步骤。5.测试结果及结论课程设计的屏幕显示,并加以简单的文字描述,注意程序运行要用到的各种算法等知识。6. 小结主要说明程序设计的特点,进行了哪些知识方面的拓展,在哪些方面得到了帮助,以及实现编程过程中得到的感悟。一:实验名称: 年历处理程序的设计二:实验目的及要求:1、实验目的:(1) 进一步巩固和加深对“C+程序设计”课程基本知识的理解和掌握,了解C+语言在项目开发中的应用。(2) 学习程序设计开发的一般方
3、法,了解和掌握项目开发过程及方式,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。 2、要求:输入一个年份,输出该年的日历;输入年月,输出该月的日历;输入年月日,输出今天是本年度的第几天。三:实验环境:实验前,先复习和回顾课本,在电脑上安装Visual C+等集成软件。四:实验设计方案: 1.主菜单:程序是通过类的成员函数void operate( );来实现对主菜单的输入与输出的处理。 2.数据功能:程序是由类的成员函数void print Year( );实现各年的输出;由void print Month( );来实现各月的输出;由void print Day( );实现
4、各天的输出。3. 源程序:#include<iostream>#include<iomanip>#include<string>#include<cmath>using namespace std;void set_year( );void set_month( );void set_day();int firstday(int y);/第一天是周几void coutmonth(int m);/输出月int monthfirstday(int year);/月的第一天是星期几int daysofmonth(int m);/显示月日历int mou
5、thday();/计算是第多少天int year,month,day,weekday;/输出月的标题void monthhead(int m)cout<<"n"cout<<m<<"月 日 一 二 三 四 五 六"<<"n"/输出标题void couthead(int m)int i;cout<<"n"cout<<m<<"月 日 一 二 三 四 五 六"<<"n"cout<&l
6、t;" "for(i=0;i<weekday;i+)cout<<" "/第一天是星期几int firstday(int year)double s;s=floor(year-1+(year-1)/4.0-(year-1)/100.0+(year-1)/400.0+1);return (int)s%7;/月的第一天是星期几int monthfirstday(int year)int x,t;x=firstday(year);if(year%4=0&&year%100!=0|year%400=0) t=1;else t=0;
7、switch(month)case 1:break;case 2:x=(31+x)%7;break;case 3:x=(59+t)%7;break;case 4:x=(90+t)%7;break;case 5:x=(120+t)%7;break;case 6:x=(151+t)%7;break;case 7:x=(181+t)%7;break;case 8:x=(212+t)%7;break;case 9:x=(243+t)%7;break;case 10:x=(273+t)%7;break;case 11:x=(304+t)%7;break;case 12:x=(334+t)%7;break
8、;return x;/输出月void coutmonth(int m)int i,days;couthead(m);days=daysofmonth(m);for(i=1;i<=days;i+)cout<<setw(5)<<i;weekday=(weekday+1)%7;if(weekday=0)cout<<"n"<<" "/计算是第多少天int mouthday()int k=day,t,num;if(year%4=0&&year%100!=0|year%400=0) t=1;els
9、e t=0;switch(month)case 1:num=k;break;case 2:num=31+k;break;case 3:num=59+t+k;break;case 4:num=90+t+k;break;case 5:num=120+t+k;break;case 6:num=151+t+k;break;case 7:num=181+t+k;break;case 8:num=212+t+k;break;case 9:num=243+t+k;break;case 10:num=273+t+k;break;case 11:num=304+t+k;break;case 12:num=334
10、+t+k;break;cout<<endl;cout<<year<<"年"<<month<<"月"<<day<<"日"<<"是一年中的第"cout<<num<<"天。n"<<"n 离本年结束还有"<<365+t-num<<"天。"<<endl;return 0;/输入年void set_ye
11、ar( )cout<<"n请 输 入 年 份 : "cin>>year;/输入月void set_month()cout<<"n请 输 入 月 份 : "cin>>month;/输入天void set_day()cout<<"n请 输 入 日 : "cin>>day;/计算每月的天数int daysofmonth(int m)switch (m)case 1:case 3:case 5:case 7:case 8:case 10:case 12:return 31
12、;case 4:case 6:case 9:case 11:return 30;case 2:if(year%4=0&&year%100!=0)|year%400=0)return 29;elsereturn 28;default:return 0;/首页int inter_face()cout<<"*"<<endl; cout<<"tt欢迎使用.日历处理系统"<<endl<<endl;cout<<"tt 主菜单 "<<endl;cou
13、t<<"tt1 输入年显示年日历"<<endl; cout<<"tt2 输入年月显示月日历"<<endl; cout<<"tt3 显示某一天是一年的第几天"<<endl; cout<<"tt4 退出系统"<<endl; cout<<"*"<<endl; cout<<"t输入任务序号:"<<endl;int choose;cin>
14、>choose;return choose;int exit_test()/退出cout<<"nt欢 迎 使 用 !再 见!n"<<endl;return 0;/退出 返回一个0值int main()/主函数int choose; int m;while(m) /功能选择choose=inter_face();switch(choose)case 1:int i;set_year( );weekday=firstday(year);cout<<endl;cout<<" "<<year<
15、;<"年"<<endl;for(i=1;i<=12;i+)coutmonth(i);cout<<"n"system("pause");break;case 2:set_year( );set_month( );weekday=monthfirstday(year);cout<<endl;cout<<year<<"年"<<endl;for(i=1;i<=12;i+)if(i=month)coutmonth(i);cout<
16、<"n" system("pause");break;case 3:set_year( );set_month( );set_day();mouthday(); system("pause");break;case 4:m=exit_test();break;default :cout<<"ntt输 入 有 误!"<<endl;cout<<"nt重 新 输 入."<<endl;system("pause");break;return 0;五:运行结果及结论: 数据处理测试:1. 年的输出:2:月的输出:3:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 离职补偿合同范本
- 环卫项目合同范本
- 7 多元文化 多样魅力 第3课时 教学设计-2023-2024学年道德与法治六年级下册统编版
- 白杨教学设计
- 2023-2024学年泰山版信息技术(2018)第六册《第一单元 装扮美好生活 4 漂亮花瓶巧设计》教学设计
- Module 4 Unit 2 Children's Day(教学设计)-2023-2024学年牛津上海版(试用本)英语三年级下册
- Module 12 help unit 3 language in use教学设计 -2024-2025学年外研版八年级英语上册
- 新一年家长会教师的演讲稿
- 21凉州词教学设计-2024-2025学年四年级上册语文统编版
- 秋季学期散学典礼校长讲话稿
- 2025年企业法务顾问聘用协议范本
- DB37-T4824-2025 乡镇(街道)应急物资配备指南
- 《康复评定技术》课件-第五章 运动控制
- 【理特咨询】2024生成式人工智能GenAI在生物医药大健康行业应用进展报告
- 2025年春新外研版(三起)英语三年级下册课件 Unit6第1课时Startup
- 平抛运动的经典例题
- 录井作业现场风险评估及控制措施
- 2025年度商会工作计划
- 社区管理与服务专业实习总结范文
- 施工现场5S管理规范
- 机油化学品安全技术(MSDS)说明书
评论
0/150
提交评论