课程设计----年历处理程序的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

相关文档
最新文档