1、药店药品销售统计系统数据结构课程设计报告 项目名称:药店药品销售统计系统学号:班级:姓名:指导老师: 计算机科学与技术 2014年12月22日1.问题描述:(1)设计一系统,实现医药公司定期对销售各药品的记录进行统计,可按药品的编号、单价、销售量或销售额做出排名。(2)在本设计中,首先从数据文件中读出各药品的信息记录,存储在顺序表中。各药品的信息包括:药品编号、药名、药品单价、销出数量、销售额。药品编号共4位,采用字母和数字混合编号,如:A125,前一位为大写字母,后三位为数字,按药品编号进行排序时,可采用基数排序法。对各药品的单价、销售量或销售额进行排序时,可采用多种排序方法,如直接插入排序
2、、冒泡排序、快速排序,直接选择排序等方法。2.设计思路:本次课程设计的任务是设计一个药店药品销售统计系统,实现对药店内药品的信息进行记录和对销售情况进行整理排序,更直观的了解药店的药品销售情况。本次设计的系统主要采用C语言程序设计基本知识,通过文件来输入、记录、保存药品的编码、名称、单价、销售数量,运用乘法运算算出各类药品的销售总额,最后利用冒泡排序法(运用文件指针知识)将药品信息按照药品编码、药品名称、药品单价、药品销售数量、药品销售总额5个方面进行从大到小的排序。该系统主要由1.输入记录并保存药品信息,2.在界面上显示所输入的药品信息,3.将药品信息根据5个方面进行排序并保存 这三大模块所
3、构成。3.数据结构定义:typedef struct node um,L-ri.num)0) strcpy(num1,L-rj.num); strcpy(L-rj.num,L-ri.num); strcpy(L-ri.num,num1); strcpy(name1,L-rj.name); strcpy(L-rj.name,L-ri.name); strcpy(L-ri.name,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
4、; 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(t %st %st %ft %dt %fn,L-ri.num,L-ri.name,L-ri.price,L-ri.count,L-ri.sale);void nam(SqList *L) ame,L-ri.name)0) strcpy(num1,L-rj.num); strcpy
5、(L-rj.num,L-ri.num); strcpy(L-ri.num,num1); strcpy(name1,L-rj.name); strcpy(L-rj.name,L-ri.name); strcpy(L-ri.name,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;
6、printf(t按药品名称排序后:n); printf(t药品编号 药品名称 药品单价 药品销售量 药品销售额n); for(i=0;itype;i+) printf(t %st %st %ft %dt %fn,L-ri.num,L-ri.name,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.p
7、rice) strcpy(num1,L-rj.num); strcpy(L-rj.num,L-ri.num); strcpy(L-ri.num,num1); strcpy(name1,L-rj.name); strcpy(L-rj.name,L-ri.name); strcpy(L-ri.name,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-r
8、j.sale=L-ri.sale; L-ri.sale=sale1; printf(t按药品单价排序后:n); printf(t药品编号 药品名称 药品单价 药品销售量 药品销售额n); for(i=0;itype;i+) printf(t %st %st %ft %dt %fn,L-ri.num,L-ri.name,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(
9、j=i+1;jtype;j+) if(L-rj.countL-ri.count) strcpy(num1,L-rj.num); strcpy(L-rj.num,L-ri.num); strcpy(L-ri.num,num1); strcpy(name1,L-rj.name); strcpy(L-rj.name,L-ri.name); strcpy(L-ri.name,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
10、.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(t %st %st %ft %dt %fn,L-ri.num,L-ri.name,L-ri.price,L-ri.count,L-ri.sale);void sales(SqList *L) int i=0,j; char num110,name130; float price1,sale
11、1; 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,L-ri.num); strcpy(L-ri.num,num1); strcpy(name1,L-rj.name); strcpy(L-rj.name,L-ri.name); strcpy(L-ri.name,name1); price1=L-rj.price; L-rj.price=L-ri.price; L-ri.price=price1; count1=L-rj
12、.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(t %st %st %ft %dt %fn,L-ri.num,L-ri.name,L-ri.price,L-ri.count,L-ri.sale);void menu() printf(ttt销售记录排序n); prin
13、tf(t-n); 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);
14、 fp=fopen(,w); um,L-ri.name,&L-ri.price,&L-ri.count,&L-ri.sale); um,L-ri.name,L-ri.price,L-ri.count,L-ri.sale); while(1) menu(); scanf(%d,&m); switch(m) case 1:number(L);break; case 2:nam(L);break; case 3:pric(L);break; case 4:coun(L);break; case 5:sales(L);break; case 0:exit(0);break; default:printf(Sorry!输入有误!);break;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1