1、 课 程 设 计 课程名称: C 语言 设计课题: 日期工具 专业: 班级: 姓名: 学号: 评分: 指导老师(签字) : 20 年 月 日 目录: 1.要求分析. 2.概要设计 3.详细设计. 4.调试分析. 5.用户使用说明. 6.测试结果. 7.源程序. 1.1.要求分析:要求分析: 日期工具(难度系数:A) 要求实现以下功能: 创建日期 日期差计算 判断某个日期为星期几 按格式输出日期 (1)系统变量(基本) Struct date Int year, Int month, Int day, Int hour, Int minute, Int second (2) 待实现的方法(基本)
2、 方法名称 方法声明 方法作用 初始化 Create() 初始化系统相关变量 输入日 期 Date inpur 输入日期的年月日,返回该日期结构 体 计算日 期差 Int datediff(date date1,date date2,int unit) 返回两个日期之间 unit 所表示的时 间差,unit 表示单位,0年,1月,2 日,3时,4分,5秒 比较日 期大小 Int compare(date date1,date date2) 判断两个日期大小,如果 date1 较新 则返回 1,相等则返回 0,date2 较新则返 回-1 获取星 期几 Int get_weekday(date
3、date) 返回 date 当前星期几,0星期天, 1星期一,2星期二, 按格式 输出日期 Char*format(dat e date,char*format) 返回按 format 格式化输出的 date 日 期。如格式 format 为“yyyy_mm_d”当前 日期输出为 20110829, 格式规定 如下:y_年,m_月,d_日,h_时,m_分, s_秒 打印 Void print() 按默认格式打印当前时间 记录操 作日志 Void info(char*filename) 将每次用户的操作信息写到日志文 件 filename 中 屏幕显 示 (主菜单) 主函数 2.2.概要设计:概
4、要设计: a.数据类型:int,FILE。 b.标准函数名称和自定义函数名称: scanf 函数 printf 函数 gettime 函数 int get_weekday(struct dat); int datdiff(struct dat); int compare(struct dat,struct dat); int runnian(int x); 3.3.详细设计:详细设计: 开始程序 主函数 打印当前时间函数 创建文件 输入日期 输出日期 获取星期几函数 计算日期差函数 比较日期大小函数 记录操作日志 4.4.调试分析:调试分析: a.遇到的问题: switch 语句中漏了 bre
5、ak, 子函数中漏了右括号, 自定义的结构体 struct date 与时间函数的 date 同名导致冲突 创建文件时指针 fp 写错 b.解决方案: 对应地方加上 break 和括号 把自定义的结构体名称改为 struct dat 统一并修改文件指针 fp c.经验与体会: 要熟练地掌握 c 语言开发环境,明确函数与函数间的调用 写代码时尽量认真避免出现小错误 学习独立完成程序的编写过程,在修改和整理中了解 c 语言中 常常出现的错误,并找到其改正方法 只有多写代码才可以让自己真正学好 c 语言 5.5.用户使用说明:用户使用说明: a编译完了之后,首先屏幕上会显示当前时间,并提示用户请输入 一个日期包括年月日时分秒 b.输入六个数据后它会以规定格式输出刚才所输入的日期,并显示 刚才输入日期为星期几,同时提示用户输入两个日期,即十二个数据。 c.屏幕上会显示这两个日期的差,同时提示用户再一次输入两个日 期,即十二个数据。 d.运行后屏幕上会显示两个日期的比较结果 e.之后,文件进行保存,可以显示刚才的操作。 6.6.测试结果:测试结果: 7.7.源程序:源程序: #include #include #include #include struct dat int year; i