王更生课程设计模板信息工程12C++.docx

上传人:b****5 文档编号:6139583 上传时间:2023-01-04 格式:DOCX 页数:24 大小:66.97KB
下载 相关 举报
王更生课程设计模板信息工程12C++.docx_第1页
第1页 / 共24页
王更生课程设计模板信息工程12C++.docx_第2页
第2页 / 共24页
王更生课程设计模板信息工程12C++.docx_第3页
第3页 / 共24页
王更生课程设计模板信息工程12C++.docx_第4页
第4页 / 共24页
王更生课程设计模板信息工程12C++.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

王更生课程设计模板信息工程12C++.docx

《王更生课程设计模板信息工程12C++.docx》由会员分享,可在线阅读,更多相关《王更生课程设计模板信息工程12C++.docx(24页珍藏版)》请在冰豆网上搜索。

王更生课程设计模板信息工程12C++.docx

王更生课程设计模板信息工程12C++

课程设计(论文)任务书

信息学院专业信息工程班级2011-

一、课程设计(论文)题目电子日历

二、课程设计(论文)工作:

自2011年12月26日起

至2011年12月30日止。

三、课程设计(论文)的内容要求:

1、主界面

2、基本要求

a)编写一个实用日历程序,并且可以多次进行。

b)编写一个2012年1月份日历与农历对照程序。

3、补充自己的设计内容

学生签名:

      

2011年12月30日

课程设计(论文)评阅意见

等   级

项目

课程设计态度评价

出勤情况评价

设计中创新性评价

论文书写规范化评价

综合评定等级

优秀

3补充

良好

2补充

中等

1补充

及格

无补充

不及格

不好

不好

无补充

不好

评阅人王更生职称教授

2011年12月30日

目 录

 

一、设计思路

二、功能实现详细设计

三、测试结果分析

四、用户手册

五、设计体会

一、设计思路

二、功能实现详细设计

编译C程序:

主要应用函数调用,循环语句,死循环进行编译。

在编译之后要进行调试

#include

#include

voidmonth_day()//这个函数用来判断这年的月分有多少天的

{

intyear,month;

printf("请输入年月(xxxx,x)");

scanf("%d,%d",&year,&month);

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

if((year%4==0&&year%100!

=0)||year%400==0&&month==2)/*判断是判断是否是闰年,如果是闰年而且这个月是2月那这个月有29天*/

printf("这一天有29天");

else

printf("这一天有%d天",mon_day[month-1]);

}

voidsearch_lunar(intday)

{

inty=12,nl=7;

nl=nl+day;

if(nl>29)

{

y=1;

nl=nl-29;

}

printf("\t2012年1月%d日是农历",day);

switch(y)

{

case1:

printf("一月");break;

case12:

printf("十二月");break;

}

switch(nl)

{

case1:

printf("初一");break;

case2:

printf("初二");break;

case3:

printf("初三");break;

case4:

printf("初四");break;

case5:

printf("初五");break;

case6:

printf("初六");break;

case7:

printf("初七");break;

case8:

printf("初八");break;

case9:

printf("初九");break;

case10:

printf("初十");break;

case11:

printf("十一");break;

case12:

printf("十二");break;

case13:

printf("十三");break;

case14:

printf("十四");break;

case15:

printf("十五");break;

case16:

printf("十六");break;

case17:

printf("十七");break;

case18:

printf("十八");break;

case19:

printf("十九");break;

case20:

printf("二十");break;

case21:

printf("廿一");break;

case22:

printf("廿二");break;

case23:

printf("廿三");break;

case24:

printf("廿四");break;

case25:

printf("廿五");break;

case26:

printf("廿六");break;

case27:

printf("廿七");break;

case28:

printf("廿八");break;

case29:

printf("廿九");break;

case30:

printf("三十");

}

}

voidfind_lunar()

{

intday;

charch;

printf("\t您正在查询2012年1月农历!

!

\n");

printf("\t请输入您要查询的日期(day):

");

scanf("%d",&day);

while((day<1)||(day>31))

{

printf("\n\t\a\a输入错误!

!

!

!

!

!

!

!

!

!

!

请重新输入!

!

\n");

printf("\t请输入您要查询的日期:

");

scanf("%d",&day);

}

search_lunar(day);

printf("\t是否继续查询?

(y/n)");

ch=getchar();

ch=getchar();

while(!

(ch=='n'||ch=='N'||ch=='y'||ch=='Y'))

{

printf("\n\t\a\a输入错误!

是否继续查询?

(y/n)");

scanf("%c",&ch);

}

if((ch=='y')||(ch=='Y'))

{

find_lunar();

}

}

voidshengxiao(intyear)

{

intp;

if(year>=1960)

p=(year-1960)%12+1;

else

p=12-(1960-year)%12;

switch(p)

{

case1:

printf("这一年是鼠年");break;

case2:

printf("这一年是牛年");break;

case3:

printf("这一年是虎年");break;

case4:

printf("这一年是兔年");break;

case5:

printf("这一年是龙年");break;

case6:

printf("这一年是蛇年");break;

case7:

printf("这一年是马年");break;

case8:

printf("这一年是羊年");break;

case9:

printf("这一年是猴年");break;

case10:

printf("这一年是鸡年");break;

case11:

printf("这一年是狗年");break;

case12:

printf("这一年是猪年");break;

}

}

voidsearshengxiao()

{

intyear;

charch;

printf("请输入年份");

scanf("%d",&year);

shengxiao(year);

printf("\t是否继续查询?

(y/n)");

ch=getchar();

ch=getchar();

while(!

(ch=='n'||ch=='N'||ch=='y'||ch=='Y'))

{

printf("\n\t\a\a输入错误!

是否继续查询?

(y/n)");

scanf("%c",&ch);

}

if((ch=='y')||(ch=='Y'))

{

searshengxiao();

}

}

intcalculatespace(intyear)

{

intk,s=0;

if(year>2000)

{

for(k=2000;k

if(k%4==0)s=s+366;

elses=s+365;

return((s+6)%7);

}

elseif(year==2000)return(6);

else

{

for(k=year;k<2000;k++)

if(k%4==0)s=s+366;

elses=s+365;

return(7-(s+1)%7);

}

}

voidrunnian()

{

intyear;

printf("请输入年份(xxx)\n");

scanf("%d",&year);

if((year%4==0&&year%100!

=0)||year%400==0)

printf("%d是闰年",year);

else

printf("%d不是闰年",year);

}

voidshow_simple_calendar()

{

inti,j,k,n,space,year;

inta[2][12]={{31,28,31,30,31,30,31,31,30,31,30,31},

{31,29,31,30,31,30,31,31,30,31,30,31}};

printf("\n\t现在使用的是简单的日历程序!

");

printf("\n\t请从键盘输入年份:

");

scanf("%d",&year);

getchar();

space=calculatespace(year);

if(((year%4==0&&year%100!

=0)||year%400==0))k=1;

elsek=0;

printf("\n\n\t\t\t\t日历的年份为:

%d\n",year);

for(i=0;i<12;i++)

{

printf("\n\n\t\t\t\t月份:

%d\n",i+1);

printf("\n\t星期日星期一星期二星期三星期四星期五星期六\n\n");

for(n=0;n

printf("\t");

for(j=1;j<=a[k][i];j++)

{

printf("%8d",j);

if((space+j)%7==0)

printf("\n\t");

}

space=(space+a[k][i])%7;

}

}

voidsimple_calendar()

{

charch;

do

{

show_simple_calendar();

printf("\n\n\t\t是否要查看其它年份的日历?

?

(y/n)");

ch=getchar();

while(!

(ch=='n'||ch=='N'||ch=='y'||ch=='Y'))

{

printf("\n\t\t\a\a输入错误!

是否要查看其它年份的日历?

?

(y/n)");

scanf("%c",&ch);

}

}while(ch=='y'||ch=='Y');

}

voidquit()

{

printf("\n\t谢谢使用日历程序!

\n");

exit(0);

}

intSelectMenu()

{

intchoice;

printf("\n\t******************************************************************\n");

printf("\n5:

计算某一年的生肖\n");

printf("\n4:

判断某一年是否为闰年\n");

printf("\n3:

计算某一月的天数\n");

printf("\n2:

查看2012年1月份对应的农历\n");

printf("1:

简单的日历程序!

\n");

printf("0:

退出!

\n");

printf("\t******************************************************************\n");

printf("\t请选择菜单号(0---5):

");

while((!

(scanf("%d",&choice)))||(choice<0)||(choice>5))

{

printf("\n\t\t\a\a选择错误!

!

!

!

!

!

!

!

!

!

!

请重新选择:

");

printf("\n\t******************************************************************\n");

printf("\n5:

计算某一年的生肖\n");

printf("\n4:

判断某一年是否为闰年\n");

printf("\n3:

计算某一月的天数\n");

printf("\n2:

查看2012年1月份对应的农历\n");

printf("1:

简单的日历程序!

\n");

printf("0:

退出!

\n");

printf("\t******************************************************************\n");

printf("\t请选择菜单号(0---5):

");

}

returnchoice;

}

voidHandleMenu()

{

printf("\t\t*****************欢迎使用日历程序***************\n");

while

(1)

{

switch(SelectMenu())

{

case0:

quit();

break;

case1:

simple_calendar();

break;

case2:

find_lunar();

break;

case3:

month_day();

break;

case4:

runnian();

break;

case5:

searshengxiao();

break;

}

}

}

voidmain()

{

HandleMenu();

}

三、测试结果分析

四、用户手册

程序的名称:

简单的日历程序

程序的主要功能:

一,打印某一年的日历。

二,判断某一年是否为闰年。

三,查询2012年一月份对应的农历。

四,四查询某一年的生肖。

按照提示,例如输入“1988”,就会得到结果。

五,查询某一月的天数。

例如输入“1995,2”就可以得到结果。

程序运行时可以根据提示操作,便可以实现相应的功能。

例如:

我要查看1990年的生肖,选择功能5。

按ENTER键,则出现“请输入年份(XXX)”,输入“1990”,按ENTER键,则出现“这一年是马年”。

五、设计体会

在涉及这个程序时,要考虑的因素很多。

首先要有一个整体的框架,然后设计各个功能,而每一个功能又是由几个函数组成,从而在编译的初始阶段是对一个一个函数进行编译。

而每一个函数体又需要许多知识,有的需要循环结构,有的需要SWITCH语句等。

每一个字母出错就有可能影响功能的实现,总之细节决定成败。

程序做完之后最重要的一点就是上机进行调试,在调试的过程中不可避免会有一些错误出现,这时要静下心来仔细观察,逐个排查错误。

比如说有一次我应用SCANF语句,没有加一个与号导致程序出错,我检查了好几遍,没有找出错误,这时我心急了。

而老师很快帮我找出了错误。

在这个时候必须有一个沉稳的心态,才能快速找出错误。

不管做什么都需要刻苦,没有什么突出的成果可以轻松得到,想要自己的成果与众不同,就要比别人付出更多。

在这设计过程中,我不断地探索,尝试不同的方法,才完成几个功能,我也充分利用网络资源,查看别人的设计思路,从而得到启发,激发我的设计灵感,最中成功完成这一设计。

我得到的最重要的一句话是:

想要得到,就要去尝试。

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

当前位置:首页 > 初中教育 > 数学

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

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