电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

c语言程序的设计年历显示

14页
  • 卖家[上传人]:工****
  • 文档编号:478412195
  • 上传时间:2023-02-04
  • 文档格式:DOC
  • 文档大小:136.50KB
  • / 14 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、 . 计算机科学与技术学院课程设计报告 2012 2013学年第 一 学期课程名称 C/C+高级语言程序设计课程设计 设计题目 年历显示 学生学 号专业班级指导教师2012 年 9 月20 日 / 目 录一、课程设计问题描述11.课程设计题目12.设计任务要求1二、总体设计11.总体思路12.遇到的问题13.问题的解决14.大概的流程图1三、详细设计31.显示输入年份的日历32.显示所查询月份的日历43.判断当天是星期几,是否为法定假日4四、运行结果测试与分析51.输出结果52.分析7五、结论与心得7一、课程设计问题描述1.课程设计题目年历显示2.设计任务要求功能要求(1)输入一个年份,输出是在屏幕上显示该年的日历。假定输的年份在1940-2040年之间。(2)输入年月,输出该月的日历。(3)输入年月日,输出距今天还有多少天,星期几,是否是公历节日。二、总体设计1.总体思路想要实现输出某年的日历,必须知道一个常识,那就是公元一年一月一日是星期一,这是一个重要的切入点。如果知道了这一点,那问题就迎刃而解了。我们可以先计算出公元一年一月一日到这年一月一日之前的总天数,这用for语句较易实现

      2、,不过要注意到平年与闰年的区别。有了总天数,再除以7,余数是什么,那这年的一月一日就是星期几,如此依次写出一月的日历。然后一月的天数加上总天数得到的结果再除以7,如此知道二月一日是星期几,写出二月的月历。如此便可以依次写出一到十二月的日历。至于输入年月,输出该月的日历,思路一样。至于判断是否为公历节日,用一个if语句便可实现。2.遇到的问题(1)函数的调用与套用,具体来说就是如何在一个构造的函数中调用另一个构造函数。(2)把每月的日历设计的美观,如何让星期和下面的数字对齐。(3) 如何把握日历的前几天的空格,使每月的第一天正好对在它应该的星期下。3.问题的解决第一个问题我通过查书,需要先把调用的函数在该构造函数中声明。至于第二和第三个问题,都是通过反复调试,反复修改,最后基本达到了要求。4.大概的流程图开始输入你查询的年份输入年月输入年月日和当前日期判断所输入的年份是否为闰年判断当天是星期几,是否为法定假日how(),where()how(),where()how(),where(),why(),when()输出该年的日历输入所查询月份的日历结束三、详细设计1.显示输入年份的日历当我们

      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天。开始输入yearS=0,i=1是否为闰年YNS=S+365S=S+366i+i=year输出s结束2.显示所查询月份的日历当我们输入year和month时,同上,用how()函数算出公元一年一月一日到year-1年的总天数Z,再用一个for(i=1;imonth;i+)依次加上1月到month-1月的天数赋值给Z,用Z除以7得余数d,那本月的第一天便是星期几,便可表示出本月的日历。3.判断当天是星期几,是否为法定假日当我们输入year,month和day,同上,算出

      4、从公元一年一月一日到month-1月以前的总天数Z,再加上day赋值给Z, 用Z除以7得余数d,那本天便是星期d。调用when()函数,可判断本日是否是法定假日。四、运行结果测试与分析1.输出结果2.分析在测试的过程中,基本都是一些语法上的缺陷,没有什么太大的逻辑错误,根据系统的提示,较易容易改正。还有就是在调试过程中,月份不够美观,基本是前后左右不能对齐,中间的空格不易把握。不过,在反复的调试与修改之后,最终实现了上面的效果。虽说不是太完美,也不至于太难看。五、结论与心得当我第一次看到这个程序问题时,感觉比较容易,就选择了它。可当我仔细研究这个问题时,却傻了眼,没有我想象的那么简单。首先使我困惑的是每年的第一天是星期几怎么计算,这使我郁闷了很久,一度没有头绪。后来,当我和同学交流时,知道了公元一年一月一日是星期一,这才恍然大悟。后来思路就有了,整个的过程也就想明白了。剩下的就是程序的编写与测试的过程了。在实际的编写过程中,也遇到了很多麻烦。不过,在一次次的调试与修改后,这些问题也一一克服。要说我编写的这个代码,也有许多不尽如人意处。最大的问题是我是按照三个问题依次编下去,也就是说三个

      5、问题是连续的,如果你想要知道第三个问题,必须从第一个问题开始做下去,一直到第三个问题,不能直接出现第三个问题的结果。我一直在寻找一个办法,能够把三个问题分开,可很遗憾,直到现在,也未能成功。通过这次编写这个代码,我知道了思考的重要性,也明白了做任何事都不能轻易放弃,也不能轻易否决自己,多想想,多问一问,问题也许就解决了。附录#include int how(int A)int i,s=0,day;for (i=1;i=A-1;i+) if (i%4=0 & i%100!=0 | i%400=0)day=366;elseday=365;s=s+day;return s;int where(int B,int C)int tian;switch(C) case 1:tian=31;break;case 2:if (B%4=0 & B%100!=0 | B%400=0)tian=29;elsetian=28;break;case 3: tian=31;break;case 4:tian=30;break;case 5:tian=31;break;case 6:tian=30;break;ca

      6、se 7:tian=31;break;case 8:tian=31;break;case 9:tian=30;break;case 10: tian=31;break; case 11: tian=30;break;case 12: tian=31;break;return tian;void why(int E)switch(E)case 1: printf(该日星期一n);break;case 2: printf(该日星期二n);break;case 3: printf(该日星期三n);break;case 4: printf(该日星期四n);break;case 5: printf(该日星期五n);break;case 6: printf(该日星期六n);break;case 7: printf(该日星期日n);break;void when(int F,int G)if (F=1 & G=1 | F=5 & G=1 | F=10 & G=1)printf (当天为法定节日);elseprintf (当天不是法定节日);void main()int year,d,j,Z,di,d

      7、id,m,n,D,x,y,z,h,k,l,jian,Z1;printf (输入你所查寻日历的年份:);scanf (%d,&year);Z=how(year);for (j=1;j=12;j+)d=Z%7;printf(n);printf ( %d月份n,j);printf (sun mon tue wed thu fri satn);if (d6)for (di=1;di=d+1;di+)printf( );for (did=1;did=where(year,j);did+)printf (%d,did);if (did10)printf ( );elseprintf ( );if (did=6-d | (did-6+d)%7=0 | did=where(year,j)printf (n);Z=Z+where(year,j);printf (输入所查日历的年月);scanf (%d%d,&m,&n);Z=how(m);for (j=1;j=n-1;j+)D=where(m,j);Z=Z+D;d=Z%7;printf(n);printf ( %d月份n,j);printf (sun mon tue wed thu fri satn);if (d6)for (di=1;di=d+1;di+)printf( );for (did=1;did=where(year,j);did+)printf (%d,did);if (did10)printf ( );elseprintf ( );if (did=6-d | (did-6+d)%7=0 | did=where(year,j)printf (n);printf (输入年月日);scanf (%d%d%d,&x,&y,&z);Z=how(x);for (j=1;j=y-1;j+)D=where(x,j);Z=Z+D;Z=Z+z;printf (

      《c语言程序的设计年历显示》由会员工****分享,可在线阅读,更多相关《c语言程序的设计年历显示》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.