ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:73.41KB ,
资源ID:10540574      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10540574.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言学习知识万年历设计报告.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言学习知识万年历设计报告.docx

1、C语言学习知识万年历设计报告C语言课程设计报告题目:编写万年历系统 年级:专业: 班级:姓名:学号:目录第1章 设计目的第2章 需求分析第3章 概要设计第4章 源程序清单第5章 执行结果1)登陆界面2)显示当前日月历 3)显示具体日期信息第6章程序问题调试与课程设计心得 第1章设计目的设计目的(实验要求): 1.模仿现实生活中的挂历. 2.当前页以系统当前日期的月份为准显示当前月的每一天(显示出日及对应的星期几).3.当系统日期变到下一月时,系统自动翻页到下一月.第2章需求分析(1)程序运行时,首先给出菜单选项和输入提示:(2)用户可以通过主菜单选择不同选项。输入1,通过输入当前日期可显示当前

2、月的日历;输入2,通过输入具体日期(中间以空格分开)可显示该日具体信息;输入3,则退出查询系统。第3章 概要设计输入要查询的当前日期 1 菜单选择界面可通过下面所示函数时现; 主要思路:通过while语句与swichcase以及if条件语句实现菜单的循环功能和不同选项的功能实现。闰年与平年的判断:代码如下: void main() int year,month,day,a,b; while(1) printf(nnnn);printf( *nn);printf( * * n);printf( Welcome to enter calendar system n); printf( * * nn

3、); printf( *nnn);printf( 1 The month of current date 2 Date 3 Exitn);printf( please import your choose,press Enter to define: );scanf(%d,&b); switch(b) case 1: printf(n Please import the year,month and day which you want to check,the year,month and day separation by blank space: ); scanf(%d%d%d,&yea

4、r,&month,&day); a=x3(year,month,1); if(a=0) printf(Error!Please import again.n); break; yueli(year,month,day); break; case 2: printf(n Please import the year,month and day which you want to check,the year,month and day separation by blank space: ); scanf(%d%d%d,&year,&month,&day); a=x3(year,month,da

5、y); if(a=0) printf(Error!Please import again.n); break; rili(year,month,day); break; case 3: exit(0); default: printf(Error!Please import again.nn); 2.闰年的判断:计算所输入的年份是否可被4整除,若不能被整除,为平年。若可被4整除,计算此年份能否被100整除,不能被100整除则为闰年。既能被4整除,也能被100整除的年份,若也能被400整除,则为闰年,否则为平年。闰年366天,平年365天代码:int runnian(int year) if(y

6、ear%4=0&year%100!=0|year%400=0) return 1; else return 0; 3.判断某月的天数;通过函数:int day1(int year,int month) int a12=31,28,31,30,31,30,31,31,30,31,30,31;若为闰,则二月为29天。 第4章 源程序清单#include#include/*定义头文件*/int runnian(int year) if(year%4=0&year%100!=0|year%400=0) /*利用函数判断输入年份是闰年还是平年*/ return 1; else return 0;int

7、day1(int year,int month) int a12=31,28,31,30,31,30,31,31,30,31,30,31;/*定义数组确定12个月每个月的天数*/ if(runnian(year) /*如果输入年份是闰年*/ a1=29; /*二月29天*/ return amonth-1;int day2(int year,int month,int day) int i,sum=0; for(i=1;imonth;i+) sum+=day1(year,i); sum+=day; return sum;int week1(int year,int month,int day)

8、 int number=(year-1)+(year-1)/4-(year-1)/100+(year-1)/400+day2(year,month,day); number%=7; return number;char *Week2(int number) switch(number) /*分类一周七天*/ case 0:return Sunday; case 1:return Monday; case 2:return Tueaday; case 3:return Wednesday; case 4:return Thurday; case 5:return Friday; case 6:r

9、eturn Saturday; default:return Error!please import again.n;/*不符和上面七种情况的报错提示*/ void x1(int year,int month,int day) int number=week1(year,month,day); if(runnian(year)printf(common year);/*年份为闰年则输出闰年*/ else printf(common year); printf( %d year %d month %d day%10snn,year,month,day,Week2(number);/*按年 月 日

10、输出结果*/void x2(int year,int month) int max,number,i,j=1; max=day1(year,month); number=week1(year,month,1); printf(%2s%2s%2s%2s%2s%2s%2sn, Sunday , Monday , Tueaday, Wednesday , Thurday , Friday ,Saturday );/*按照间隔打印日历*/ for(i=0;inumber;i+) printf( ); while(j=max) printf(%8d,j); if(i%7=6) printf(n); i+

11、; j+; printf(nn);int x3(int year,int month,int day) if(year0|month12|dayday1(year,month) /*当输入值出现这些情况时*/ return 0; /*返回0*/ else return 1; /*返回1*/void yueli(int year,int month,int day) if(runnian(year) printf(leap year); else printf(common year); printf( %d year %d month %d daynn,year,month,day); x2(

12、year,month);void rili(int year,int month,int day) printf(n); x1(year,month,day);void main() int year,month,day,a,b; while(1) printf(nnnn); printf( *nn); printf( * * n); printf( Welcome to enter calendar system n); printf( * * nn); printf( *nnn); printf( 1 The month of current date 2 Date 3 Exitn); p

13、rintf( please import your choose,press Enter to define: ); scanf(%d,&b); switch(b) case 1: /*选择1时*/ printf(nPlease import the year,month and day which you want to check,the year,month and day separation by blank space: ); /*给出输入提示*/ scanf(%d%d%d,&year,&month,&day); /*输入需要查询的年 月 日*/ a=x3(year,month,1

14、); if(a=0) printf(Error!Please import again. n);/*输入值异常时报错*/ break; yueli(year,month,day); break; case 2: /*选择2时*/ printf(nPlease import the year,month and day which you want to check,the year,month and day separation by blank space: ); /*给出输入提示*/ scanf(%d%d%d,&year,&month,&day);/*输入年 月 日*/ a=x3(yea

15、r,month,day); if(a=0) printf(Error!Please import again. n);/*输入值异常时报错*/ break; rili(year,month,day); break; case 3: exit(0); default: printf(Error!Please import again.nn); 第5章 执行结果1)登陆界面2)显示当前日历月 3)显示具体日期信息第6章程序问题调试与课程设计心得1)程序问题调试(1) 调用的week2函数中,忘记在万年历中一周的第一天是sunday。(2)定义的runnian语句中没有返回值,无法判断是否为闰年。(

16、3)定义的x1与x2函数实现的功能时混淆。(4)被调用函数X3中的返回值要用于主调函数中的判断,但是未在主调函数中赋值给整型变量。(5)对于数组,数组的初始化要进行正确的赋值,以及对于数组的使用与变更。(6)程序的scanf语句中取地址符号不能省。 2)课程设计心得 通过本次课程设计我通过自己的实践对书本上的知识进行了与生活相关的运用。在这个程序中,主要应用了这学期所学习的循环,条件语句,数组以及调用函数。这些知识的应用使我对课本内容的认识得到了加深。 在编写程序的过程中,也出现了很多错误。比如程序语句错误导致检测时连续报错;函数语句编写错误导致输出结果与实际不符等。出现这些情况后,通过对教材的深入理解和解度,我发现了自己的程序的问题所在并进行了改正。最后得到了正确的结果。

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

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