数据结构课程设计校园超市商品销售统计系统

数据结构课程设计校园超市商品销售统计系统

ID:47518174

大小:324.01 KB

页数:19页

时间:2020-01-12

数据结构课程设计校园超市商品销售统计系统_第1页
数据结构课程设计校园超市商品销售统计系统_第2页
数据结构课程设计校园超市商品销售统计系统_第3页
数据结构课程设计校园超市商品销售统计系统_第4页
数据结构课程设计校园超市商品销售统计系统_第5页
资源描述:

《数据结构课程设计校园超市商品销售统计系统》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《数据结构》课程设计报告目录1.需求分析11.1问题描述11.2设计内容12.概要设计12.1数据结构算法选择12.2算法要点归纳12.3下面是针对本程序专门定义的数据结构类型42.4各组织结构与功能分析53测试结果及其分析64小结8参考文献9附录:程序源代码9《数据结构》课程设计报告1.需求分析1.1问题描述设计一系统,实现超市定期对销售各商品的记录进行统计,可按商品的编号、单价、销售量或销售额做出排名。1.2设计内容在本设计中,首先从数据文件中读出各商品的信息记录,存储在顺序表中。各商品的信息包

2、括:商品编号、商品名、单价、销出数量、销售额。商品编号共4位,采用字母和数字混合编号,如:A125,前一位为大写字母,后三位为数字,按商品编号进行排序时,可采用基数排序法。对各商品的单价、销售量或销售额进行排序时,可采用多种排序方法,如直接插入排序、冒泡排序、快速排序,直接选择排序等方法。在本设计中,对单价的排序采用冒泡排序法,对销售量的排序采用快速排序法,对销售额的排序采用堆排序法。2.概要设计2.1数据结构算法选择本设计主要采用了顺序表。共用四种排序方法:冒泡排序法,快速排序法,堆排序法,基数排

3、序法。2.2算法要点归纳1.冒泡排序:冒泡排序的算法思想是:通过无序区中相邻元素关键字间的比较和位置的交换,使关键字最小的元素如气泡一般逐渐往上“漂浮”直至“水面”。17《数据结构》课程设计报告整个算法是从最下面的元素开始,对每两个相邻元素的关键字进行比较,且使关键字较小的元素换至关键字较大的元素之上,使得经过一趟冒泡排序后,关键字最小的元素到达最上端。接着,再在剩下的元素中找关键字次小的元素,并把它换在第二个位置上。依次类推,一直到所有元素都有序为止。图1:冒泡排序算法思想1.快速排序:快速排序是

4、对冒泡排序的一种改进。它的基本思想是:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字,则可分别对这两部分记录继续进行排序,以达到整个序列有序。17《数据结构》课程设计报告图2:快速排序算法思想1.堆排序:堆排序只需要一个记录大小的辅助空间,每个待排序的记录仅占有一个存储空间。它的基本思想是:首先按大根堆的定义将R[1…n]调整为堆(这个过程为初始建堆),交换R[1]和R[n](将最大元素R[1]归位,放到排序序列的最后);然后,将R[1…n-1]调整为堆,交

5、换R[1]和R[n-1];如此反复进行,直到交换了R[1]和R[2]为止。图3:堆排序算法思想4.基数排序:基数排序是属于“分配式排序”,基数排序法又称“桶子法”。顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”17《数据结构》课程设计报告中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O(nlog(r)m),其中r为所采取的基数,而m为堆数,在某些时候,基数排序法的效率高于其它的比较性排序法。图4:基数排序算法思想2.3下面是针对本程序专门定义的数据结构类型1.

6、商品信息的元素类型定义: typedef struct node { char num[4];  /*商品编号*/  char name[10]; /*商品名称*/  float price; /*单价*/  int count; /*销售数量*/  float sale; /*本商品销售额*/  }DataType; 17《数据结构》课程设计报告2.存储商品信息的顺序表的定义: typedef struct { DataType r[MaxSize];  int length; }SequenLi

7、st; 2.4各组织结构与功能分析各商品信息在设计系统中的主要功能:按照各商品信息排序,根据要求所需的排序算法对商品编号、商品名称、单价、销售量和销售额进行一个排序。图5:功能分析图17《数据结构》课程设计报告3测试结果及其分析图6:输入商品编号、商品名称、商品单价和商品销售量图7:按商品编号排序17《数据结构》课程设计报告图8:按商品名称排序图9:分别按商品单价和商品销出数量排序17《数据结构》课程设计报告图10:按商品销售额排序4小结通过这次课设,我学会了如何把数据结构的知识应用到实践当中,同时

8、也进一步加深了对c/c++语言语法的应用,以及深刻的掌握了数据结构和c/c++语言的结合运用。 在编程过程中,遇到了许多问题,在一次次的运行错误后,问题被一步步改正,也从中学到了许多知识。虽然我的程序还不够完善,还需加以改进以实现更多的功能,但是我会尽我最大的努力去完成它,我相信我会努力去把程序做的更加完美。17《数据结构》课程设计报告参考文献[1]王昆仑,李红等编著.数据结构与算法.北京:中国铁道出版社,2007.[2]苏仕华等编著.数据结构课程设计.北京:机械工业

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。