欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    《C语言万年历课程设计报告》Word格式.docx

    • 资源ID:344673       资源大小:320.51KB        全文页数:26页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《C语言万年历课程设计报告》Word格式.docx

    1、 以前的日历都是厚厚的一堆纸叠起的,人们如果随身携带非常不方便,而且人手翻起来很麻烦,还浪费时间。其次, 以前的日历内容功能简单, 只能查阅当年的日期、星期和农历, 如果人们想知道今年是否是闰年, 或者属相星座等, 都不能从中获取, 必须通过自己脑子算, 大大降低了人们的工作效率。而且如果一个人不知道如何去判断闰年、 星座、属相等, 那他最终也不知道这些信息。所以通过编写一个“ 万年历系统”,从而轻松达到判断闰年、查询星期、查看日历等功能。通过万年历的设计,可以培养独立思考、 综合运用所学有关相应知识的能力,能更好的巩固C 语言程序设计课程学习的内容, 掌握工程软件设计的基本方法, 强化上机动

    2、手编程能力, 闯过理论与实践相结合的难关, 更加了解了 c 语言的好处和其可用性。 同时增加了同学之间的团队合作精神, 更加也体会到以后在工作中团队合作的重要性和必要性。二、需求分析2. 1 用户需求( 1 ) 有美观大方的主界面, 能保证用户方便、直观、 快捷的熟悉该系统的各项功能。( 2 ) 有严密正确的数据验证功能和数据处理功能, 并对数据进行保存和提取。( 3 ) 系统一定要有可靠性。2. 2 开发环境Wi ndows 7 , Mi c r os of t Vi s ua l C+ 6 . 0 ( SP6 中 文 版 ) 。三、系统概要设计3. 1 系统总体设计通过此次课程设计可以复习

    3、巩固 C 语言的基础知识的同时,进一步加深对 C 语言的理解和掌握。该系统就运用到了数组、函数、循环等数据结构进行设计的一个简单的查询判断系统, 是程序具有判断、查询、 打印等功能。 主要的设计思想是通过不同的函数模块来实现并调用的, 将这些不同的数据结构组成一个整体就是此次设计的系统概要。该软件以菜单形式进入主界面, 并以菜单形式完成用户的各项要求。 系统能根据用户要求不退出某一功能继续使用该功能, 或者返回到主菜单进行其他功能操作。3. 2 功能模块设计该软件整体调用关系如图 3 . 1图 3.183. 3 各功能函数的设计该系统包含的库函数具体有:#i nc l ude #i nc l

    4、ude t i me. h该系统包含的文件具体有:#i nc l ude mai n. c /* 主函数文件* /#i nc l ude i nput . c/* 判断输入界面文件* / #i nc l ude z huj i e mi a n. c /* 主界面文件* /#i nc l ude r un_ni a n. c /* 判断闰年函数文件* / #i nc l ude c ha _x i ng _qi . c /* 查询星期函数文件* / #i nc l ude c ha _r i _ l i . c /* 查询日历函数文件* / #i nc l ude da _ r i _ l i

    5、 . c /* 打印日历函数文件* /( 1)菜单选择模块完成用户命令的接收,此模块也是万年历系统的入口,用户根据自己需要进入各项功能模块完成功能实现。( 2)所设计的系统为用户提供清晰的操作提示,并负责检查用户是否输入有误,以正确形式输入数据和命令。( 3)闰年判断系统完成用户的对某一年是否是闰年的判断;( 4)查询日历系统完成用户对某一月或一年的日历查询;( 5)查询星期系统完成用户对某一天的星期的查询。( 6)完成各项功能, 退出系统。四、详细设计4. 1 程序流程图( 1 ) 闰年判断系统图 4.1( 2 ) 查询日历系统图 4.2( 3 ) 查询星期系统图 4.3( 4 ) 打印日历

    6、系统图 4.44. 2 关键算法与技术实现对题目分析后,采用将每个功能分别编译实现,在通过函数的包含和调用等方法实现各项功能间的连接为设计思想。该软件将各个功能列为菜单,方便用户随时调用各个功能,以实现万年历查询、管理、打印等功能。具体功能算法如下:(1) 闰年判断系统直接用闰年的定义判断输入年份, 即能被 400 整除或者能被 4 整除但又不是 100 的倍数就定义为闰年。伪代码如下:i f ( y e a r 能 被 400 整 除 | ( y e a r 能 被 4 整 除 & y e a r 不 能 被 100 整 除 ) ) 输出结果;(2) 查询星期系统首先要知道 1900 年 1

    7、 月 1 日是星期一, 每过一个平年星期数加 1( 365 %7=1), 而每过一个闰年星期数加 2( 366 %7=2),所 以先求出输入年距元年一共过了多少闰年和平年,再求出 1 月到输入月过了多少个月, 并累加各月天数, 最后加上输入天距当月的 1 号过了多少天。 星期数就是以上求出的所有天数和年数的总和模 7 的值。 伪代码如下:i f ( y e a r 是 闰 年 ) mont h 2 =29 ;/* 如果是闰年, 2 月就改为 29 天* / wee k = ( y e a r - 1 ) +( y e a r - 1 ) /400 +( y e a r - 1 ) /4 - (

    8、 y e a r - 1 ) /100 ;/* 计算经过了平、润总年份* /f or ( i 从 1 到 m) we e k += mont h i ;/* 累加过了月份的总天数* / we e k = we e k + d;/* 加上这月过了的天数* /we e k = we e k % 7 ;/* 模 7 就是星期数* /(3) 查询日历系统先引用查询星期系统, 求出输入这月 1 号的星期数, 将 1 号找到星期对应的位置, 逐日打印, 打印一个星期数加 1 , 如果星期模 7 等于 0 就换行。 部分代码如下:we e k = s e a r c h( y e a r , mon, 1

    9、) ;/* 先查当月 1 号的星期* / s wi t c h( we e k)/* 找到对应的星期数对齐* /c a s e 0 : pr i nt f ( ) ; br e a k ;/* 周日* /c a s e 1 : br e a k;/* 周一* / c a s e 6 : /* 以此类推, 找到周六* /i f ( y e a r 是 闰 年 ) mont h 2 =29;9f or ( i 从 1 到 当 月 天 数 )打印日期; wee k+;i f ( we e k %7=0 ) 换 行 ;(4) 打印日历系统引用查询日历系统, 最外面一个 n 从 1 到 12 的循环,

    10、打印 n 月的日历即可。伪代码如下:f or ( i 从 1 到 12 ) 打 印 输 入 年 i 月 的 日 历 ;10五、测试运行5. 1 系统测试方案进入闰年判断系统,输入2012 ,查看输出,应是闰年。再选择继续操作,输入2013 , 查看输出, 应不是闰年。最后返回主菜单继续后面系统的操作。进入查询日历系统, 输入 2012 , 7 , 查看输出, 看是否与事实相符。再选择继续操作, 输入 2012 , 8 , 查看输出结果。 最后返回主菜单继续后面系统的操作。进入查询星期系统, 输入 2012 ,7 ,10 , 查看输出,应是星期二。再选择继续操作,输入 1900 , 1 , 1

    11、, 查看输出, 应是星期一。进入打印日历系统,输入 2012 ,查看输出,看 是否与事实相符。选择返回主菜单推出系统程序。( 5 ) 报错系统进入主菜单后, 选择 6 ,看是否报错并提示重新输入。再进入查询星期系统, 输入“ 2012 , 13 ,32 ”,看系统是否报 错并提示重新输入, 判断完成后, 输入 2 ,看是否报错并提示重新输入。155. 2 运行结果分析主菜单界面图 5.1图 5.2图 5.3图 5.4图 5.5图 5.6图 5.7图 5.8图 5.9图 5.10 图 5.11图 5.12图 5.13图 5.14图 5.15六、设计体会感想本次用 C 语言编写的万年历系统主要实现

    12、了年历、月历、日历的显示, 并进行了闰年和星期的判断。最终的设计结果也达到了预期的效果, 是一次成功的程序设计。在设计初期, 我首先预习了需要用到的算法, 熟悉了基本程序后, 再开始广泛的查阅有关万年历的相关资料,并结合查找到的资料,整理出设计思路和整体框架,画出流程图,最后写出源程序。在编写程序的过程中, 我将各个功能分成不同的函数, 逐一编写每个函数, 并在主函数及其他地方调用, 最后编译成功。在这次编写的过程中, 也遇到了不少的问题, 比如如何获取系统时间, 如何将阿拉伯数字转化成中文数字输出,如何计算任意时间的时间差。这些困难,最后都通过上网查阅资料以及询问老师、同学得以成功解决。通过

    13、这次的课程设计, 使我对 C 语言的认识不仅仅停留在书面上, 而是有了更深层次的理解, 培养了自己的分析能力和设计能力, 受益匪浅。并且这次的设计过程中, 让我明白了怎么去更好的合理的构思一个系统, 那就是大化小的思想, 将大问题细分成各个小问题, 并逐一攻破, 最后的大问题也自然解决了。最后完成设计后, 通过不断的优化, 对界面, 算法的复杂度都有一个提升, 以及一些不合理的判断都进行了修改。在优化过程中自然会出现各种的报错,我也对 VC 里面各种报错进行了查询和统计, 比如在输入一个数据后系统弹出对话框提示不能写入, 这就很有可能变量没有取地址输入; 再比如提示一个函数没有定义, 这就很有

    14、可能是函数没有在使用前声明。等等这些问题都是在调试中频繁出现过的, 借此也希望读者注意此类问题。我认为, 做为一个程序员编写程序是非常快乐的。因为, 当需要解决实际问题是, 我们运用计算机键盘敲敲就能轻松解决, 通过组织语言, 用计算机语言来表达我们想要说的话做的事。最快乐的也是给我最大动力和成就感的是, 在一个程序进行到调试的过程中, 反复看了程序还没有发现问题, 卡在某个瓶颈上的时候, 如果突然灵感一来, 将问题快速解决, 并运行成功得出正确结果, 这给自己很大的成就感, 就对写程序越来越有信心, 写起程序来也越来越得心应手, 形成一个良性循环。 我就像告诉读者, 在遇到问题时, 不要轻易

    15、放弃, 也许, 你将迈出的这一步, 正是解开这宝箱的钥匙; 也许, 你迈出的这一步, 正是沙漠中的绿洲; 也许, 你迈出的这一步, 正是迈向胜利的第一步! 不要放弃, 相信自己!17致谢经过这一周的学习, 我从中学习到了许多课堂上学不到的知识, 首先要感谢学校为我们精心安排的这次 C 语言程序设计的学习, 然后我要感谢指导老师对我们的热心指导和帮助, 是她给了我们设计的思想和方法, 并充分加以运用。 我还要感谢许多同学的帮助, 他们在生活中给了我设计的灵感, 他们在我调试失败中鼓励我, 使我走出迷茫, 他们对我的帮助是必不可少的。在这里, 我诚挚的向老师和给予我帮助的同学们说一声: 谢谢! 你

    16、们辛苦了!主要参考文献1 、C 程序设计( 第三版)作者: 谭浩强出版者: 清华大学出版社序号: IS B N 7 -302 -10853 -6版 次 : 2005 年 7 月 第 3 版2006 年 2 月 第 7 次 印 刷参考内容: 第 5 章 选择结构程序设计( 91 -111 ), 第 7 章 数组( 131 -152 ),第 8 章 函数( 155 -202 ), 第 9 章 预处理命令( 211 -214 )2 、C 语言程序设计作者: 夏涛 北京邮电大学出版社序号: IS B N 978 -7 -5635 -1384 -0 2007 年 3 月 第 一版2008 年 12 月

    17、第 四 次 印刷 第 9 章 结构体的使用( 162 -167 )第 10 章 文件的使用( 183 -185 )2 、数 据结构课程设计作 者 : 苏 仕 华 等 机械工业出版社序号: IS B N 7 -111 -16181 -5版次: 2005 年 5 月第 1 版第 1 次印刷 第 4 章 文本文件的检索( 47 -57 ), 第 7 章 图结构的应用( 101 -123 )18指导教师签字:年月日附录(源代码)#include stdio.h #include tim e.hstring .h/* 主界面* / zhujiem ian()time_t raw time; struct

    18、 tm * timeinfo;char a 7 3 =日,一二三四五六;char st 3 ;time(&rawtime); tim einfo=localtime(& raw tim e); strcpy ( st, a timeinfo-tm _ w day ) ;printf(tt n);t% 4 d 年% 02 d 月% 02 d 日 % 02 d:% 02 d:% 02 d 星期% sn, 1900 +timeinfo-tm _ y ear, 1 +tim einfo-tm_ mon, timeinfo-tm_ mda y, timeinfo-tm _hour, timeinfo-t

    19、m_ min, tim einfo-tm _sec, st); printf(nn) ;tttttt 版本号: 1 .0 .0 ntt* * * * * * * * * * * * 欢迎进入万年历系统 * * * * * * * * * * * * nttt1 . 判断输入的这年是否是闰年nttt2 . 查询输入的这月的日历nttt3 . 查询输入的这天是星期几nttt4 . 打印输入的这年的日历nttt5 . 退 出 nntt* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

    20、* * * * ntt 版权所有, 盗版必纠! nntttttt制作人: Nick n/* 判断输入界面* / input()int n;char s 2 ;zhujiemian(); w hile( 1 )tt 请选择功能:scanf(% d, & n);if ( n5 )tt 您输入有误! 请重新输入ncontinue;sw itch( n)case 1 :tt* * * * * * * * * * * * * * * * * 闰年判断系统* * * * * * * * * * * * * * * * * n run_ nian();break;case 2 :tt* * * * * *

    21、* * * * * * * * * * * 查询日历系统* * * * * * * * * * * * * * * * * n cha_ ri_ li ( ) ;case 3 :tt* * * * * * * * * * * * * * * * * 查询星期系统* * * * * * * * * * * * * * * * * n cha_ x ing _qi();case 4 :tt* * * * * * * * * * * * * * * * * 打印日历系统* * * * * * * * * * * * * * * * * n da_ri_li();case 5 :tt* * * * *

    22、 * * * * * * * * * * * * * * 谢谢使用* * * * * * * * * * * * * * * * * * * n break;/* 判断闰年* / input()int n; char s 2 ; i f ( n5)sw i tch( n) cha_ri_li();/* 查询星期* / cha_ x ing _qi()int y, m, d, count, i, flag , f, n;char s 13 =0 ,31 ,28 ,31 ,30 ,31 ,30 ,31 ,31 ,30 ,31 ,30 ,31 ; char a 7 3 =flag =1 ; s 2 =28 ; f=1 ;if ( y % 400 =0 |( y % 4 =0 & & y % 100 ! =0 ) ) s 2 =29 ;w hile( f)ntt 请输入要查询的日期( , ):% d,% d,% d y, & m , & d);if ( y 12 |d31 ) printf(ntt 输入有误!else f=0 ;count=( y -1 )+( y -1 )/400 +( y -1 )/4-( y -1 )/100 ; for ( i=1 ; im; i+)cou


    注意事项

    本文(《C语言万年历课程设计报告》Word格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开