ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:106.10KB ,
资源ID:25918450      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25918450.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构.docx

1、数据结构数据结构课程设计报告设计题目 药品销售统计系统 学院名称 信息工程学院 专 业 班 级 12计本1 姓 名 学 号 程序设计书目录一 课程题目二 设计目标三 问题描述四 需求分析五 概要设计六 详细设计(给出算法的伪码描述和流程图)七 测试分析八 使用说明九 测试数据一十 课程设计总结1.课程题目:药品销售统计系统二.设计目标: 通过对药品销售统计系统的课程设计,加深队程序设计的理解,熟练掌握和加深c语言的基本知识和语法规范,同时更进一步地理解数据结构各种排序的应用,也提高了我们进行程序设计的基本能力。这次课程设计提供一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合

2、起来,锻炼分析解决实际问题的能力,从而进一步提高了实际运用的能力。3问题描述: 设计一个系统,实现医药公司定期对销售各药品的记录进行统计,可按药品的编号、单价、销售量或者销售额做出排名。4需求分析:1. 定义药品信息的结构体;2. 输入药品信息;3. 用冒泡排序法对药品单价排序;4. 用快速排序法对销售量排序;5. 用直接插入排序法和选择排序法对销售额排序;6. 打印内容。 5概要设计:1.本程序主要运用了结构体的定义、线性表的顺序存储、及函数调用的相关知识。A.结构体的定义:typedef struct char num10; /*药品编号*/ char name16; /*药品名称*/ f

3、loat price; /*药品单价*/ int count; /*销售数量*/ float sale; /*本药品销售额*/ int next;DataType; B线性表的顺序存储:typedef struct DataType rMaxSize; int length;SequenList;2. 进入主函数,开始进入while循环,输入药品的各类信息,输入完成后,显示菜单。用户自己选择。选择1,调用冒泡排序法对药品单价排序BubbleSort(SequenList &L);选择2,调用快速排序法对销售量排序QuickSort(SequenList *L);选择3,调用选择排序法对销售额排

4、序SelectionSort(SequenList &L) ;选择0,提出系统。六详细设计:总体操作步骤:(1) 流程图;(2) 分配存储空间,定义结构体,顺序表;(3)输入数据,调用函数;(4)完成操作 。 流程图: 1.冒泡排序: void BubbleSort(SequenList &L) /冒泡排序 int i,j; bool flag; DataType temp; for(i=L.length-1;i=0;i-) flag=0; for (j=0;jL.rj+1.price) temp=L.rj; L.rj=L.rj+1; L.rj+1=temp; flag=1; if(!flag

5、)break; printf(按单价排序后的结果是:n); for (i=0;ilength-1); printf(用快速排序对销售量排序后的结果是:n); for( i=0;ilength;i+) printf(%s %s %f %d %f,L-ri.num,L-ri.name,L-ri.price,L-ri.count,L-ri.sale); printf(n); 3.选择排序: void SelectionSort(SequenList &L) /选择排序 int i,j,min; DataType temp; for(i=0;iL.length-1;i+) min=i; for(j=i

6、+1;jL.length;j+) if(L.rj.sale L.rmin.sale) min=j; temp=L.ri; L.ri=L.rmin; L.rmin=temp; for( i=0;i=0;i-) flag=0; for (j=0;jL.rj+1.price) temp=L.rj; L.rj=L.rj+1; L.rj+1=temp; flag=1; if(!flag)break; printf(按单价排序后的结果是:n); for (i=0;irLow; int left=Low,right=High; if(Low=High)return; swap(&L-rLow,&L-rrig

7、ht); while(1) while(Low=L-rLow.count ) Low+; while(LowHigh)&(temp.count rHigh.count ) High-; if(LowrLow,&L-rHigh); else break; swap(&L-rLow,&L-rright); /对两个子集进行快排 Qsort(L,left,Low-1); Qsort(L,Low+1,right);void QuickSort(SequenList *L)/快速排序 int i; Qsort(L,0,L-length-1); printf(用快速排序对销售量排序后的结果是:n); fo

8、r( i=0;ilength;i+) printf(%s %s %f %d %f,L-ri.num,L-ri.name,L-ri.price,L-ri.count,L-ri.sale); printf(n); void SelectionSort(SequenList &L) /选择排序 int i,j,min; DataType temp; for(i=0;iL.length-1;i+) min=i; for(j=i+1;jL.length;j+) if(L.rj.sale L.rmin.sale) min=j; temp=L.ri; L.ri=L.rmin; L.rmin=temp; fo

9、r( i=0;iL.length;i+) printf(%s %s %f %d %f,L.ri.num,L.ri.name,L.ri.price,L.ri.count,L.ri.sale); printf(n); void main() SequenList k; k.length=0; int choice; while (k.length5) printf(-请输入药品编号-:); scanf(%s,&k.rk.length.num); printf(-请输入药品名称-:); scanf(%s,&k.rk.length.name); printf(-请输入药品单价-:); scanf(%f

10、,&k.rk.length.price); printf(-请输入药品销售数量-:); scanf(%d,&k.rk.length.count); printf(-请输入药品销售额-:); scanf(%f,&k.rk.length.sale); k.length+; printf(此系统有如下功能:n); printf( =n); printf( 1、用冒泡对药品单价排序 *n); printf( 2、用快排对药品销售量排序 * n); printf( 3、用选择排序对销售额排序 * n); printf( 0、退出系统 * n); printf( = n); printf(请输入您的选择:

11、n); scanf(%d,&choice); while (choice) switch(choice) case 1:BubbleSort(k);break; /冒泡排序 case 2:QuickSort(&k);break; /快速排序 case 3:SelectionSort(k);break; /选择排序 default:printf(没有您选择的功能,请确定后重新输入 n); printf( =n); printf( 1、用冒泡对药品单价排序 *n); printf( 2、用快排对药品销售量排序 * n); printf( 3、用选择排序对销售额排序 * n); printf( 0、

12、退出系统 * n); printf( = n); printf(请输入您的选择:n); scanf(%d,&choice); 7测试分析:白盒:代码完整,可运行。 黑盒:8使用说明: 打开开始菜单找到VC+6.0,打开此软件,用鼠标单击文件菜单里的打开选项,导入文件,按ctrl+f7,看文件是否有错误,如果没有错误按ctrl+f5进行运行。程序运行中首先需要输入药品的各类信息。然后会出现菜单供大家选择,我们首先选择1,用冒泡排序法对药品单价排序,再回车,又出现菜单,供大家选择。选择2,快速排序法对销售量排序,回车,出现菜单。选择3,选择排序法对销售额排序,回车出现原始菜单。我们选择0,退出。九

13、测试数据: 输入药品信息: 1.用冒泡排序法对药品单价排序:2.用快速排序法对销售量排序:3.用直接插入排序法和选择排序法对销售额排序:4.退出系统: 10课程设计总结: 最后一次课程设计总算圆满结束了。本次课程设计要求的是对排序的掌握,说实话觉得有点难。以前只对冒泡有点了解,数据结构又学习了快速排序、简单插入排序、选择排序、希尔排序等等。要全部掌握还是有点小困难。所以课程设计要求下来,看了几遍书,查阅了不少资料。总算勉强完成,但对于如何从文件中调用数据,还是不太会,由于时间问题,所以我就直接输入了数据,看来下去还得多做研究和学习啊! 总之这四次课程设计,对我还是收获蛮大的!我相信在以后的学习和工作中一定会让我受益匪浅的!

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1