1、 目目 录录 1 需求分析需求分析 1 1.1 问题描述 1.2 输入数据要求1 1.2 输出数据要求 1 1.3 开发环境和工具 2 1.4 成员分工 2 2 总体设计总体设计3 2.1 总体设计思路.3 2.2 模块结构图 3 2.3 模块说明 4 3 详细设计详细设计. 5 3.1 数据类型定义 5 3.2 算法思想 6 3.3 具体实现 7 A 读入及保存文件模块 7 B 信息插入、删除模块 7 C 查找及显示信息模块 9 D 排序模块:按时间,类别,金额 11 E 统计模块 15 4 测试结果及分析测试结果及分析 21 5 总结总结. 23 参考文献参考文献.25 附录附录.26 -
2、 1 - 1 需求分析需求分析 1.1 问题描述问题描述 当代大学生有着旺盛的消费需求,消费观念的超前和消费实力的滞后 决定了他们特殊的消费心理和消费行为。大学生科学消费观的建立和 合理消费规划不仅关系到大学生健康消费心理的形成,还影响到大学 生迈入社会后社会经济生活的适应能力,本系统将提供一个日常消费 记录,统计,分析的平台,帮助大学生合理的管理自己的日常消费。 1.2 输入数据要求输入数据要求 消费表信息:时间,类别,品名,单价,数量,金额 消费信息存放在文件中,以编号的先后顺序存放 用户从键盘读入消费时间,类别,品名,单价,数量,金额,保存到文 件中 例如: sum:40.000000i
3、ndex:1 time:2009-8-4 type:1 name:hzw price:0.700000 num:5 sum:3.500000index:0 time:2010-8-9 type:1 name:hzw price:0.900000 num:4 1.3 输出数据要求输出数据要求 打开:显示文件中的所有消费记录,提供分页显示 保存:将消费表的更新结果存入文件 更新:可插入、删除、修改各消费记录 查找:按时间,类别、品名查找消费记录 排序:按时间,类别,金额 统计:求各类别消费品的总金额,求各月的消费总金额,求各年的消 - 2 - 费总金额 例如: 1.4 开发环境和工具开发环境和工具
4、 开发环境:Windows 2000 开发工具:C Free5.0 1.5 成员分工成员分工 超 人(郭振兴):系统测试、主调模块、 、总体设计 蜘蛛侠(林莉莎): 、查询模块、排序模块、更新模块 - 3 - 2 总体设计总体设计 2.1 总体设计思路总体设计思路 本设计主要包括数据录入模块,信息删除模块,查询显示模块,数据 排序模块, 数据统计模块. 2.2 模块结构图模块结构图 根据需求将系统划分为五个功能模块如图所示 数 据 录 入 模 块 数 据 统 计 模 块 插 入 删 除 模 块 查 询 显 示 模 块 数 据 排 序 模 块 个人消费管理系统 - 4 - 2.3 模块说明模块说
5、明 1.数据录入模块. 本模块的设计主要包括三个函数,struct Time(消 费时间) ,enum TYPE(消费类型)struct ConsumeRecord(完整的消费 记录)struct ConsumeRecord 函数主要实现程序的初始建库,把数据添 加到文件中,其主要过程是打开文件,调用 Time ,TYPE 函数,将需 要录入的数据从键盘输入,添加到文件中。 2.信息删除模块. 本模块通过输入需要查找的条目的索引号,程序循 环遍历所有已存的消费条目,如果消费条目的索引号等于要删除的索 引号,删除该索引号对应的消费条目,并将其后面的消费条目依次往 前移动。 3.查询显示模块. 本
6、模块通过输入需要查找的条目的索引号,程序 循环遍历所有已存的消费条目,直到查找完或者找到。找到后显示从 record 指针开始的 number 个条目,遍历需要查找的条目,依次显示。 4.数据排序模块. 本模块交换两个条目的内容,将 record 数组用选 择冒泡法分别以消费时间,类型,价格进行排序。 5.数据统计模块. 本模块已存条目指针和已存个数如果已存条目小 于等于零,退出统计, 将条目按时间排序,如果只有一条记录直接输出, 如果有多条记录,则遍历所有记录并分别打印如果当前记录与下一条 记录年份月份相同, 则将其归于一个月, 并累加该月的总金额. 月份变 了,打印统计月份的总金额,/将年份金额赋值为下一月份,开始记录下 一月份. - 5 - 3 详细设计详细设计 3.1 数据类型定义数据类型定义 /时间结构体记录消费时间 struct Time int year; int month; int day; ; 类型结构体记录消费类型