版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构课程设计报告项目名称:药店药品销售统计系统学号:班级:姓名:指导老师:计算机科学与技术2014 年 12 月 22 日91. 问题描述:( 1) 设计一系统, 实现医药公司定期对销售各药品的记录进行统计,可按药品的编号、单价、销售量或销售额做出排名。( 2)在本设计中,首先从数据文件中读出各药品的信息记录,存储在顺序表中。各药品的信息包括:药品编号、药名、药品单价、销出数量、销售额。药品编号共4 位,采用字母和数字混合编号,如:a125,前一位为大写字母,后三位为数字,按药品编号进行排序时,可采用基数排序法。对各药品的单价、销售量或销售额进行排序时,可采用多种排序方法,如直接插入排序、
2、冒泡排序、快速排序,直接选择排序等方法。2. 设计思路:本次课程设计的任务是设计一个药店药品销售统计系统, 实现对药店内药品的信息进行记录和对销售情况进行整理排序, 更直观的了 解药店的药品销售情况。本次设计的系统主要采用c语言程序设计基本知识,通过文件来输入、记录、保存药品的编码、名称、单价、销售数量, 运用乘法运算算出各类药品的销售总额, 最后利用冒泡排序法(运用文件指针知识)将药品信息按照药品编码、药品名称、药品单价、药品销售数量、药品销售总额5 个方面进行从大到小的排序。该系统主要由 1. 输入记录并保存药品信息, 2. 在界面上显示所输入的药品信息, 3. 将药品信息根据5 个方面进
3、行排序并保存这三大模块所构成。3. 数据结构定义:typedef struct node / 药品信息的存储结构类型定义char num10; / 药品编号char name30;float price; / 单价int count; 销售量float sale; 销售额datatype;typedef struct /存储药品信息的顺序表的定义datatype rmaxsize;int length; int type; sqlist;4. 系统功能模块介绍:5.运行与调试分析:程序的调试分析主要由两大步骤组成。 首先认真阅读所编写好的程序,进一步进行检查。在过程中修改一些常识性简单的错误,
4、 例如: 符号“”“;”的缺失,对不必要的叙述进行修改删减,使程序更简 洁美观,增强程序的可读性,区分函数与子函数,分析变量含义的变 更是否会导致错误,在关键程序后面给上相关的注释,让程序变得更 易理解。其次在阅读检查程序并修改后,进行初步的调试,根据程序 设计思路查看各变量的含义是否符合设计初衷, 并作适当的修改,初 步调试完成后运行程序针对所显示的错误信息进行修改与优化。例 如:调试过程中发现scanf函数处报错,则经分析发现格式上缺少“&” 符号。如果调试过程中忽而出现几十上百条错误, 则问题可能是头文 件或者某一两处出现错误,此时应根据程序流程图仔细分析错误所在,同时可单步运行输入实验
5、数据查看各变量含义是否出错, 进而合 理的修改。输入药品种类数为3:以下为三种药品信息输入1:输入2:输入3:输入4:输入5弓祢伙容笛 编i销硫 晶晶品品晶福 爵药药箱 陕搔语堪择 5技药品销笆额和可后; 药品端号药晶名称nts 口 gt21余巡侦药品单价 才白霞b股减i o嫉生素r4.销告记短抻严药品销后:it .qd0ooq .qqoogq oo0oco药品销苣额35g.qqdboiq qgqiqoc o00ooo额 弓祢伙曾w 编名的销销筑 用晶晶晶晶率 新的药药药比 也修段曲通 1 2 3 u- s 06.体会:通过本次课程设计,培养了我关于系统的设计理念,掌握具体的编程方法, 提高了
6、个人的综合实践能力。学会通过所学的知识和查阅相关资料,能够根据实 际问题设计出实用并可靠的系统程序。药店药品销售统计系统是由c语言编写而 成的,该系统程序函数层次简练分明,可读性强。对于商店来讲,一般销售额的 统计都比较繁琐、容易出现错误。药店药品的销售统计系统在这方面可以大大的 减少人们对信息的处理,比较有实际意义。并且该系统操作起来简单快捷,极大 的降低了工作量。不过系统仍然存在着不足之处,需要后续的补充和修改完善。 例如:无法对输入的信息进行分类保存, 无法再中途添加药品信息,没有一个完 整的信息库等等。完成本次课程设计,一方面对我的知识进行了巩固,另一方面提前让我养成 了研发设计系统的
7、思路和感受。对今后的学习和实验相信有着积极的意义。同时也认识到自己的不足和学习的永无止境,的确学如逆水行舟,不进则退!时代在发展,很多系统就得跟上人们的需求,所以我们今后的发展前景还是很大的。主程序#include#include#include#define maxsize 100 /该医药公司药品最大种类typedef struct node /药品信息的存储结构类型定义char num10; / 药品编号char name30;float price; /单价int count; /销售量float sale; 销售额datatype;typedef struct /存储药品信息的顺序表
8、的定义datatype rmaxsize;int length;int type;sqlist;void number(sqlist *l) / 按药品编号排序 int i,j;char num110,name130;float price1,sale1;int count1;for(i=0;itype;i+)for(j=i+1;jtype;j+)if(strcmp(l-rj.num,l-ri.num)0) strcpy(num1,l-rj.num);strcpy(l-rj.num,l-ri.num);strcpy(l-ri.num,num1);strcpy(name1,l-);
9、strcpy(l-,l-);strcpy(l-,name1);price1=l-rj.price;l-rj.price=l-ri.price;l-ri.price=price1;count1=l-rj.count;l-rj.count=l-ri.count;l-ri.count=count1;sale1=l-rj.sale;l-rj.sale=l-ri.sale;l-ri.sale=sale1;printf(t 按药品编号排序后:n);printf(t 药品编号药品名称药品单价药品销售量药品销售额 n);for(i=0;itype;i+)printf(
10、t %st %st %ft %dt %fn,l-ri.num,l-,l-ri.price,l-ri.count,l-ri.sale);void nam(sqlist *l) / 按药品名称排序 int i,j;char num110,name130;float price1,sale1;int count1;for(i=0;itype;i+)for(j=i+1;jtype;j+)if(strcmp(l-,l-)0) strcpy(num1,l-rj.num);strcpy(l-rj.num,l-ri.num);strcpy(l-ri.num,num1)
11、;strcpy(name1,l-);strcpy(l-,l-);strcpy(l-,name1);price1=l-rj.price;l-rj.price=l-ri.price;l-ri.price=price1;count1=l-rj.count;l-rj.count=l-ri.count;l-ri.count=count1;sale1=l-rj.sale;l-rj.sale=l-ri.sale;l-ri.sale=sale1;printf(t 按药品名称排序后:n);printf(t 药品编号药品名称药品单价药品销售量药品销售额 n)
12、;for(i=0;itype;i+)printf(t %st %st %ft %dt %fn,l-ri.num,l-,l- ri.price,l-ri.count,l-ri.sale);void pric(sqlist *l)int i=0,j;char num110,name130;float price1,sale1;int count1;for(i=0;itype;i+)for(j=i+1;jtype;j+)if(l-rj.pricel-ri.price)strcpy(num1,l-rj.num);strcpy(l-rj.num,l-ri.num);strcpy(l-ri.
13、num,num1);strcpy(name1,l-); strcpy(l-,l-); strcpy(l-,name1);price1=l-rj.price;l-rj.price=l-ri.price;l-ri.price=price1;count1=l-rj.count;l-rj.count=l-ri.count;l-ri.count=count1;sale1=l-rj.sale;l-rj.sale=l-ri.sale;l-ri.sale=sale1;printf(t 按药品单价排序后 :n);printf(t 药品编号药品名称药品单价药
14、品销售量药品销售额 n);for(i=0;itype;i+)printf(t %st %st %ft %dt %fn,l-ri.num,l-,l- ri.price,l-ri.count,l-ri.sale);void coun(sqlist *l)int i=0,j;char num110,name130;float price1,sale1;int count1;for(i=0;itype;i+)for(j=i+1;jtype;j+)if(l-rj.countl-ri.count)strcpy(num1,l-rj.num);strcpy(l-rj.num,l-ri.num);
15、strcpy(l-ri.num,num1);strcpy(name1,l-); strcpy(l-,l-); strcpy(l-,name1);price1=l-rj.price;l-rj.price=l-ri.price;l-ri.price=price1;count1=l-rj.count;l-rj.count=l-ri.count;l-ri.count=count1;sale1=l-rj.sale;l-rj.sale=l-ri.sale;l-ri.sale=sale1;printf(t 按药品销售量排序后:n);printf(t 药
16、品编号药品名称药品单价药品销售量药品销售额 n);for(i=0;itype;i+)printf(t %st %st %ft %dt %fn,l-ri.num,l-,l- ri.price,l-ri.count,l-ri.sale);void sales(sqlist *l)int i=0,j;char num110,name130;float price1,sale1;int count1;for(i=0;itype;i+)for(j=i+1;jtype;j+)if(l-rj.salel-ri.sale)strcpy(num1,l-rj.num);strcpy(l-rj.num
17、,l-ri.num);strcpy(l-ri.num,num1);strcpy(name1,l-); strcpy(l-,l-); strcpy(l-,name1);price1=l-rj.price;l-rj.price=l-ri.price;l-ri.price=price1;count1=l-rj.count;l-rj.count=l-ri.count;l-ri.count=count1;sale1=l-rj.sale;l-rj.sale=l-ri.sale;l-ri.sale=sale1;printf(t 按药品销售额排序后:n)
18、;printf(t 药品编号药品名称药品单价药品销售量药品销售额 n);for(i=0;itype;i+)printf(t %st %st %ft %dt %fn,l-ri.num,l-,l- ri.price,l-ri.count,l-ri.sale);12void menu() printf(ttt销售记录排序n);printf(tn);printf(t|1)按药品编号|n);printf(t|2)按药品名称|n);printf(t|3)按药品单价|n);printf(t|4)按药品销售量|n);printf(t|5)按药品销售额|n);printf(t|0)退出系统|n);printf(t|n);printf(请选择 );main()sqlist *l;int n,i,m;char num110,name130;float price1,sale1;int count1;file *fp;l=(sqlist*)malloc(sizeof(sqlist);fp=fo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论