万年历课程设计.doc

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C 语 言 课 程 设 计 报 告 设计题目: 万年历 学生姓名: 学生学号: 专业班级: 数学与应用数学一班 学院名称: 数学与计量经济学院 同组人姓名: 指导老师: 年 6月 15 日 目 录 TOC \o "1-3" \h \z 1 需求分析 1 1.1 问题描述 1 1.2 输入数据要求 1 1.3 输出数据要求 2 1.4 开发环境和工具 4 1.5 成员分工 4 2 总体设计 5 2.1总体设计思路 5 2.2模块结构图 5 2.3模块说明 6 3 详细设计…………………………………………………………………………………………9 3.1数据类型定义 9 1. 结构体类型的定义及初始化 9 2定义全局变量 9 3.2 模块实现 9 MathPath模块实现 9 memo_read模块实现 10 memo_written模块实现 11 memo_modify模块实现 12 memo_delete模块实现 13 memo_delete_all模块实现 14 4 测试结果与分析………………………………………………………………………………..15 5 总结 20 附录………………………………………………………………………………………………..21 - PAGE 30 - 1 需求分析 问题描述 我们将该课题分解为万年历和备忘录两部分,两人各完成其中的一部分。我们定义了一个struct date_message型结构体变量date用来存放年月日以及对应的备忘。 由于课题要求使用命令行参数来实现各种功能,因此我们参考了一系列C语言教材,自学了命令行参数的使用,并使用getopt函数来实现参数的分析,最后根据getopt函数返回的值用switch语句选择程序的功能。(允许在输入参数时只有年份月份没有日期) 关于万年历,我们先计算当月第一天是星期几,再依次将接下来的日期排下来。针对当月第一天星期的求解,我们以2011年1月1日为基点(星期六),计算所求日期与该日相差的天数取余(讨论年份在2011两边的两种情况),之后通过一定的输出手段将日历输出。 关于备忘,我们除了实现要求中的显示功能和添加功能外,增加了程序的三项功能:修改功能、删除单日备忘功能、删除所有备忘功能。提供多备忘的添加功能。通过文件的写入与读取(删除功能使用了空结构体变量覆盖的办法),实现以上的各项功能。 输入数据要求 由于使用了命令行参数,所以该程序的运行必须在DOS环境下。在“命令行提示符”中按“可执行文件的路径 空格 负号 命令选项 空格 命令选项所带的参数”的顺序输入。我们将该文件命名为calender.exe,参数为年月日(允许在输入参数时只有年份月份没有日期,使用选项-t时不允许输入年月日)。 各命令选项的功能如下: /*-d:显示当月日历和当日备忘*/ /*-i:显示当月日历和添加当日备忘*/ /*-m:显示当月日历和修改当日备忘*/ /*-g:删除当日备忘*/ /*-t:删除全部备忘*/ 下面就各命令选项给出一部分样例: C:\Windows\system32>E:\calendar –d 2011 6 15 C:\Windows\system32>E:\calendar –i 6888 6 8 C:\Windows\system32>E:\calendar –m 9999 9 9 C:\Windows\system32>E:\calendar –g 12345 6 7 C:\Windows\system32>E:\calendar –t 样例输入的截图如下: 输出数据要求 根据输入参数信息,使用不同的功能。注:允许多备忘存在,但此处不作为样例截图。 针对样例输入的五种功能的输出如下: 显示当月日历和当日备忘:基本功能,显示当月日历和当日备忘。 显示当月日历和添加当日备忘:输入所需要添加的备忘,提示“添加成功后”之后显示添加后的当月日历和当日备忘。 显示当月日历和修改当日备忘:与添加备忘的程序运行结果类似。 删除当日备忘。提示确认信息,当输入y时删除。如果该日本身无备忘的话,提示“该日无备忘!” 删除全部备忘。提示确认信息,当输入y时删除。 开发环境和工具 开发环境:Windows 7 开发工具:Dev-C++ 4.9.9.2 成员分工 胡凡:总体设计、主调模块、备忘录功能实现、注释编写 叶磊:主调模块、万年历功能实现、数据测试、注释编写 2 总体设计 2.1总体设计思路 设计思路 考虑到日期与备忘的一一对应,采用结构体来解决该题成为一个可行的思路。首先,定义结构体类型,使得年月

文档评论(0)

yu8458925 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档