c语言程序设计电子日历Word文档下载推荐.docx

上传人:b****6 文档编号:20917376 上传时间:2023-01-26 格式:DOCX 页数:19 大小:77.70KB
下载 相关 举报
c语言程序设计电子日历Word文档下载推荐.docx_第1页
第1页 / 共19页
c语言程序设计电子日历Word文档下载推荐.docx_第2页
第2页 / 共19页
c语言程序设计电子日历Word文档下载推荐.docx_第3页
第3页 / 共19页
c语言程序设计电子日历Word文档下载推荐.docx_第4页
第4页 / 共19页
c语言程序设计电子日历Word文档下载推荐.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

c语言程序设计电子日历Word文档下载推荐.docx

《c语言程序设计电子日历Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c语言程序设计电子日历Word文档下载推荐.docx(19页珍藏版)》请在冰豆网上搜索。

c语言程序设计电子日历Word文档下载推荐.docx

当number=5时,指针指向星期五;

当number=6时,指针指向星期六;

当number不是上述数值时,指针指向错误。

x函数:

输出该天星期几,调用week1函数,将编号的值赋给number,调用*week2函数,根据number的值,确定指针指向,从而输出星期几,输出年,月,日,星期几。

显示月历,先输出星期日星期一星期二星期三星期四星期五星期六,星期日。

检验有效性,即当输入的年小于零、月小于一或大于十二、天大于该月最大值(调用day1函数)时将0返回给主函数,否则将1返回给主函数

nianli函数:

输出年历,先调用runnian函数,定义变量i,赋初值为1,利用for循环,循环十二次,调用x2函数,输出各个月的月历,从而显现出该年的每一天达到年历的效果。

yueli函数:

输出月历,先调用runnian函数,调用showmonth函数,输出该月月历。

rili函数:

输出日历,先调用函数,调用printmonth函数,输出该日日期。

二、功能实现详细设计:

输入选择---选择+回车键---输入相应信息+回车键---输出结果。

流程图如下:

退出

程序包含多个函数,分别为main函数、nianli函数、yueli函数、rili函数、nongli函数、printmonth函数、printyear函数、SelectMenu函数、HandleMenu函数、showmonth函数、week1函数、*week2函数、day1函数、day2函数。

通过函数间的调用,实现程序的运行。

详细程序

#include<

stdio.h>

stdlib.h>

voidnongli()

{intj;

printf("

\n\n\t\t\t\t2012年1月\n"

);

\n\t星期日星期一星期二星期三星期四星期五星期六\n\n"

for(j=1;

j<

=31;

j++)

{

printf("

\t%d"

j);

if(j==7||j==14||j==21||j==28)

printf("

\n"

if(j==7)

{

\t元旦\t初九\t初十\t十一\t十二\t十三\t十四\t\n"

}

if(j==14)

\t十五\t十六\t十七\t十八\t十九\t廿十\t廿一\t\n"

if(j==21)

\t廿二\t廿三\t廿四\t廿五\t廿六\t大寒\t廿八\t\n"

if(j==28)

\t廿九\t春节\t初二\t初三\t初四\t初五\t初六\t\n"

if(j==31)

\t初七\t初八\t初九\n"

}

}

voidprinttab(intn)

{

while(n>

0)

{

printf("

\t"

n--;

}

#include<

charMonthDay[]={31,28,31,30,31,30,31,31,30,31,30,31};

charMonthDayLeap[]={31,29,31,30,31,30,31,31,30,31,30,31};

char*WeekDayName[]={"

星期日"

"

星期一"

星期二"

星期三"

星期四"

星期五"

星期六"

};

chargetkey()

charc,s[10];

scanf("

%s"

s);

c=s[0];

returnc;

charisLeapYear(inty)

return((y%4==0&

&

y%100!

=0||y%400==0)?

1:

0);

intWeekDay(inty,intm,intd)

intweek;

if(m==1)m=13;

if(m==2)m=14;

week=(d+2*m+3*(m+2)/5+y+y/4-y/100+y/400)%7;

returnweek;

charqueryweekday()

inty,m,d,week,c=0;

do

请输入年月日(XXXXXXXX)\n"

%d%d%d"

&

y,&

m,&

d);

week=WeekDay(y,m,d);

%d年%d月%d日是星期%s,是否继续查询(Y/N)?

"

y,m,d,WeekDayName[week]);

c=getkey();

while(c=='

Y'

||c=='

y'

voidshowmonth(inty,intm)

intd,dt,week;

week=WeekDay(y,m,1);

if(isLeapYear(y))

dt=MonthDayLeap[(m-1)%12];

else

dt=MonthDay[(m-1)%12];

for(d=0;

d<

7;

d++)

\t%s"

WeekDayName[d]);

printtab(week);

for(d=1;

=dt;

\t%6d"

d);

if(WeekDay(y,m,d)==6)

charprintmonth()

inty,m,c=0;

请输入年月(XXXXXX)\n"

%d%d"

m);

printtab(3);

%d年\t%d月\n"

y,m);

showmonth(y,m);

是否继续查询(Y/N)?

charprintyear()

请输入年份(XXXX)\n"

%d"

y);

%d年年历\n"

y);

for(m=1;

m<

=12;

m++)

printtab(4);

%d月\n"

m);

\n是否继续查询(Y/N)?

voidquit()

\n\t谢谢使用该程序!

exit(0);

intSelectMenu()

intchoice;

\n\t******************************************************************\n"

4:

2014年1月的农历!

3:

某年日历!

2:

某月日历!

1:

根据日期查星期几!

0:

退出!

\t******************************************************************\n"

\t请选择菜单号(0---4):

while((!

(scanf("

choice)))||(choice<

0)||(choice>

4))

printf("

\n\t\t\a\a选择错误!

!

请重新选择:

某月日历\n"

returnchoice;

voidHandleMenu()

\t\t*****************欢迎使用该程序***************\n"

while

(1)

switch(SelectMenu())

{

case0:

quit();

break;

case1:

queryweekday();

case2:

printmonth();

case3:

printyear();

break;

case4:

nongli();

voidmain()

HandleMenu();

三、测试结果分析:

程序主界面:

四、用户手册:

可以根据界面的提示根据您的需要输入0.1.2或3.然后输入您要查的日期即可。

五、设计体会:

忙了好久总算将此程序设计出来。

尽管不是自己独立完成,但仍然很高兴,因为在设计的过程中,让我了解到要设计一个大型程序,查找资料是至关重要的,在他人的基础上,再根据自己所学进行修改与调试,最后设计出自己想要的程序。

另外平时扎实的基础也很关键,因为如果你平时学得就不怎么样,那么你面对这么一个比较有难度的程序,你可能会望而却步,看他人的程序都是个难点,更别说让你自己去设计。

为了解决此类问题,最好就是多向同学,老师请教,不要怕难为情。

尤其是老师,凭他们多年的编写程序的经验,要解决我们的问题,对他们来说只是小问题。

在设计这个程序时,我刚开始是根据老师给我提供的资料,用画图以及循环将框架设计出来,但是接下去便无从下手了。

计算是个关键和难点,我们也查了相应的资料,最好这个计算问题解决了。

从这一个多星期的设计过程中,遇到了一些细节性的问题,比如在乱输入的情况下,有时会出现程序崩溃,后来通过修改,修正了漏洞。

到写报告为止,漏洞基本被找出,并得到修正。

通过写这个程序,我对程序的健壮性有了更深的认识,也更加注意程序的细节问题。

总之,这次设计程序让我受益良多,我会好好珍惜像这种难得的机会。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 环境科学食品科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1