1、药店的药品销售统计系统 数据结构实验报告实验六实验题目:小型系统开发(课程设计)指导老师:王文霞专业班级:计算机科学与技术系1102班 姓 名:王珣(2011100216) 李国宝(2011100220) 马佳丽(2011100238) 张艳(2011100257) 2013年 5月30日实验类型_设计_ 实验室_软件实验室一_1、实验题目 小型系统开发(课程设计)2、实验目的和要求 掌握小型系统开发方法,提高学生综合开发能力。根据实际问题,设计方案,综合运用课程知识,完成学生成绩管理系统或数据结构算法演示系统的设计、编程与调试工作。三、实验内容上机实验内容三:药店的药品销售统计系统1.设计一
2、系统,实现医药公司定期对各药品的销售记录进行统计,并按药品编号、单价、销售量或销售额做出排序。2.设计分析 在设计中,首先从数据文件读出各药品的信息记录,存储在顺序表中。各药品的信息包括:药品编号、药品名称、单价、销售量、销售额。其中药品编号共4位,采用字母和数字混合编号,如:B125,前一位为大写字母,后三位为数字。3.存储结构类型定义药品信息的存储结构类型定义 typedef struct nodechar num4;/*药品编号*/char name10; /*药品名称*/ float price;/*单价*/ int count; /*销售量*/ float sale; /*销售额*/
3、DataType;存储药品信息的顺序表的定义typedef structDataType rmaxsize; int length; sequenList;四、 实验步骤 #include#include#include#define maxsize 100 /该医药公司药品最大种类typedef struct node /药品信息的存储结构类型定义 char num10; /药品编号 char name30; float price; /单价 int count; /销售量 float sale; /销售额DataType;typedef struct /存储药品信息的顺序表的定义 Data
4、Type 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-rj.nam
5、e); 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; printf(t按药品编号排序后:n); printf(t药品编号 药品名称 药品单价 药品销售量 药品销售额n); for(i=
6、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) /按药品名称排序 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.name,L-ri.name)0) strcpy(num1,L-rj.num); strcpy(L-rj.num,L-ri.n
7、um); 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; printf(t按药品编号排序后
8、: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.price) strcpy(num
9、1,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-rj.sale=L-ri.sale
10、; 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(j=i+1;jtype;j+)
11、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.count=count1; s
12、ale1=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,sale1; int count1; fo
13、r(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.count; L-rj.coun
14、t=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); printf(t-n); printf(t|
15、 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=fopen(medince.t
16、xt,w); /创建文件 if(!fp) printf(Sorry! File open error!n);exit(0); printf(请输入药品种类数(type=n; for(i=0;ilength=0; fp=fopen(medince.txt,r); if(!fp) printf(Sorry! File open error!);exit(0); for(i=0;iri.num,L-ri.name,&L-ri.price,&L-ri.count,&L-ri.sale); /从文件中读信息 L-length+; fclose(fp); printf(t药品编号 药品名称 药品单价 药品
17、销售量 药品销售额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); 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