- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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\system32E:\calendar –d 2011 6 15
C:\Windows\system32E:\calendar –i 6888 6 8
C:\Windows\system32E:\calendar –m 9999 9 9
C:\Windows\system32E:\calendar –g 12345 6 7
C:\Windows\system32E:\calendar –t
样例输入的截图如下:
输出数据要求
根据输入参数信息,使用不同的功能。注:允许多备忘存在,但此处不作为样例截图。
针对样例输入的五种功能的输出如下:
显示当月日历和当日备忘:基本功能,显示当月日历和当日备忘。
显示当月日历和添加当日备忘:输入所需要添加的备忘,提示“添加成功后”之后显示添加后的当月日历和当日备忘。
显示当月日历和修改当日备忘:与添加备忘的程序运行结果类似。
删除当日备忘。提示确认信息,当输入y时删除。如果该日本身无备忘的话,提示“该日无备忘!”
删除全部备忘。提示确认信息,当输入y时删除。
开发环境和工具
开发环境:Windows 7
开发工具:Dev-C++ 4.9.9.2
成员分工
胡凡:总体设计、主调模块、备忘录功能实现、注释编写
叶磊:主调模块、万年历功能实现、数据测试、注释编写
2 总体设计
2.1总体设计思路
设计思路
考虑到日期与备忘的一一对应,采用结构体来解决该题成为一个可行的思路。首先,定义结构体类型,使得年月日与备忘直接绑
文档评论(0)