文档库 最新最全的文档下载
当前位置:文档库 › C语言课程设计万年历范例

C语言课程设计万年历范例

C语言课程设计万年历范例
C语言课程设计万年历范例

C

计算机科学与技术专业****班

学号:******

姓名:******

目录

序言 (1)

说明 (2)

流程图 (3)

源代码 (4)

小结 (5)

序言

1. 经过上一个学期对《C程序设计》的学习,同学们都认为真正的学到了有用知识,可能有一些人学的不够理想,但无论如何,这些知识都为我们的下一步学习打下了坚实的基础。做这么一个课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。

本程序是一个万年历程序,可以输出公元一年一月以后任意月份的天数及每一天是星期几,只要在运行程序时按照要求输入年份再输入和月份,程序就会把这一月份的日历显示在屏幕上,使人一目了然。该程序能与目前天文学研究中所采用的各种日历程序所能计算的范围相一致。

2 . 课程设计题目:万年历

要求:输入年份和月份,自动输出该月的日历,清楚的显示每一天是星期几。

指导老师:翟海霞

说明

一.算法分析说明:

1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为355。然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。

2. 输出月份第一天为星期几的算法:使总天数除以7取余加2得几既为星期几,若是7,则为星期日。

3. 算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。

二.要用到的函数和语句

1.,, /*头文件*/

2.main() /*主函数*/

3.printf(),

4.scanf()

5.textbackground(),textcolor() /*定义背景和字体颜色*/

6.if 语句

7.for 语句

8.printstar() /*调用函数*/

9.int day_year() /*定义函数*/

10.goto /*循环语句*/

流程图1.图一

2.图二

源代码

#include

#include

#include

main()

{long s=1;

int a[14]={0,0,31,28,31,30,31,30,31,31,30,31,30,31}; int y,m,p,i,j,k,n,leap;

int day_year(int y);

textbackground(RED);

textcolor(YELLOW);

clrscr();

printf("please input the year:");

scanf("%d",&y);

printf("\n");

printf("please input the month:");

scanf("%d",&m);

printf("\n");

textbackground(3);

clrscr();

printf("\tY ear:%d Month:%d\n",y,m);

printf("\n");

if(y==1)

s=1;

for(i=1;i

s=s+day_year(y-1);

if(y%4==0&&y%100!=0||y%400==0)

leap=1;

else leap=0;

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

s=s+a[i];

if(leap==1&&m>2)

s=s+1;

else s=s+0;

p=s%7+3;

printf(" Sun Mon Tue Wed Thu Fri Sat\n"); printstar();

if(p<=7)

n=4*(p-1);

else n=4*(p-8);

for(j=1;j<=n;j++)

printf(" ");

if(leap==1&&m==2)

a[3]=a[3]+1;

else a[3]=a[3]+0;

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

{printf("%4d",j);

if((j+n/4)%7==0)

printf("\n");}

printf("\n");

printstar();

printstar();

s=1;

printf("do you want contintue(y/n)");

scanf("%c",&q);

for(;;)

{int k;

k=bioskey(0);

if(k==0x316e) break;

if(k==0x1579) goto loop;

}

}

printstar()

{printf("******************************\n"); }

int day_year(int y)

{if(y%4==0&&y%100!=0||y%400==0)

return(366);

else return(365);}

小结

经历了这次课程设计的设计和制作的整个过程,我才发现我知识的贫乏和知识面的狭窄,原本以为不就是一个小小的课程设计,小case,很容易就可以搞定,可是到了后来实际的操作的时候可是花费了我九牛二虎之力,不说其他的,只说时间上面,我在宿舍里面熬了三个通宵,更不用说白天的时间了。

这次作课程设计我也是收获很大,首先,我对C语言有了更深的了解,使用起来也更加的熟练,原来有一些不知道和不熟悉的函数,我学会用了。其次,我这一次找了不少的资料,找专业的书籍、上网找各方面的资料,也使我学到了一些书本中学不到的知识,让我长了见识。同时我们同学之间也互相的探讨,也增进了我们同学之间的感情。

这次作的这一个设计,虽然我自己觉的很有的成就感,但是这必竟是我第一次作C语言的课程设计,必然会有很多的不足之处有待改进,相信以后我一定会做的更好。

万年历+备忘录(C语言课程设计)

/* 湖南大学数学与应用数学 胡凡 C语言课程设计 万年历+备忘录命令提示行 完成于2011年 完整版 */ /*-------------------------------我是分割线-------------------------------*/ /*命令行功能选项*/ /*-d:显示当月日历和当日备忘*/ /*-i:显示当月日历和添加当日备忘*/ /*-m:显示当月日历和修改当日备忘*/ /*-g:删除当日备忘*/ /*-t:删除全部备忘*/ /*-------------------------------我是分割线-------------------------------*/ /*头文件*/ #include #include #include /*调用getopt函数*/ /*定义全局变量(各月所含天数)*/ int a[]={0,31,0,31,30,31,30,31,31,30,31,30,31}; /*定义结构体*/ struct date_message { int year; /*年*/ int month; /*月*/ int day; /*日*/ char memo[300]; /*备忘*/ }date={1,1,1,"\0"}; /*-------------------------------我是分割线-------------------------------*/ /*主函数*/ int main(int argc,char *argv[]) { /*函数声明*/ void checkDate(); /*检查日期合法性*/ void show_calender(); /*显示日历*/ void memo_written(); /*写入备忘*/ void memo_modify(); /*修改备忘*/ void memo_delete(); /*删除当日备忘*/ void memo_delete_all(); /*删除全部备忘*/ void memo_read(); /*读取备忘*/

C语言课程设计万年历 完整版

目录 一引言 (2) 二系统功能和数据说明 (3) 一)功能简介 (3) 二)程序中的数据说明 (3) 三程序总体设计及流程图 (4) 一)应用到的c语言 (4) 二)程序的总框架 (5) 四功能模块设计及调试 (5) 一)算法说明 (5) 1.总天数的算法 (5) 2.计算输入日期是星期几 (6) 3.对输入信息的汇总 (8) 4..界面的控制 (10) 二)调试结果 (11) 五程序清单 (12) 六结束语 (17)

一引言 通过大一上学期对C语言的学习,了解到了很多C语言的相关知识。学习的过程有很多困惑但是当自己能够独立的看懂,能过独立的完成一个简单的程序时,心中就会收获无限的喜悦和成就感。我可以里哟哦那个它看懂一些简单的程序,编写一些简单的计算程序,更多的是学会了一种思想——编程,它让我在去思考很多日常生活中的事物是怎么样通过一个个小小的函数实现功能的,激发我对探究的兴趣。 C语言是近年在国内外得到迅速推广应用的一种语言。C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。因此,C语言特别适合于编写各种软件。 在这次的课程设计中我将把日常生活中最经常接触的——日期的查询利用C语言的程序编成一个简单的日历。通过这个小小的日历可以实现很多功能。在程序中你能看到很多熟悉的C语言关键字,同时也加入了很多自己课外了解到的一些关键字。在不断的调试中最终才获得最为完整的程序。接下来就是我的C 语言课程设计的具体内容来了

二系统功能和数据说明 (一)功能简介 在我们的日常生活中能接触到很多不同类型的日历,在日历上我们通常希望它能简介明了的给我们最想要的日期信息。在我的万年历当中,就是将日历,月历做的简单明了,很方便我们的使用。下面是它要实现的一些基本功能:用C语言编写万年历 1、输入年份,判断是否为闰年 2、输入年月日,判断改日为星期几 3、输入年份,打出12个月历,输入月份,打出该月的日历 4、要求用多个函数实现 [名称]万年历 [修改]1、对输入的日期进行容错处理 2、增加和修改为英文的月份和星期显示 3、采用指针形式的weeks和month数组 (二)程序中的数据说明 ①int days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; 这是定义的关于每个月天数的数组,根据大小月以及二月分的特殊情况将每个月的天数最为数组中的元素存入数组当中。其中days[1]=28,是将闰年二月的天数28天作为初始元素存入。在经过theWeek函数后就可以给days[1]中存入正确的月天数。 ②char *weeks[7] ={"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; char *months[12] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November",

c语言课程设计报告--万年历,最详细

C语言课程设计报告 -----万年历 设计人:贾伟涛 学号:12 班级:13电信应电班 指导老师:张伟 日期:2014年6月9日

内容提要 通过大一下学期对C语言的学习,了解到了很多C语言的相关知识。学习的过程虽然有很多困惑,但是当自己能够独立的看懂和独立的完成一个简单的程序时,心中就会收获无限的喜悦和成就感。我虽然可以看懂一些简单的程序,编写一些简单的计算程序,更多的是学会了一种思想——编程,它让我在去思考很多日常生活中的事物是怎么样通过一个个小小的函数实现功能的,激发我对c语言的兴趣。 C语言是近年在国内外得到迅速推广应用的一种机器语言。C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。因此,C语言特别适合于编写各种软件。 在这次的课程设计中我将把日常生活中最经常接触的——日历的查询,利用C 语言的程序编成一个简单的万年历查询系统。通过这个小小的系统可以实现很多功能。在程序中你能看到很多熟悉的C语言关键字,同时也加入了很多自己课外了解到的一些关键字。在不断的调试中最终才获得最为完整的程序。接下来就是我的C语言课程设计的具体内容来了,大家拭目以待吧!

目录 系统功能和数据说明----------------------- 问题分析--------------------------------- 程序总体设计及功能结构框图---------------程序流程图------------------------------- 源程序代码------------------------------- 六、使用说明--------------------------------- 七、个人心得--------------------------------- 八、参考文献---------------------------------

万年历C语言课程设计(内附程序)

石家庄铁道大学课程设计 C语言课程设计 万年历 单位电气与电子工程学院(系) 班级 学号 学生姓名 指导教师 完成日期 2013 年7 月 8日

摘要 本课程设计报告介绍的是C语言实习中的万年历项目。该报告共分五章,第一章介绍选题意义,也就是我选择万年历作为课题项目的理由。第二章是系统的分析,包括系统概述,系统的构成,其中包括各个模块功能的分析介绍,该章节的最后介绍了各部分的功能,即组成程序的各个函数的功能介绍。第三章是系统的实现,即为各个功能的实现而服务的十个自定义函数的流程图,通过这十个流程图,您可以快速地明白程序功能的实现过程。第四章是总结,即本人在设计万年历程序过程中的心得,以及在整个程序设计过程中我的工作过程,也体现了我的设计思路。第五章是参考文献,在这里我主要查阅了《C程序设计(第三版)》中的C函数附表,另外有几处欠缺的知识,我借鉴了另一本书上的相关部分。第六章,也是最后一章,我把整个程序的源代码及其注释附上。由于本人水平所限,程序也不可能很完美,必定有一些漏洞和拖沓,还请谅解。好了,从这里开始,我将与你们分享我我在整个万年历程序设计中的所做所想。

目录 1.选题的意义 (4) 2.系统的分析 (5) 2.1系统概述 (5) 2.2系统的构成 (5) 2.3各模块的功能 (5) 2.4系统的运行环境 (5) 3.系统实现 (6) 4.总结 (11) 5.参考文献 (12) 6.附录(程序源代码) (13)

第一章 选题的意义 (1)通过万年历的设计,使我们掌握软件开发过程的问题分析、系统设计、程序编写、测试等基本方法和技能。 (2)通过万年历的设计,熟练掌握C语言中的分支、循环、数组、函数、文件操作等的综合运用。 (3)通过万年历的设计,可以培养独立思考、综合运用所学有关相应知识的能力,更好地巩固《C程序设计》课程中的所学内容。 (4)通过万年历的设计,可以强化自己的动手编程能力,更加深刻地感受C语言的优点。 (5)万年历与我们的生活联系密切,通过万年历的设计,我们可以感受知识与实践相结合的乐趣。

C语言程序设计 万年历程序

#include"stdio.h" int mon_day[]={31,28,31,30,31,30,31,31,30,31,30,31}; int judge(int year,int month) { if(month==1||month==3||month==5||month==7||month==8||month==10||month ==12) return(1); else if(month==2) { if(year%4!=0||year%100==0&&year%400!=0) return(2); else return(3); } else return(4); } void show2() { int year,i,j,a,n,m,k; char ** p; char * week[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"}; char*month[]={"January","February","March","April","May","June","July","Augu st","September","October","November","December"}; printf("please inter the year:"); scanf("%d",&year); printf("\n"); printf("the calendar of the year%d.",year); printf("\n"); a=(year+(year-1)/4-(year-1)/100+(year-1)/400)%7; for(i=0;i<12;i++) { n=judge(year,i+1); p=month+i; printf("%s\n",*p); printf("\n"); for(j=0;j<7;j++) {p=week+j; printf("%6s",*p);}

C语言课程设计万年历系统

山东交通学院 面向对象课程设计 万年历系统 目录 1课程设计概述 (5) 1.1 万年历系统功能概述 (5) 1.2 开发环境概述 (5) 2万年历系统总体设计 (6) 2.1 问题分析 (6) 2.2 总体设计流程图 (7) 3万年历系统详细设计 (8) 4 程序测试 (9) 4.1 进入程序界面 (9) 4.2 主菜单界面 (9) 4.3 显示当前时间界面 (10) 4.4 查询时间界面 (10)

4.5查询时间出错界面 (11) 4.6退出程序界面 (12) 4.7主菜单选择出错界面..................................................................... 错误!未定义书签。2 5 程序源代码 (13) 设计体会及今后的改进意见 (21) 参考文献 (21) 1课程设计概述 1.1字符统计软件功能概述 模仿Windwos的日历. 1)日历显示功能。能根据系统日期进行初始化,如果没有任何输入, 则显示系统日期所在月份的月历。 2)日历查询、闰年判断功能。输入日期进行查询,显示查询日期所 在月份的月历,还将显示所在年份是否为闰年。 3)参数检查功能。如果输入日期不合法,查询将被拒绝,并显示提 示信息。

1.2开发环境概述 在实验室一人一台微机。 2课程设计概述 2.1问题分析 2.1.1难点在于判断星期,但根据蔡勒公式,可以很容易地有年月日推断出星期:nDay=year-1+(year-1)/4-(year-1)/100+(year-1)/400+nday; w=nDay%7; 其中year:要查询的年份 nday:从该年的一月一日起到该天的天数w:得出的星期数,w==0表示星期天。 2.1.2在打印月历时,只要知道第一天的星期,就可以依次输入后面的日期,通过定长度输出日期,在遇到某天时星期六时,就换行输出,因此可以按照月历的格式输出。对于初始输入当前月历,可以通过中的time 和localtime 函数取出系统时间进行初始化。 time_t timer; struct tm* gmt; time(&timer); gmt=localtime(&timer); gmt就是一个时间结构体,可以从中取出年月日。

c语言课程设计万年历带源程序

2012-2013学年第二学期《高级语言程序设计》 课程设计报告 题目:万年历查询 专业:网络工程 班级:12(1)班 姓名:xxx 指导教师:xxx 成绩: 计算机与信息工程系 二0一三年六月二十日

目录 1设计内容及要求 (2) 1.1设计容 (2) 1.2设计任务及具体要求 (2) 2概要设计 (3) 2.1设计内容及要求 (3) 2.2该系统的功能简介 (3) 2.3总体程序框图 (3) 2.4各个模块之间的主要关系 (3) 3.3设计过程或程序代码 (4) 3.1各个模块的程序流程图及运行界面 (4) 3.2对关键代码加以分析说明 (4) 4设计结果与分析 (19) 5小结 (22) 致谢 (22) 参考文献 (23) 附:源程序 (18)

1设计内容及要求 1.1设计内容 万年历查询算法。 1.2设计任务及具体要求 设计一个小型信息系统,具有信息录入、信息浏览显示、信息删除修改、信息查询等功能,重点解决是查询的实现问题。利用软件工程中的方法进行系统分析。学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能力。 2概要设计 2.1该程序可实现的功能主要有以下几点 1、输入一个年份,在屏幕上输出该年的年历(包括每月的天数和所对应的星期几),并且在每月的左上角或右上角打印出相应的年份和月份,要求输出界面尽可能整齐、美观,符合年历显示规范。假定输入的年份在1-9999年之间。 2、输入年月,输出该月的月历。 3、输入年月日,输出距今天还有多少天,是星期几,是否是公历节日。: 4、指定键盘的某些键,用于控制变换不同年、月、日的显示。即:当前若正在显示2011年的年历,按下键盘“↑”方向键后,年历变为2010年的。 2.2程序的流程图:(见下页)

C语言课程设计报告-万年历1

课程设计题目:万年历 实验题目:万年历程序的编写 实验目的:综合运用所学的C语言知识解决一个比较实际的简单问题,侧重对数组、函数、指针、结构体和文件等相关内容的综合应用, 使同学们能进一步熟悉掌握C语言的基本语法,进一步提升自 己的编程能力并逐步培养编程思维,进而不断提高同学们解决问 题的能力,并为以后的语言学习打下良好的基础。 实验要求:万年历设计 主要功能包括: 1、查询某年某月每一天对应星期几。 2、可以查询某年某月的上个月或是下个月的日历情况。 3、查询某年某月某日是这一年的第几天,并查询改天 是星期几。 4、判断该年是闰年还是平年,判断这一年的生肖。实现思路(要求有文字描述,并画出流程图):

实现过程(要求有文字说明实现的过程,并对相应的代码添加注释):见程序(程序见后)后的解析。。。运行时只要你输入年月日,你要的星系都会显示出来;如果想继续输入日期的话,只需按y就可以,祥结束按n就可以结束。 实验总结(分析程序的得与失): 得:通过这次程序设计,更使我了解了编程序的严谨性,每个问题,每个不走都得有依据,不得盲目乱造,同时也让我获得了一点 编写简单程序的能力,使自己平时在理论课中很多部明白的东 西明白了好多,学会了好多语句的用法,比如会用‘y’ or‘ n’ 来决定程序是否要继续;怎么控制输出格式等等。总之在这次 程序设计中我学到了很多。 失:在编程序过程中有些函数的用法不怎么会用,偶尔会落下写简单的东西。如‘,’‘;’等;同时在编写输出上下个情况及判断 程序是否要继续的程序上花费了好多时间;函数的声明、调用 既然不清楚,感到很惭愧。实验的过失就是成功的阶梯,在过 失中我也学到很多。 心得体会:我体会到了编程序的严谨性,也觉得如果我们要是熟悉课本所讲的内容,不怕麻烦,坚持不懈,我们一定可以将它实现的。 要有耐心,有时候很多的错误就是一个地方引起的,只要认真 检查,一定能突破的,所以在以后的编程序是要细心,有耐心, 人不断调试程序,直至最后成功。 #include struct //定义包含年月日数组结构体 {int year; int month; int day;

C语言课程设计实验报告(万年历)

C语言课程设计 一、题目及功能描述 题目:万年历的设计 利用C语言设计出万年历,使其实现如下要求 1、输入一个年份,在屏幕上输出该年的年历(包括每月的天数和所对应的星期几),并且在每月的左上角或右上角打印出相应的年份和月份,要求输出界面尽可能整齐、美观,符合年历显示规范。假定输入的年份在1-9999年之间。 2、输入年月,输出该月的月历。 3、输入年月日,输出距今天还有多少天,是星期几,是否是公历节日。: 4、指定键盘的某些键,用于控制变换不同年、月、日的显示。即:当前若正在显示2011年的年历,按下键盘“←”方向键后,年历变为2010年的。 二、使用的所有变量的说明 变量说明:(以下均为整型变量) year 表示年份的变量 month 表示月份的变量 day 表示日期的变量 select 表示菜单选择的变量 i 表示月份的变量 j 表示一个月中的某一天的变量 sum 判断某天是一年中的第几天的变量 number判断某天离公元1年1月1日还有几天的变量 a[] 表示每月天数的数组变量 year1 系统时间年份的变量 month1 系统时间月份的变量 day1 系统时间日期的变量 三、程序清单及其说明 #include "time.h" /*包含的头文件*/ #include "stdio.h" #include "math.h" #include "windows.h" #include "conio.h" #define KEYNUMUp 0x48 /*宏定义*/ #define KEYNUMDown 0x50 #define KEYNUMLeft 0x4b

#define KEYNUMRight 0x4d #define KEYNUMPageUp 0x49 #define KEYNUMPageDown 0x51 int eachyeartotal(int year,int month,int day); /*函数声明*/ int counterdays(int year,int month,int day); int nowtime(int year,int month,int day); int week(int year,int month,int day); int maxDay(int year,int month); int isleap(int year); void whatweek(int year,int month,int day); void display(int year ,int month); void display2(int year,int month); void display3(int year,int month,int day) ; void setDay1(int year,int month,int day); void setDay2(int year,int month,int day); void setDay3(int year,int month,int day); void jieri(int month,int day); void display1(int year); void getmenu(); void main() /*主函数*/ { int year,month,day,select; while(1) { getmenu(); printf(" 请输入相应数字:"); /*菜单选择*/ scanf("%d",&select); system("cls"); switch(select) { case 1: /*当选择为1时显示年历*/ printf(" 年历显示:输入年(如2011):"); scanf("%d",&year); if(year>0&&year<10000) /*显示年份从0-10000 */ { display1(year); /*调用函数*/ printf(" 提示按↑:上一年按↓:下一年按其他键:返回菜单\n\n"); setDay1( year,month, day); } else

C语言课程设计万年历

课程设计 课程名称____C语言程序设计__ __ 题目名称万年历 学生学院物理与光电工程学院 专业班级__ 光信息科学与技术 学号____ 3109008862_____ 学生姓名_______陈樟浩_______ 指导教师江志文 2011 年 6 月 24 日

一、题目及已完成的功能描述 (1)题目:万年历的设计 (2)已完成的功能: 1、输入年月日,输出距今天还有多少天,是星期几,是否是公历节日。 2、输入年月,输出该月的月历。 3、输入一个年份,在屏幕上输出该年的年历(包括每月的天数和所对应的 星期几),并且在每月的左上角或右上角打印出相应的年份和月份,要求输出界面尽可能整齐、美观,符合年历显示规范。假定输入的年份在1-9999年之间。 二、使用的所有变量的说明 int IsLeapYear(int year) 调用函数,其中变量名:year;整型;存放信息:某一年。 int month_day(int year,int month)调用函数,其中变量名:year、month;整型;存放信息:某年某月。 int DaySearch(int year,int month,int day)调用函数,其中变量名:year、month、day;整型;存放信息:某年某月某日。 int c=0,变量名:c;整型;存放信息:给c赋以初值3。 float s,变量名:s;浮点型;存放信息:定义浮点型变量。 int m,变量名:m;整型;存放信息:定义整型变量。 long daynum(int year,int month,int day) 调用函数,其中变量名:year、month、day;整型;存放信息:某年某月某日。 int i,变量名:i;整型;存放信息:定义整型变量。 long num=0,变量名:num;长整型;存放信息:给num赋以初值0。 void M_count(int year,int month,int day) 调用函数,其中变量名:year、month、day;整型;存放信息:某年某月某日。 long num1,num2,变量名:num1,num2;长整型;存放信息:定义长整型变量。int PrintAllYear(int year)调用函数,其中变量名:year,整型;存放信息:某一年。

c语言课程设计报告 万年历 最详细

C语言课程设计报告 -----万年历 设计人:贾伟涛2013010912学号:电信应电班13班级:指导老师:张伟日96月2014日期:年要容内提通过大一下学期对C语言的学习,了解到了很多C语言的相关知识。学习的过程虽然有很多困惑,但是当自己能够独立的看懂和独立的完成一个简单的程序时,心中就会收获无限的喜悦和成就感。我虽然可以看懂一些简单的程序,编写一些简单的计算程序,更多的是学会了一种思想——编程,它让我在去思考很多日常生活中的事物是怎么样通过一个个小小的函数实现功能的,激发我对c语言的兴趣。 C语言是近年在国内外得到迅速推广应用的一种机器语言。C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。因此,C语言特别适合于编写各种软件。 C在这次的课程设计中我将把日常生活中最经常接触的——日历的查询,利用. 语言的程序编成一个简单的万年历查询系统。通过这个小小的系统可以实现很多功能。在程序中你能看到很多熟悉的C语言关键字,同时也加入了很多自己课外了解到的一些关键字。在不断的调试中最终才获得最为完整

的程序。接下来就是我的C语言课程设计的具体内容来了,大家拭目以待吧! 录目-----------------------系统功能和数据说明一、 ---------------------------------问题分析二、 --------------- 程序总体设计及功能结构框图三、 -------------------------------程序流程图四、 -------------------------------源程序代码五、 ---------------------------------六、使用说明 ---------------------------------七、个人心得 ---------------------------------八、参考文献一、系统功能和数据说明(一)功能简介在日常生活中能接触到很多不同类型的日历,在日历上我们通常希望它能简单明了的给我们最想要的日期信息。在我的万年历系统当中,就是将日历,月历做的简. 单明了,很方便我们的查询使用。下面是它要实现的一些基本功能: C语言编写万年历查询系统: (1)输入年份,判断是否为闰年 (2)输入年月日,判断是星期几 (3)输入年份,打印出12个月的月历 (4)输入年月,打印出本月的日历 另新增: (1)对输入指令错误的提示 (2)加入了调用系统时间函数

C语言程序设计万年历

C语言课程设计报告 题目:万年历系统 设计者:李文杰 专业班级:软件工程(.net)一班 学号: 311009070118 指导教师:米爱中 2011年6月30日 河南理工大学计算机科学与技术学院

目录 一、C语言课程设计任务书 (3) 1、C语言课程设计目的和要求 (3) 1.1目的: (3) 1.2要求: (3) 二、本组课题及本人任务 (3) 三、程序功能简介 (4) 四、主题内容 (4) 1、题目与要求 (4) 1.1 问题提出 (4) 1.2 本系统涉及的知识点 (5) 1.3 功能要求 (5) 2、功能设计 (6) 2.1 算法设计 (6) 3、程序流程图.. (8) 4、程序代码设计 (9) 4.1输入及年份平润确定模块 (9) 4.2求星期天数模块 (9) 4.3求月份天数模块 (11) 4.4查询模块 (11) 4.5输出及验证模块 (12) 4.6说明: (12) 5、C程序设计总结 (12) 6、结束语 (13) 参考文献 (13)

一、C语言课程设计任务书 1、C语言课程设计目的和要求 1.1目的: 1)复习、巩固C语言的基础知识,进一步加深对C语言的理解和掌握; 2)课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力; 3)培养学生在项目开发中团队合作精神、创新意识及能力。 1.2要求: 1)、对系统进行功能模块分析、控制模块分析正确,符合课题要求,实现相应功能;可以加以其他功能或修饰,使程序更加完善、合理; 2)、系统设计要实用,编程简练,可用,功能全面 3)、说明书、流程图要清楚 4)、记录设计情况(备查,也为编写设计说明书作好准备); 5)、要求采用模块化程序设计方法,及锯齿型书写格式,要求上机调试通过和按设计报告格式。 6)、设计上交内容:设计报告一份(按格式书写);源程序盘一张(能编译成可执行文件并能正常运行,可一个班交一张光盘)。 二、本组课题及本人任务 经考虑及尝试,本人决定选择题目2.2编写一个万年历系统,完成对日期的查询输出。

C语言课程设计万年历范例

C 语 言 课 程 设 计 计算机科学与技术专业****班 学号:****** 姓名:******

目录 序言 (1) 说明 (2) 流程图 (3) 源代码 (4) 小结 (5)

序言 1. 经过上一个学期对《C程序设计》的学习,同学们都认为真正的学到了有用知识,可能有一些人学的不够理想,但无论如何,这些知识都为我们的下一步学习打下了坚实的基础。做这么一个课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。 本程序是一个万年历程序,可以输出公元一年一月以后任意月份的天数及每一天是星期几,只要在运行程序时按照要求输入年份再输入和月份,程序就会把这一月份的日历显示在屏幕上,使人一目了然。该程序能与目前天文学研究中所采用的各种日历程序所能计算的范围相一致。 2 . 课程设计题目:万年历 要求:输入年份和月份,自动输出该月的日历,清楚的显示每一天是星期几。 指导老师:翟海霞

说明 一.算法分析说明: 1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为355。然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。 2. 输出月份第一天为星期几的算法:使总天数除以7取余加2得几既为星期几,若是7,则为星期日。 3. 算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。 二.要用到的函数和语句 1.,, /*头文件*/ 2.main() /*主函数*/ 3.printf(), 4.scanf() 5.textbackground(),textcolor() /*定义背景和字体颜色*/ 6.if 语句 7.for 语句 8.printstar() /*调用函数*/ 9.int day_year() /*定义函数*/ 10.goto /*循环语句*/

C语言课程设计报告 万年历

. 课程设计题目:万年历 实验题目:万年历程序的编写实验目的:综合运用所学的C语言知识解 决一个比较实际的简单问题,侧重对数组、函数、指针、结构体和文件等相关内容的综合应用,使同学们能进一步熟悉掌握C语言的基本语法,进一步提升自己的编程能力并逐步培养编程思维,进而不断提高同学们解决问题的能力,并为以后的语言学习打下良好的基础。 实验要求:万年历设计 主要功能包括: 1、查询某年某月每一天对应星期几。 2、可以查询某年某月的上个月或是下个月的日历情况。 3、查询某年某月某日是这一年的第几天,并查询改天 是星期几。 4、判断该年是闰年还是平年,判断这一年的生肖。 实现思路(要求有文字描述,并画出流程图):. . 开始

. . 实现过程(要求有文字说明实现的过程,并对相应的代码添加注释):见程序(程序见后)后的解析。。。运行时只要你输入年月日, 你要的星系都会显示出来;如果想继续输入日期的话,只需按y就可以,祥就可以结束。n结束按实验总结(分析程序的得与失): 得:通过这次程序设计,更使我了解了编程序的严谨性,每个问题,每个不 走都得有依据,不得盲目乱造,同时也让我获得了一点编写简单程序的能力,使自己平时在理论课中很多部明白的东西明白了好多,学会了好多语句的用法,比如会用‘y' or‘ n'来决定程序是否要继续;怎么控制输出格式等等。总之在这次程序设计中我学到了很多。 失:在编程序过程中有些函数的用法不怎么会用,偶尔会落下写简单的东西。 如‘,'‘;'等;同时在编写输出上下个情况及判断程序是否要继续的程序上花费了好多时间;函数的声明、调用既然不清楚,感到很惭愧。实验的过失就是成功的阶梯,在过失中我也学到很多。 心得体会:我体会到了编程序的严谨性,也觉得如果我们要是熟悉课本所讲的内容,不怕麻烦,坚持不懈,我们一定可以将它实现的。要有耐心,有时候很

c语言课程设计--万年历

万年历系统 题目:万年历系统 姓名:黄炼军 学号:20070810505 学院:计算机与通信学院 专业:计算机科学与技术0705班指导老师:何英 完成时间:2009年11月10日

一、问题描述 模仿Windwos的日历. 1)日历显示功能。能根据系统日期进行初始化,如果没有任何输入,则显示 系统日期所在月份的月历。 2)日历查询、闰年判断功能。输入日期进行查询,显示查询日期所在月份的 月历,还将显示所在年份是否为闰年。 3)参数检查功能。如果输入日期不合法,查询将被拒绝,并显示提示信息。 4)选做:通过键盘操作(如:光标上、下、左、右移动键,pageup、pagedown 键)调整年份、月份和日期,并显示调整后的日期及月历。 二、问题分析 对于要求1:难点在于判断星期,但根据蔡勒公式,可以很容易地有年月日推断出星期:nDay=year-1+(year-1)/4-(year-1)/100+(year-1)/400+nday; w=nDay%7; 其中year:要查询的年份 nday:从该年的一月一日起到该天的天数 w:得出的星期数,w==0表示星期天。 在打印月历时,只要知道第一天的星期,就可以依次输入后面的日期,通过定长度输出日期,在遇到某天时星期六时,就换行输出,因此可以按照月历的格式输出。对于初始输入当前月历,可以通过中的time 和localtime函数取出系统时间进行初始化。 time_t timer; struct tm* gmt; time(&timer); gmt=localtime(&timer); gmt就是一个时间结构体,可以从中取出年月日。 对于要求2:闰年的判断,能被4整除但不能被100整除,或者能被400整除的年份为闰年,否则为平年。日期的查询,就是直接打印改天所在月份的月历。 对于要求3:判断日期是否合法,可以先判断年月日是否有小于0的值,月和日是否有超出最大值12和31 ,如果通过此判断合法,再判断是否时闰年,如果时闰年,则判断二月份是否满足要求,闰年二月份不能超过29天,平年二月份不能超过28天。在查询过程中,如果发现输入不合法或者不满足输入要求,则要求重新输入。 对于选作要求:通过两个getch();捕获键盘的输入,将后一个getch()的返回值付给整型或字符型k,k为相应键的ascii值,判断ascii值,就可以知道时哪个键的输入。若捕获到某键的输入,则设置相应的年或月或日的值,再进行刷性输出,就可以实现日期的调整。

万年历程序设计c语言代码

这是当时我做的一个小小的课题,希望对你有所帮助 #include "stdio.h" /* Required for MS-DOS use */ #define ENTER 0x1C0D /* Enter key */ int year, month, day; static char *days[8] = {" ","Sunday ","Monday ","Tuesday ", "Wednesday","Thursday ","Friday ","Saturday "}; struct TIMEDATE { int year; /* year 1980..2099 */ int month; /* month 1=Jan 2=Feb, etc. */ int day; /* day of month 0..31 */ int hours; /* hour 0..23 */ int minutes; /* minute 0..59 */ int seconds; /* second 0..59 */ int hsecs; /* 1/100ths of second 0..99 */ char dateline[47]; /* date & time together */ }; static struct TIMEDATE today; main() { char cmonth[3]; char cday[3]; char cyear[5]; double getdays(); double daynumb, numbnow; int weekday, retcode, dayer, i; dayer = datetime(&today); clrscn(); for (i=0;i<3;++i)cmonth[i]='\0'; for (i=0;i<3;++i)cday[i]='\0'; for (i=0;i<5;++i)cyear[i]='\0'; putstr(5,8,14,"Enter date in MM DD YYYY format:"); while (retcode != ENTER) { retcode = bufinp(5,41,13,2,cmonth); if (retcode != ENTER) retcode = bufinp(5,44,13,2,cday); if (retcode != ENTER) retcode = bufinp(5,47,13,4,cyear); } year = atoi(&cyear); month = atoi(&cmonth); day = atoi(&cday); daynumb = getdays(year, month, day);

c语言课程设计报告万年历最详细

c语言课程设计报告万 年历最详细 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

C语言课程设计报告 -----万年历 设计人:贾伟涛 学号:12 班级:13电信应电班 指导老师:张伟 日期:2014年6月9日 内容提要 通过大一下学期对C语言的学习,了解到了很多C语言的相关知识。学习的过程虽然有很多困惑,但是当自己能够独立的看懂和独立的完成一个简单的程序时,心中就会收获无限的喜悦和成就感。我虽然可以看懂一些简单的程序,编写一些简单的计算程序,更多的是学会了一种思想——编程,它让我在去思考很多日常生活中的事物是怎么样通过一个个小小的函数实现功能的,激发我对c语言的兴趣。 C语言是近年在国内外得到迅速推广应用的一种机器语言。C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。因此,C语言特别适合于编写各种软件。

在这次的课程设计中我将把日常生活中最经常接触的——日历的查询,利用C 语言的程序编成一个简单的万年历查询系统。通过这个小小的系统可以实现很多功能。在程序中你能看到很多熟悉的C语言关键字,同时也加入了很多自己课外了解到的一些关键字。在不断的调试中最终才获得最为完整的程序。接下来就是我的C 语言课程设计的具体内容来了,大家拭目以待吧! 目录 一、系统功能和数据说明----------------------- 二、问题分析--------------------------------- 三、程序总体设计及功能结构框图--------------- 四、程序流程图------------------------------- 五、源程序代码------------------------------- 六、使用说明--------------------------------- 七、个人心得--------------------------------- 八、参考文献--------------------------------- 一、系统功能和数据说明 (一)功能简介

C语言程序设计万年历

C语言程序设计万年历 The latest revision on November 22, 2020

存档资料成绩: 华东交通大学理工学院 课程设计报告书 所属课程名称车 C语言程序设计课程设计 题目万年历查询 分院电信分院 专业班级 2013级电气工程及其自动化1班 学号 20 学生姓名周利凯 指导教师肖盛文 2014年 6月 15 日

摘要 通过C语言编程实现了一个万年历,能实现基本的万年历功能。通过本章的讲解,使读者能够明白万年历的实现原理和方法。万年历的实现核心是要判断闰年和根据给定的日期计算其对应的星期,并按照合适的方式输出日历.这都是本章向读者讲述的重点。 另外,在当今社会万年历在生活起着越来越重要的角色,它悄无声息的走进我们的生活,还向读者讲述了怎样突出显示某个日期的方法,这会在实际应用中经常遇到。除了讲述万年历的实现方法外,本章还回顾了前面章节的知识,如光标定位﹑设置寄存器﹑产生中断﹑输出一个字符等,以及讲述系统日期﹑屏幕输出的方法等。 关键字: C语言,函数,历法计算,万年历,中断。

目录 1.设计万年历目的--------------------------- P4 2.万年历程序设计思路图解及其讲解-----------P5 3.万年历程序清单与编码---------------------- P7 4.万年历的调试与分析------------------------ P12 5.万年历的使用环境与说明-------------------- P14 6. 设计心得-----------------------------------P15 7.万年历参考文献------------------------------P16

相关文档
相关文档 最新文档