药店药品销售统计系统.docx
- 文档编号:5291758
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:15
- 大小:427.10KB
药店药品销售统计系统.docx
《药店药品销售统计系统.docx》由会员分享,可在线阅读,更多相关《药店药品销售统计系统.docx(15页珍藏版)》请在冰豆网上搜索。
药店药品销售统计系统
药店药品销售统计系统
该系统主要由1.输入记录并保存药品信息,2.在界面上显示所输入的药品信息,3.将药品信息根据5个方面进行排序并保存这三大模块所构成。
1.数据结构定义:
typedefstructnode//药品信息的存储结构类型定义
{
charnum[10];//药品编号
charname[30];
floatprice;//单价
intcount;//销售量
floatsale;//销售额
}DataType;
typedefstruct//存储药品信息的顺序表的定义
{
DataTyper[maxsize];
intlength;
inttype;
}SqList;
2.系统功能模块介绍:
3.运行与调试分析:
程序的调试分析主要由两大步骤组成。
首先认真阅读所编写好的程序,进一步进行检查。
在过程中修改一些常识性简单的错误,例如:
符号“}”“;”的缺失,对不必要的叙述进行修改删减,使程序更简洁美观,增强程序的可读性,区分函数与子函数,分析变量含义的变更是否会导致错误,在关键程序后面给上相关的注释,让程序变得更易理解。
其次在阅读检查程序并修改后,进行初步的调试,根据程序设计思路查看各变量的含义是否符合设计初衷,并作适当的修改,初步调试完成后运行程序针对所显示的错误信息进行修改与优化。
例如:
调试过程中发现scanf函数处报错,则经分析发现格式上缺少“&”符号。
如果调试过程中忽而出现几十上百条错误,则问题可能是头文件或者某一两处出现错误,此时应根据程序流程图仔细分析错误所在,同时可单步运行输入实验数据查看各变量含义是否出错,进而合理的修改。
输入药品种类数为3:
以下为三种药品信息
输入1:
输入2:
输入3:
输入4:
输入5
4.体会:
通过本次课程设计,培养了我关于系统的设计理念,掌握具体的编程方法,提高了个人的综合实践能力。
学会通过所学的知识和查阅相关资料,能够根据实际问题设计出实用并可靠的系统程序。
药店药品销售统计系统是由C语言编写而成的,该系统程序函数层次简练分明,可读性强。
对于商店来讲,一般销售额的统计都比较繁琐、容易出现错误。
药店药品的销售统计系统在这方面可以大大的减少人们对信息的处理,比较有实际意义。
并且该系统操作起来简单快捷,极大的降低了工作量。
不过系统仍然存在着不足之处,需要后续的补充和修改完善。
例如:
无法对输入的信息进行分类保存,无法再中途添加药品信息,没有一个完整的信息库等等。
完成本次课程设计,一方面对我的知识进行了巩固,另一方面提前让我养成了研发设计系统的思路和感受。
对今后的学习和实验相信有着积极的意义。
同时也认识到自己的不足和学习的永无止境,的确学如逆水行舟,不进则退!
时代在发展,很多系统就得跟上人们的需求,所以我们今后的发展前景还是很大的。
主程序
#include
#include
#include
#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
for(j=i+1;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
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
for(j=i+1;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
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
for(j=i+1;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
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
for(j=i+1;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
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
for(j=i+1;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
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 { printf("请输入该药品的编号(格式如: B12,前一位为大写字母,后二位为数字): "); scanf("%s",num1); getchar(); printf("请输入该药品的名称: "); scanf("%s",name1); getchar(); printf("请输入该药品的单价: "); scanf("%f",&price1); printf("请输入该药品的销售量: "); scanf("%d",&count1);getchar(); sale1=price1*count1; fprintf(fp,"%s\t%s\t%f\t%d\t%f\n",num1,name1,price1,count1,sale1); printf("\n"); } fclose(fp); L->length=0; fp=fopen("medince.txt","r"); if(! fp){printf("Sorry! Fileopenerror! ");exit(0);} for(i=0;i { fscanf(fp,"%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);//从文件中读信息 L->length++; } fclose(fp); printf("\t药品编号药品名称药品单价药品销售量药品销售额\n"); for(i=0;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); while (1) {menu(); scanf("%d",&m); switch(m) { case1: number(L);break; case2: nam(L);break; case3: pric(L);break; case4: coun(L);break; case5: sales(L);break; case0: exit(0);break; default: printf("Sorry! 输入有误! ");break; } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 药店 药品 销售 统计 系统