年历显示设计.docxVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
XXXXXXXX 电子工程系 C语言 课程设计报告 题目名称: 年历显示设计 学生姓名: XXXXXX 学  号: XXXXXXXXXXXXX 专  业: 电子信息工程 同组成员: XXXXXXXXXXX 2013年12月制成绩: 一、设计题目:题目五,年历显示设计 二、设计任务及自己所承担部分 设计任务: (1)输入一个年份,输出是在屏幕上显示该年的日历。假定输入的年份在1950-2050年之间。 (2)输入年月,输出该月的日历。 (3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。 自己所承担部分:程序的测试以及运行 三、总体设计(程序设计组成框图、流程图) 程序组成框图: 年历显示设计 年历显示设计 输出年日历输 输 出 年 日 历 输 出 月 日 历 输出详细信息 输出详细信息 流程图: 开始 开始 点击进入功能选项 点击进入功能选项 查询月日历查询 查 询 月 日 历 查 询 详 细 信 息 查 询 年 日 历 输出详细信息输出月日历输出年日 输出详细信息 输出月日历 输出年日历 显示结果 显示结果 是否继续 是否继续 四、详细设计(模块功能说明,如函数功能、入口及出口参数说明,函数调用关系描述等) 当我们输入年份任意公元后的年份year时,可以通过一个for语句,算出从公元一年到year-1年的总天数,这其中要注意平年与闰年的区别,平年365天,闰年是366天,把这一部分用how()函数表示。算出总天数Z后,用Z除以7余数是d,则year这一年的一月一日便是星期d。如此则一月的日历可表示出来。然后把Z加上一月的天数tian得到的新值赋给Z,再用Z除以7,重新得到新的余数d,如此可知二月的第一天是星期几,可表示出二月的日历。依次循环,用for(i=0;i12;i++)语句可表示出该年的日历。注意闰年二月是29天,平年是28天。 模块功能说明: 大体框架:对于所给出的万年历要满足三个功能即查询某一年的年历表,某一年单月的月历,某一年某一月某一日具体的信息包含星期几,是否有公历节日,距离当前时间所差的天数三个小的功能。 功能A:查询某一年的年历表。主题思想将一年每个月的天数存放在一个数组中以方便调用,其次年历要判断所查询的年份是否为闰年或者是平年由条件if((y%4==0y%100!=0)||y%400==0)来确定,如果是闰年则二月份输出29天此由条件语句给出。对于年里中的星期几由公历算法 判断某一年的第一天也就是元旦为星期几,利用循环语句依次累加排列出该月的月历,满足条件(j*10+k)=(10+w)就累加否则=输出空格。 功能B:查询某一年某一月的月历,和上面一样需要判断是否为闰年,不同之处是星期数由w=(y-1+(y-1)/4-(y-1)/100+(y-1)/400+s+1)%7给出。 功能C:查询某一年某一月某一天的具体信息。利用s来计算出当前与你所要查询某一天所想差的天数,具体思想为:两个都利用了for循环语句,循环起点同为0,也就是他们开始记年的时间相同,先计算整年之间所相差的天数y1并判断循环之间的年份是否为闰年,如果是加366否则加365.然后判断月份的天数,也是利用for循环通过调用数组中的满足条件的元素累加月分所经过的天数m1.则sum1=y1+m1+d1.和上面一样计算所要查询的天数总和sum=y+m,s=sum1-sum,判断这一天的星期数由公式w=(y-1+(y-1)/4-(y-1)/100+(y-1)/400+s)%7判断。公历信息应提前输入一个公历信息库,利用条件语句判断如果满足输出该节日。 要解决的主要问题为: (1) 找到日期和星期几之间的对应关系。 (2) 闰年的判断可以构造一个函数来实现:int IsLeapYear( int year );每月对应的天数可以利用一个一维数组month_day[]来存储;为显示一年当中的各个月份可用switch-case分支结构。 五、调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施 测试方法:运用c++语言程序运行。具体步骤:编译,组建,执行 测试遇到的问题: (1)函数的调用与套用,具体来说就是如何在一个构造的函数中调用另一个构造函数。 (2)把每月的日历设计的美观,如何让星期和下面的数字对齐。 (3)如何把握日历的前几天的空格,使每月的第一天正好对在它应该的星期下。 测试结果:刚开始未能出来正确结果,有很多错误,但是我们根据c语言程序中的提示一步步的解决,找到问题出来的地方,再不行的地方大家一起讨论,实在不行的我们就上网查资料,仿照别人的

文档评论(0)

小教资源库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档