药店药品销售统计系统_第1页
药店药品销售统计系统_第2页
药店药品销售统计系统_第3页
药店药品销售统计系统_第4页
药店药品销售统计系统_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE2PAGE5数据结构课程设计报告项目名称:药店药品销售统计系统学号:班级:姓名:指导老师:计算机科学与技术2014年12月22日问题描述:(1)设计一系统,实现医药公司定期对销售各药品的记录进行统计,可按药品的编号、单价、销售量或销售额做出排名。(2)在本设计中,首先从数据文件中读出各药品的信息记录,存储在顺序表中。各药品的信息包括:药品编号、药名、药品单价、销出数量、销售额。药品编号共4位,采用字母和数字混合编号,如:A125,前一位为大写字母,后三位为数字,按药品编号进行排序时,可采用基数排序法。对各药品的单价、销售量或销售额进行排序时,可采用多种排序方法,如直接插入排序、冒泡排序、快速排序,直接选择排序等方法。设计思路:本次课程设计的任务是设计一个药店药品销售统计系统,实现对药店内药品的信息进行记录和对销售情况进行整理排序,更直观的了解药店的药品销售情况。本次设计的系统主要采用C语言程序设计基本知识,通过文件来输入、记录、保存药品的编码、名称、单价、销售数量,运用乘法运算算出各类药品的销售总额,最后利用冒泡排序法(运用文件指针知识)将药品信息按照药品编码、药品名称、药品单价、药品销售数量、药品销售总额5个方面进行从大到小的排序。该系统主要由1.输入记录并保存药品信息,2.在界面上显示所输入的药品信息,3.将药品信息根据5个方面进行排序并保存这三大模块所构成。数据结构定义:typedefstructnode//药品信息的存储结构类型定义{charnum[10];//药品编号charname[30];floatprice;//单价输入2:输入3:输入4:输入5体会:通过本次课程设计,培养了我关于系统的设计理念,掌握具体的编程方法,提高了个人的综合实践能力。学会通过所学的知识和查阅相关资料,能够根据实际问题设计出实用并可靠的系统程序。药店药品销售统计系统是由C语言编写而成的,该系统程序函数层次简练分明,可读性强。对于商店来讲,一般销售额的统计都比较繁琐、容易出现错误。药店药品的销售统计系统在这方面可以大大的减少人们对信息的处理,比较有实际意义。并且该系统操作起来简单快捷,极大的降低了工作量。不过系统仍然存在着不足之处,需要后续的补充和修改完善。例如:无法对输入的信息进行分类保存,无法再中途添加药品信息,没有一个完整的信息库等等。完成本次课程设计,一方面对我的知识进行了巩固,另一方面提前让我养成了研发设计系统的思路和感受。对今后的学习和实验相信有着积极的意义。同时也认识到自己的不足和学习的永无止境,的确学如逆水行舟,不进则退!时代在发展,很多系统就得跟上人们的需求,所以我们今后的发展前景还是很大的。主程序#include<stdio.h>#include<stdlib.h>#include<string.h>#definemaxsize100//该医药公司药品最大种类typedefstructnode//药品信息的存储结构类型定义{charnum[10];//药品编号charname[30];floatprice;//单价intcount;//销售量floatsale;//销售额}DataType;typedefstruct//存储药品信息的顺序表的定义{DataTyper[maxsize];intlength;inttype;}SqList;voidnumber(SqList*L)//按药品编号排序{inti,j;charnum1[10],name1[30];floatprice1,sale1;intcount1;for(i=0;i<L->type;i++) for(j=i+1;j<L->type;j++) if(strcmp(L->r[j].num,L->r[i].num)>0) {strcpy(num1,L->r[j].num); strcpy(L->r[j].num,L->r[i].num); strcpy(L->r[i].num,num1); strcpy(name1,L->r[j].name); strcpy(L->r[j].name,L->r[i].name); strcpy(L->r[i].name,name1); price1=L->r[j].price; L->r[j].price=L->r[i].price; L->r[i].price=price1;count1=L->r[j].count; L->r[j].count=L->r[i].count; L->r[i].count=count1; sale1=L->r[j].sale; L->r[j].sale=L->r[i].sale; L->r[i].sale=sale1; }printf("\t按药品编号排序后:\n");printf("\t药品编号药品名称药品单价药品销售量药品销售额\n");for(i=0;i<L->type;i++)printf("\t%s\t%s\t%f\t%d\t%f\n",L->r[i].num,L->r[i].name,L->r[i].price,L->r[i].count,L->r[i].sale);}voidnam(SqList*L)//按药品名称排序{inti,j;charnum1[10],name1[30];floatprice1,sale1;intcount1;for(i=0;i<L->type;i++) for(j=i+1;j<L->type;j++) if(strcmp(L->r[j].name,L->r[i].name)>0) {strcpy(num1,L->r[j].num); strcpy(L->r[j].num,L->r[i].num); strcpy(L->r[i].num,num1); strcpy(name1,L->r[j].name); strcpy(L->r[j].name,L->r[i].name); strcpy(L->r[i].name,name1); price1=L->r[j].price; L->r[j].price=L->r[i].price; L->r[i].price=price1;count1=L->r[j].count; L->r[j].count=L->r[i].count; L->r[i].count=count1; sale1=L->r[j].sale; L->r[j].sale=L->r[i].sale; L->r[i].sale=sale1; }printf("\t按药品名称排序后:\n");printf("\t药品编号药品名称药品单价药品销售量药品销售额\n");for(i=0;i<L->type;i++)printf("\t%s\t%s\t%f\t%d\t%f\n",L->r[i].num,L->r[i].name,L->r[i].price,L->r[i].count,L->r[i].sale);}voidpric(SqList*L){inti=0,j;charnum1[10],name1[30];floatprice1,sale1;intcount1;for(i=0;i<L->type;i++) for(j=i+1;j<L->type;j++) if(L->r[j].price>L->r[i].price) {strcpy(num1,L->r[j].num); strcpy(L->r[j].num,L->r[i].num); strcpy(L->r[i].num,num1); strcpy(name1,L->r[j].name); strcpy(L->r[j].name,L->r[i].name); strcpy(L->r[i].name,name1); price1=L->r[j].price; L->r[j].price=L->r[i].price; L->r[i].price=price1;count1=L->r[j].count; L->r[j].count=L->r[i].count; L->r[i].count=count1; sale1=L->r[j].sale; L->r[j].sale=L->r[i].sale; L->r[i].sale=sale1; } printf("\t按药品单价排序后:\n");printf("\t药品编号药品名称药品单价药品销售量药品销售额\n");for(i=0;i<L->type;i++)printf("\t%s\t%s\t%f\t%d\t%f\n",L->r[i].num,L->r[i].name,L->r[i].price,L->r[i].count,L->r[i].sale);}voidcoun(SqList*L){inti=0,j;charnum1[10],name1[30];floatprice1,sale1;intcount1;for(i=0;i<L->type;i++) for(j=i+1;j<L->type;j++) if(L->r[j].count>L->r[i].count) {strcpy(num1,L->r[j].num); strcpy(L->r[j].num,L->r[i].num); strcpy(L->r[i].num,num1); strcpy(name1,L->r[j].name); strcpy(L->r[j].name,L->r[i].name); strcpy(L->r[i].name,name1); price1=L->r[j].price; L->r[j].price=L->r[i].price; L->r[i].price=price1;count1=L->r[j].count; L->r[j].count=L->r[i].count; L->r[i].count=count1; sale1=L->r[j].sale; L->r[j].sale=L->r[i].sale; L->r[i].sale=sale1; }printf("\t按药品销售量排序后:\n");printf("\t药品编号药品名称药品单价药品销售量药品销售额\n");for(i=0;i<L->type;i++)printf("\t%s\t%s\t%f\t%d\t%f\n",L->r[i].num,L->r[i].name,L->r[i].price,L->r[i].count,L->r[i].sale);}voidsales(SqList*L){inti=0,j;charnum1[10],name1[30];floatprice1,sale1;intcount1;for(i=0;i<L->type;i++) for(j=i+1;j<L->type;j++) if(L->r[j].sale>L->r[i].sale) {strcpy(num1,L->r[j].num); strcpy(L->r[j].num,L->r[i].num); strcpy(L->r[i].num,num1); strcpy(name1,L->r[j].name); strcpy(L->r[j].name,L->r[i].name); strcpy(L->r[i].name,name1); price1=L->r[j].price; L->r[j].price=L->r[i].price; L->r[i].price=price1;count1=L->r[j].count; L->r[j].count=L->r[i].count; L->r[i].count=count1; sale1=L->r[j].sale; L->r[j].sale=L->r[i].sale; L->r[i].sale=sale1; }printf("\t按药品销售额排序后:\n");printf("\t药品编号药品名称药品单价药品销售量药品销售额\n");for(i=0;i<L->type;i++)printf("\t%s\t%s\t%f\t%d\t%f\n",L->r[i].num,L->r[i].name,L->r[i].price,L->r[i].count,L->r[i].sale);}voidmenu(){printf("\t\t\t销售记录排序\n");printf("\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("请选择<0~5>");}main(){SqList*L;intn,i,m;charnum1[10],name1[30];floatprice1,sale1;intcount1;FILE*fp;L=(SqList*)malloc(sizeof(SqList));fp=fopen("medince.txt","w");//创建文件if(!fp){printf("Sorry!Fileopenerror!\n");exit(0);}printf("请输入药品种类数(<=100):");scanf("%d",&n);L->type=n;for(i=0;i<n;i++){ printf("请输入该药品的编号(格式如:B12,前一位为大写字母,后二位为数字):"); scanf("%s",num1); getchar(); printf("请输入该药品的名称:"); scanf("%s",name1); getchar(); printf("请输入该药品的单价:"); scanf("%f",&price1); printf("请输入该药品的销售量:"); scanf("%d",&count1);getchar(); sale1=price1*count1; fprintf(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论