课程设计----年历处理程序的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计----年历处理程序的设计
信息学院课程设计题目:年历处理程序的设计
姓名:
学号:
班级:
课程: C++程序设计
任课老师:
2012年6月
课程设计任务书及成绩评定
目录
1.实验名称…………………………………………………………………………………………
年历处理程序的设计
2.实验目的及要求…………………………………………………………………………………
描述课程设计的目的,约束条
件,使目标达到一致。
3.实验环境…………………………………………………………………………………………
回顾并且复习课本内容,想好需要的硬件设施与需要安装的C++软件。
4.实验设计方案……………………………………………………………………………………
分析课程设计的实现方法,详细介绍项目的操作步骤。
5.测试结果及结论………………………………………………………………………………
课程设计的屏幕显示,并加以简单的文字描述,注意程序运行要用到的各种算法等知识。
6.小结………………………………………………………………………………………………
主要说明程序设计的特点,进行了哪些知识方面的拓展,在哪些方面得到了帮助,以及实现编程过程中得到的感悟。
一:实验名称:
年历处理程序的设计
二:实验目的及要求:
1、实验目的:
(1)进一步巩固和加深对“C++程序设计”课程基本知识的理解和掌握,了解C++语言在项目开发中的应用。
(2)学习程序设计开发的一般方法,了解和掌握项目开发过程及方式,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。
2、要求:
输入一个年份,输出该年的日历;输入年月,输出该月的日历;输入年月日,输出今天是本年度的第几天。
三:实验环境:
实验前,先复习和回顾课本,在电脑上安装Visual C++等集成软件。
四:实验设计方案:
1.主菜单:
程序是通过类的成员函数void operate( );来实现对主菜单的输入与输出的处理。
2.数据功能:
程序是由类的成员函数void print Year( );实现各年的输出;由void print Month( );来实现各月的输出;由void print Day( );实现各天的输出。
3.源程序:
#include
#include
#include
#include
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 mouthday();//计算是第多少天
int year,month,day,weekday;
//输出月的标题
void monthhead(int m)
{
cout<<"\n";
cout< } //输出标题 void couthead(int m) { int i; cout<<"\n"; cout< cout<<" "; for(i=0;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; 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; } return x; } //输出月 void coutmonth(int m) { int i,days; couthead(m); days=daysofmonth(m); for(i=1;i<=days;i++) { cout< 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;else t=0; switch(month) { case 1: num=k; break;