欢迎来到天天文库
浏览记录
ID:57068783
大小:41.00 KB
页数:16页
时间:2020-07-31
《衡阳师范学院《数据结构》课程设计 药店的药品销售统计系统.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、衡阳师范学院《数据结构》课程设计题目:药店的药品销售统计系统系别:计算机科学与技术系班级:1306班学生:罗红梅学号:13480130指导老师:李康满目录一、设计目的二、设计要求和内容三、算法设计(我的思路)四、源程序清单五、课程设计心得一、设计目的1、巩固和进步加强对大一所学程序设计语言中的知识的综合运用能力;2、对《数据结构》的知识能够尽可能的做到学以致用,提高计算机实践水平。二、设计要求和内容1、设计一系统,实现医药公司定期对各药品的销售记录进行统计,并按药品编号、单价、销售量或销售额做出排序。2、在本设计中,首先从数据文件中读出各药品的信息存储在顺序表中。各药品的信息包括:药品编号
2、、药名、药品单价、销出数量、销售额。药品编号共4位,采用字母和数字混合编号,如:A125,前一位为大写字母,后三位为数字,按药品编号进行排序时,可采用基数排序法。对各药品的单价、销售量或销售额进行排序时,可采用多种排序方法,如直接插入排序、冒泡排序、快速排序,直接选择排序等方法。在本设计中,对单价的排序采用冒泡排序法,对销售量的排序采用快速排序法,对销售额的排序采用堆排序法。三、算法设计(我的思路)l在本设计中,我对药店药品进行统计这一系统中主要运用到数据结构中排序知识。l首先在设计中,首先从数据文件读出各药品的信息记录,存储在顺序表中。各药品的信息包括:药品编号、药品名称、单价、销售量、
3、销售额。其中药品编号共4位,采用字母和数字混合编号,如:B125,前一位为大写字母,后三位为数字。①药品信息的存储结构类型定义typedefstructnode{ charnum[4];/*药品编号*/ charname[10];/*药品名称*/floatprice;/*单价*/intcount;/*销售量*/floatsale;/*销售额*/}DataType;②存储药品信息的顺序表的定义typedefstruct{ DataTyper[maxsize]; intlength;}sequenList;l然后对药品单价,销售量,销售额,药品名称,药品编号分别进行排序。l比如对单价采用冒泡排
4、序,它是一种典型的交换排序思想,整个算法是从最下面得元素开始,对每两个相邻的关键字进行比较,且使关键字较小的元素换至关键字较大的元素之上,使得经过一番冒泡排序后。关键字最小的元素到达最上端。l对销售量采用快速排序法,简而言之,每趟将一组数据的第一个元素放入适当的位置,将数据一分为二,对子表按递归方式继续这种划分,直至划分的字表长为1或0。l对销售额的排序采用堆排序,其思想是在排序过程中将R[1..n]看成是一棵完全二叉树的顺序存储结构,利用完全二叉树中双亲节点和孩子节点之间的内在关系,在当前无序区内选择关键字最大(或最小)的元素。l对药品编号采用基数排序。四、源程序清单#include5、stdio>#defineMaxSize50typedefstructnode{charnum[8];/*药品编号*/charname[16];/*药品名称*/floatprice;/*药品单价*/intcount;/*销售数量*/floatsale;/*本药品销售额*/intnext;}DataType;typedefstruct{DataTyper[MaxSize];intlength;}SequenList;#include#includeusingnamespacestd;voidRadixSort(SequenList&L);voidBubbl6、eSort(SequenList&S);voidQuickSort(SequenList&L);voidHeapSort(SequenList&H);voidmain(){SequenListk;k.length=1;intchoice;cout<<"此系统有如下功能"<>choice;wh7、ile(choice){switch(choice){case1:RadixSort(k);break;//基数排序case2:BubbleSort(k);break;//冒泡排序case3:QuickSort(k);break;//快速排序case4:HeapSort(k);break;//堆排序default:cout<<"没有您选择的功能,请确定后重新输入。"<
5、stdio>#defineMaxSize50typedefstructnode{charnum[8];/*药品编号*/charname[16];/*药品名称*/floatprice;/*药品单价*/intcount;/*销售数量*/floatsale;/*本药品销售额*/intnext;}DataType;typedefstruct{DataTyper[MaxSize];intlength;}SequenList;#include#includeusingnamespacestd;voidRadixSort(SequenList&L);voidBubbl
6、eSort(SequenList&S);voidQuickSort(SequenList&L);voidHeapSort(SequenList&H);voidmain(){SequenListk;k.length=1;intchoice;cout<<"此系统有如下功能"<>choice;wh
7、ile(choice){switch(choice){case1:RadixSort(k);break;//基数排序case2:BubbleSort(k);break;//冒泡排序case3:QuickSort(k);break;//快速排序case4:HeapSort(k);break;//堆排序default:cout<<"没有您选择的功能,请确定后重新输入。"<
此文档下载收益归作者所有