1、C 语言课程设计 个人消费管理系统 目 录 1 需求分析需求分析 1 1.1 问题描述 . 1 1.2 输入数据要求 1 1.3 输出数据要求 1 1.4 开发环境和工具 1 1.5 成员分工 . 1 2 总体设计总体设计 . 2 2.1 总体设计思路 2 2.2 模块结构图 2 2.3 模块说明 . 3 3 详细设计详细设计 4 3.1 数据类型定义 5 3.2 打开模块实现 6 3.3 更新模块实现 6 3.4 统计模块实现 7 4 测试结果及分析测试结果及分析 .12 5 总结总结 17 参考文献参考文献.18 附录附录19 C 语言课程设计 - 1 - 1 需求分析需求分析 1.1 问
2、题描述问题描述 随着社会经济的发展,大学生已经成为这个社会上一个很重要的团体,而他 们的消费情况也越来越多的被更多的人关注,大学生自己也应当管理好自己的消 费内容,让自己的消费更加合理化,提高自己生活的质量。在这种情况下,就需 要一个软消费表信息:编号,时间,类别,品名,单价,数量,金额 对学生每天的消费情况作一个较为详细的统计,该系统可以实现由计算机代 替人工执行一些复杂而且较为繁琐的操作,从而使大学生们能够更为便捷地管理 自己的消费,也为其他的一些调查研究提供了方便。 1.2 输入数据要求输入数据要求 可录入消费者当天的消费情况,消费表信息包括:编号,时间,类别,品 名,单价,数量,金额
3、消费信息存放在文件中,以编号的先后顺序存放 1.3 输出数据要求输出数据要求 打开:显示文件中的所有消费记录,提供分页显示 保存:将消费表的更新结果存入文件 更新:可插入、删除、修改各消费记录 查找:按时间,类别、品名查找消费记录 排序:按时间,类别,金额 统计:求各类别消费品的总金额,求各月的消费总金额,求各年消费总金额 1.4 开发环境和工具开发环境和工具 开发环境:Windows 2000 开发工具:Visual C+ 6.0 1.5 成员分工成员分工 刘倩钰:主函数模块,保存模块,排序模块 刘冬梅:打开模块,更新模块,数据统计模块 C 语言课程设计 - 2 - 2 总体设总体设计计 2
4、.1 总体设计思路总体设计思路 1. 设计思路设计思路 个人消费系统管理包含的操作有:打开、保存、更新、查找、排序和统计。在程序开始 运行的时候从文件加载已有数据,并输出可以进行的操作提供给用户, 1、打开:显示文件中的所有消费记录,通过取模运算提供分页显示功能 2、保存:以 wb 模式打开文件,将修改的内容写入文件 3、更新:可插入、删除、修改各消费记录 4、查找:按时间,类别、品名查找消费记录 5、排序:按时间,类别,金额 6、统计:分别按类别、月、年统计消费品的总金额 2. 数据存储数据存储 为了操作的方便,用 typedef 自定义了一些数据类型,其中包含一个长度为 MAX 的数 组,
5、用来存放从文件中读取的数据。 2.2 模块结构图模块结构图 根据需求将系统划分为六个功能模块,函数之间的调用关系如图 2.1 所示。 Main 主函数 ShowTotal 统计 Calledit UpdateRec 更新 SortRec 排序 FindRec 查找 SaveRec 保存 ShowRec 打开 C 语言课程设计 - 3 - 图 2.1 个人消费系统的模块结构图 Calledit:在主函数的控制下,调用各个模块 1)ShowRec: 输出已存在的记录。 2)SaveRec:保存更新的内容。 3)UpdateRec: 按一定的方式更新记录。 这个模块下包含三个子模块 插入:Inser
6、t 删除: DeleteByNum 修改:Modify 4)FindRec: 按一定的方式查找记录。 这个模块下也包含三个子模块 按日期查找:FindBytime 按类型查找:FindByType 按名称查找: FindByName 5)SortRec: 按一定的方式查找记录。 这个模块下也包含三个子模块 按日期查找:SortBytime 按类型查找:SortByType 按名称查找: SortBySum 6)ShowTotal: 显示各种统计的结果 2.3 模块说明模块说明 (以从上至下,从左至右的顺序说明) 2.3.1:打开模块:打开模块: 自定义函数:ShowRec( ) 函数功能:输出已存在的历史记录 无参函数:无参数 2.3.2:更新模块:更新模块: 自定义函数:UpdateRec( ) 函数功能: 可对输入数据实现插入,删除,修改操作。 无参函数:void 类型,无返回值。调用 Insert()函数,Delete()函数和 Modify() C 语言课程设计 - 4 - 2.3.2.1 插入模块:自定义函数:插入模块:自定义函数: Inser