万年历课程设计报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告

课程名称程序设计基础专周题目年历显示

姓名XX

班级XXXXXX

学号XX

指导教师XXX

设计时间2015-03-02至2015-03-06

成都工业学院计算机工程系

成都工业学院

课程设计(论文)任务书

一、课程设计题目年历显示

二、课程设计工作自 2015年 03月 02日至 2015年 03月 06日。

三、课程设计地点: XXXX

四、课程设计内容要求:

1.本课程设计的目的

1) 增进对C语言各理论知识的熟练程度,

2) 加强算法设计的能力,为以后的程序设计与编写打下良好基础。

3)增加对C语言的熟练程度,提高程序设计的能力,并初步接触实用程序的编写。

2.课程设计的任务及要求

题目:年历显示

要求:(1)输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1940-2040年之间。

(2)输入年月,输出该月的日历。

(3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。

3)课程设计编写要求

1)详细清晰地描述个人的课程设计工作;

2)要按照本模板的规格打印誊写课程报告;

3)课程报告包括目录、内容提要、正文、课程设计体会、参考文献、附

录等;

4)课程报告装订按学校的统一要求完成

4)评分标准:

1)完成原理分析:20分;

2)完成设计过程:40分;

3)完成代码分析:20分。

4)个人创新工作:20分。

学生签名:XX

2015年 3 月8 日

目录目录................................................................................................................... - 1 -

正文................................................................................................................... - 2 -

一、需求分析............................................................................................... - 2 -

二、个人工作..................................................................... 错误!未定义书签。

三、概要设计............................................................................................... - 2 -

流程图……………………………………………………………….- 2-

程序……………………………………………………………….- 4-

四、程序结果..................................................................... 错误!未定义书签。

课程设计体会............................................................................. 错误!未定义书签。

正文

一、需求分析

我选择课程设计题目:年历显示

日常生活当中,我们查询日期很大程度上需要用到日历。而手动去翻纸质日历查询速度慢,而且会让人看的眼花缭乱。因此,我们可以编写一个程序来显示某一年的日历。

①程序要能够准确输出某一年的日历;

②程序要能够准确的输出某一年的某一月的月历;

③程序能够详细查询某一年某一天的日期;

④程序能够循环输出。

二、个人工作

(1)、设计程序主题,根据输入的内容判断是否为年,月,日,然后输出对应内容;(2)、想出一个算法,排列月份,使输出年历的格式与题目要求一样;

(3)、想出一个算法,计算某一天到现在时间有多少天。

(4)、编写打印年历的函数;

(5)、编写打印月历的函数;

(6)、编写计算日期的函数;

(7)、编写主程序。

设计方法:

先设计一个主程序,有特定的用户输入界面,然后根据输入的内容判断应该打印的内容。比如输入2015,程序判断为打印2015年的年历;输入201503程序判断应该打印2015年3月的月历;输入20150305,程序判断是查询2015年3月6日的信息。然后根据要执行的功能调用相应的函数。

然后分别设计打印日历和打印月历,以及判断日期的函数。函数思想会在后面的概要设计里面阐述。

三、概要设计

1、画出程序流程图;

主程序流程图:

打印年历或月历的流程图

2、根据流程图设计程序

首先是主程序,这个程序的主要功能是判断输入的内容并调用相应的函数。主程序(部分):

#include

#include

void part1(int x); //函数1~6为打印日历的函数

void part2(int x);

void part3(int x);

void part4(int x);

void part5(int x);

void part6(int x);

int weak(int x,int y); //计算1号对应的星期

int weak2(int x,int y,int z); //计算星期,为函数day提供数据

int year(int x); //打印日历的函数

int mouth(int x); //打印月历的函数

int day(int x); //查询天数的函数

int distance(int x,int y,int z); //提供距离天数查询

int main()

{

int a;

char z;

x: //位置标注

printf("\n");

printf("请输入一个日期(Ex:20150302或201503或2015):");

scanf("%d",&a);

printf("\n");

if((1940<=a)&&(a<=2040))

year(a);

else if((194001<=a)&&(a<=204012))

mouth(a);

else if((19400101<=a)&&(a<=20401231))

day(a);

else

{printf("输入错误,请重新输入!");

goto x;}

printf("\n");

printf("\n");

printf("继续查询(y),退出(n):");

scanf("%s",&z);

if(z=='y')

goto x;

else

;

return 0;

}

然后是各部分的函数,主要列出几个比较重要的函数:

计算每个1日月对应星期几的函数:

int weak(int x,int y) //这个函数用于计算3~12月份的第一天对应的星期{int w2,w3,a;

if(x<2000) //小于两千年的一月份

{a=x-19*100;

w2=(19/4)-2*19+(a+a/4)+(13*(y+1)/5);

while(w2<0)

相关文档
最新文档