1、 - 1 - 信电工程学院 课程设计报告 数据汇总系统数据汇总系统 课程:课程: 高级语言程序设计高级语言程序设计 - 2 - 目目 录录 1 程序目标及功能- 1 1.1 课题背景-1 1.2 系统功能 -3 1.3 设计要求 -3 2程序功能模块组成及流程图 -4 2.2 系统功能模块-4 2.3 各模块流程图-5 3程序主要数据结构及函数列表 -8 3.1 程序中使用的数据结构-8 3.2 函数列表-10 4 程序代码及运行结果 -14 5总结与体会 -32 - 3 - 题目:数据汇总题目:数据汇总 题目内容:题目内容: 在数据处理中经常需要对大量数据进行汇总,将相同关键字记录的某些 数
2、据项的值叠加起来,生成一个分类汇总表。 假设某超级市场销售有 m 种商品(假设商品的编号为 1,2,3,m) , 有 n 台前台收款机(假设收款机的编号为 1,2,3,n)进行收款,以记 录的形式提供给计算机, 每个记录表示某台收款机的一种商品一次交易的数量和 销售额。记录由 4 个域组成:收款机编号、商品编号、销售数量、销售金额。构 造一个结构体类型,每次销售数据以一个结构体变量保存在一个数据文件中。 本人完成的工作:本人完成的工作: (1)编写实现将数据记录插入到数据文件的最后的函数; 编写以收款机为单位的数据分类处理函数。构造 n个单链表,每个链表 保存一台收款机的销售记录,这 n个单链
3、表的头指针存放在一个指针数组中,通 过数组的下标就可以知道是哪台收款机。读取数据文件的记录,将所有的销售记 录(数据文件中的全部记录)分解插入到 n个单链表; (3) 编写以商品为单位的数据分类处理函数。构造 m个单链表,每个链表 保存一种商品的销售记录,这 m 个单链表的头指针存放在一个指针数组中,通 过数组的下标就可以知道是哪种商品。读取数据文件的记录,将所有的销售记录 (数据文件中的全部记录)分解插入到 m个单链表; (4) 统计每台收款机的销售总额; (5) 以收款机为单位, 将所有收款机按销售总额的递增顺序构造一个单链表 并输出。 (6) 以商品为单位,统计每种商品的销售总额。 (7
4、)以商品为单位,将所有销售的商品按销售总额的递增顺序构造一个单链 表并输出。 - 4 - (8) 设计一个菜单,具有插入数据记录、按收款机统计销售总额、按商 品统计销售总额、退出系统等最基本的功能。 所采用的数据结构:单链表所采用的数据结构:单链表 销售销售商品商品数据记录数据记录结构定义:结构定义: typedef struct Goodstypedef struct Goods int regNum;int regNum; / / 收款机编号收款机编号 int goodsNum;int goodsNum; / / 商品编号商品编号 int salesVol;int salesVol; / / 销售数量销售数量 double salesAmount;double salesAmount; / / 销售单价销售单价 Goods;G