万年历.docx

上传人:b****4 文档编号:5661236 上传时间:2023-05-08 格式:DOCX 页数:11 大小:52.25KB
下载 相关 举报
万年历.docx_第1页
第1页 / 共11页
万年历.docx_第2页
第2页 / 共11页
万年历.docx_第3页
第3页 / 共11页
万年历.docx_第4页
第4页 / 共11页
万年历.docx_第5页
第5页 / 共11页
万年历.docx_第6页
第6页 / 共11页
万年历.docx_第7页
第7页 / 共11页
万年历.docx_第8页
第8页 / 共11页
万年历.docx_第9页
第9页 / 共11页
万年历.docx_第10页
第10页 / 共11页
万年历.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

万年历.docx

《万年历.docx》由会员分享,可在线阅读,更多相关《万年历.docx(11页珍藏版)》请在冰点文库上搜索。

万年历.docx

万年历

目录

第一章课程设计的目的和要求1

第二章课程设计内容及要求2

第三章设计说明3

第四章课程设计心得体会5

附录1:

参考文献6

附录2:

程序代码7

 

第一章课程设计的目的和要求

C语言课程设计的主要目的是培养学生综合运用C语言程序设计课程所学到的知识,编写C程序解决实际问题的能力,以及严谨的工作态度和良好的程序设计习惯。

通过课程设计的训练,学生应该能够了解程序设计的基本开发过程,掌握编写、调试和测试C语言程序的基本技巧,充分理解结构化程序设计的基本方法。

C语言程序设计的主要任务是要求学生遵循软件开发过程的基本规范,运用结构化程序设计的方法,按照课程设计的题目要求,分析、设计、编写、调试和测试C语言程序及编写设计报告。

本课程设计的目标

1巩固和加深学生对c++语言课程的基本知识的理解和掌握

2掌握c++语言编程的和程序调试的基本技能

3掌握利用c++语言进行程序软件设计的方法

4提高书写程序设计说明文档的能力

5提高运用c语言解决实际问题得能力

基本要求

1分析课程设计题目得要求

2对系统功能模块进行分析,写出详细设计说明文档

3编写程序代码,调试程序使能正确运行

4设计完成的软件要便于操作和使用

5设计完成后提交课程设计报告

 

第二章课程设计内容及要求

设计背景:

随着高科技时代的到来,人们越来越享受着电子信息技术给人生活带来的便捷与高效。

人们也渐渐不能满足于传统的挂式日历。

传统挂式日历得使用方式较为繁琐,而且每天都要去手动翻页。

因此电子万年历渐渐地兴起了。

设计要求:

模仿现实生活中的挂历,以当前页系统当前日期的月份为准显示当前月的每一天(显示出日及对应的星期几)。

前系统日期变到下一月时,系统自动翻页到下一个月。

 

第三章设计说明

系统模块图

 

流程图:

运行某次截图如下:

图3.3某次程序运行图

第四章课程设计心得体会

进过三周的课程设计,我独立完成了一个较大的C语言程序的设计,以及认真完成了课程设计的设计报告。

回忆着三周的时间,我的收获很大。

首先,通过这次课程设计,我熟练的掌握并运用了所学的知识进行了编程,而且取得了成功,这大大激发了我对编程的兴趣;其次,在涉及的过程中所遇到的困难,我都认真的去思考,和同学以及老师交流,或者利用网上资源来获取帮助,了解解决办法。

通过各种渠道,完善所学到的东西。

最后,我了解到了软件开发的答题过程和各个必要的步骤,这对我将来的学习和应用都是很有帮助的。

对于计算机专业的大学生来说,积累实战经验是一项极其重要的内容,很可能成为将来就业的敲门砖。

而程序设计综合课程设计就是积累实战经验的一个过程,虽然程序的规模不是很大,但是能够让我们尽早的认识软件开发的重要性和必要性,为将来的就业打下坚实的基础。

 

附录1:

参考文献

1.谭浩强:

C程序设计,清华大学出版社,2005年7月第三版

2.谭浩强:

C++程序设计,清华大学出版社,2004年6月第一版

 

附录2:

程序代码

#include

#include

#include

#include

typedefstruct

{

unsignedcharday;

unsignedcharmonth;

unsignedshortyear;

}

T_MFW_DATE;

typedefstruct

{

T_MFW_DATEdate;/*记录的日期*/

}

t_cldrecord;

typedefstruct

{

T_MFW_DATEtoday_date;

T_MFW_DATEcursor_date;

intdays_map[6][7];/*日期地图*/

}

t_cldmain_data;

t_cldmain_data*cldmain_data;

voidcldmain_get_days_map(void);

voidmain(void)

{

inti,j;

cldmain_data=(t_cldmain_data*)malloc(sizeof(t_cldmain_data));

cldmain_data->cursor_date.day=20;

while

(1)

{

charbuf[20];

char*p;

memset(buf,0,20);

printf("yearmonth:

");

gets(buf);

if(buf[0]=='q')break;

cldmain_data->cursor_date.year=strtod(buf,&p);

p++;

cldmain_data->cursor_date.month=strtod(p,&p);

printf("yea%d\nmonth%d\n",(cldmain_data->cursor_date.year),(cldmain_data->cursor_date.month));

cldmain_get_days_map();

printf("motuwthfrsasu\n");

for(j=0;j<6;j++)

{

printf("\t");

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

{

printf("%i\t",cldmain_data->days_map[j][i]);

}

printf("\n");

}

}

getchar();

}

/*检查日期是否合法合法返回1,否则返回0*/

intcheck_date(T_MFW_DATEdate)

{

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

/*大于2000年,小于2100年,月份合法*/

if(date.year<2000||date.year>=2100||date.month<1||date.month>12)

{

return0;

}

/*day合法*/

if(date.day<1)return0;

if(date.day>month_days[date.month-1])return0;

 

if(date.month==2)

{

if(date.year%4!

=0)

{

if(date.day==29)return0;

}

}

return1;

}

/*功能:

得到每个月第一天是星期几星期一二三四五六日

返回值:

1234567如果返回为0,则出错*/

intget_weekday_of_month(T_MFW_DATEcursor_date)

{

intday;

 

/*参照1997年1月1日,参数cursor_date从2000年1月1日到2099年1月1日*/

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

intthis_year_days[]={0,31,59,90,120,151,181,212,243,273,304,334};

intcursor_year_days=this_year_days[cursor_date.month-1]+(cursor_date.day=1);

intcomp_days=(cursor_date.year-1997)*365+cursor_year_days;

inti=(cursor_date.year-1997)/4;

comp_days=comp_days+i*1;

if(cursor_date.month>2)

{

if(cursor_date.year%4==0)

{

comp_days+=1;

}

}

if(cursor_date.day>2098)return0;

day=comp_days%7;

/*1997年1月1日是星期三*/

day=(day+2)%7;

if(day==0)day=7;

returnday;

}

/*根据参数的值,得到该年该月有多少天.返回值:

该月的天数*/

intcount_days_of_month(T_MFW_DATEcursor_date)

{

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

unsignedcharday=cldmain_data->cursor_date.day;

unsignedcharmonth=cldmain_data->cursor_date.month;

unsignedshortyear=cldmain_data->cursor_date.year;

if(month!

=2)

{

returnmonth_days[month-1];

}

else

{

if(year%4!

=0)

{

return28;

}

if(year%4==0)

{

if(year%100==0)

{

if(year%400==0)

{

return29;

}

return28;

}

return29;

}

}

}

/*得到日期地图,保存到全局结构变量cldmain_data的成员数组变量days_map中.*/

voidcldmain_get_days_map(void)

{

inti;

intday;

T_MFW_DATEcursor_date=cldmain_data->cursor_date;

int*map_p=cldmain_data->days_map[0];

intdays_count;

intweekday;

for(i=0;i<6*7;i++)

{

map_p[i]=0;

}

if(check_date(cldmain_data->cursor_date)==0)return;

days_count=count_days_of_month(cldmain_data->cursor_date);

weekday=get_weekday_of_month(cldmain_data->cursor_date);

day=1;

for(i=weekday-1;i

{

map_p[i]=day;

day++;

}

}

 

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

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2