编写一万年历系统

2018-11-28 18:52

一、课程设计的内容

要求: 模仿现实生活中的挂历.

当前页以系统当前日期的月份为准显示当前月的每一天(显示出日及对

应的星期几).

当系统日期变到下一月时,系统自动翻页到下一月

二、课程设计的要求与数据

1、进一步掌握和利用C语言进行程设计的能力; 2、进一步理解和运用结构化程序设计的思想和方法; 3、初步掌握开发一个小型实用系统的基本方法; 4、学会调试一个较长程序的基本方法; 5、学会利用流程图或N-S图表示算法; 6、掌握书写程序设计开发文档的能力。

三、课程设计应完成的工作

1、编写完成相应题目的程序;

2、编写课程设计报告,课程设计报告的内容应包括以下6个部分:

1) 需求分析:包括设计题目、设计要求以及系统功能需求分析; 2) 总体设计:包括系统总体设计框架和系统功能模块图;

3) 详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图; 4) 调试分析过程描述:包括测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等,适当的包含结果截图);

5) 总结:课程设计完成了哪些功能,有没有什么扩展功能?还有哪些地方需要改进?课程设计过程中的学习体会与收获、对本次课程设计的认识以及自己的建议等内容;

6) 附录:主要源程序代码,含必要的注释。

3、答辩:在实验室建立程序运行的环境,并在指导教师的监督下,独立解 决问题、运行程序和回答教师提出的问题。

四、课程设计进程安排

序号 1 2 3 4 设计各阶段内容 下达任务书,说明设计要求;收集资料 总体方案设计、详细设计 编写程序,调试分析 撰写报告并上交,答辩 地点 实验3#517 实验3#517 实验3#517 实验3#517 起止日期 6.18 6.19 6.20 6.21 五、应收集的资料及主要参考文献

[1] 谭浩强.C程序设计(第三版)[M],北京:清华大学出版社,2005.9

[2] 谭浩强. C程序设计题解与上机指导(第三版)[M],北京:清华大学出版社,2005.7 [3] 刘振安 孙忱 刘燕君.C程序设计课程设计. 北京:机械工业出版社, 2004.9

发出任务书日期: 2007年 6 月 18 日 指导教师签名:

计划完成日期: 2007年 6 月 22 日 基层教学单位责任人签章:

主管院长签章:

目 录

1 设计目的与要求………………………………………………………………4 2 总体设计………………………………………………………………………4 3 详细设计………………………………………………………………………5-7 4调试分析 ……………………………………………………………………8-10 5 总结……………………………………………………………………………10 6 附录…………………………………………………………………………11-12 6 答辩记录(正文处请留出适当空白) ………………………………………12-13 7 指导教师意见(正文处请留出十行空白) …………………………………13

1 目的与要求

1. 课程设计的目的

课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际应用问题进行有机结合,锻炼学生分析、解决实际问题的能力,提高学生项目开发及程序调试能力。

2. 课程设计的内容及要求

利用学到的编程知识和编程技巧,通过设计编写一个万年历系统,帮助熟悉程序编写,及时查究错误,独立完成。

要求: 模仿现实生活中的挂历.

当前页以系统当前日期的月份为准显示当前月的每一天(显示出日及对应的星期

几).

当系统日期变到下一月时,系统自动翻页到下一月

2 总体设计

主程序 获取系统日期 计算出当天是星期几 换算出本月第1天是星期几 打印输出本月月历

3 详细设计

1.由于要以系统当前日期的月份为准显示当前月的每一天,所以用如下 ”获取系统当前日期”并分别赋值给变量 year,month,day: time_t today; struct tm *p; time(&today); p=localtime(&today); year=p->tm_year+1900; month=p->tm_mon+1; day=p->tm_mday;

注意1,由于返回的是1900到现在的秒数,所以year后面要加上1900,又起始是1月,所以mon要加1;

注意2,头文件 #include 不能忘了.

2.对得到的系统日期进行处理,算出当天是星期几

if(year>=0) //由于已知公元元年1月1日为星期一,所以以改日为基准计算

for(i=0;i

{ if((i%4==0 && i0!=0)||i@0==0) //判断是否为闰年

days=days+366; else days=days+365; }

if((year%4==0 && year0!=0)||year@0==0) //判断是否为闰年

for(j=0;j

{days=days+m2[j];

m=m2[month]; //算出当月天数 }

else for(j=0;j

{days=days+m1[j];

m=m1[month]; //算出当月天数 }

days=days+day-2; //元年1月1日为星期一,days得出与之前的那个星期天相差的天数 n=days%7; //余数n为0为星期天,1为星期一….. else printf(“日期错误\\n”) 流程图: year>=0 Y 判断是否为闰年 N days=days+365 Y days=days+366 N 打印日期错误 i=i+1 Y i1)


编写一万年历系统.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:研究生综合英语下学期习题文档

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: