药店的药品销售统计系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构实验报告
实验六
实验题目:小型系统开发(课程设计)
指导老师:王文霞
专业班级:计算机科学与技术系1102班
姓名:王珣(2011100216)李国宝(2011100220)
马佳丽(2011100238)张艳(2011100257)
2013年5月30日
实验类型_设计_ 实验室_软件实验室一__
一、实验题目
小型系统开发(课程设计)
二、实验目的和要求
掌握小型系统开发方法,提高学生综合开发能力。根据实际问题,设计方案,综合运用课程知识,完成《学生成绩管理系统》或《数据结构算法演示系统》的设计、编程与调试工作。
三、实验内容
上机实验内容三:药店的药品销售统计系统
1.设计一系统,实现医药公司定期对各药品的销售记录进行统计,并按药品编号、单价、销售量或销售额做出排序。
2.设计分析
在设计中,首先从数据文件读出各药品的信息记录,存储在顺序表中。各药品的信息包括:药品编号、药品名称、单价、销售量、销售额。其中药品编号共4位,采用字母和数字混合编号,如:B125,前一位为大写字母,后三位为数字。
3.存储结构类型定义
①药品信息的存储结构类型定义
typedef struct node
{
char num[4];/*药品编号*/
char name[10]; /*药品名称*/
float price;/*单价*/
int count; /*销售量*/
float sale; /*销售额*/
}DataType;
②存储药品信息的顺序表的定义
typedef struct
{
DataType r[maxsize];
int length;
}sequenList;
四、实验步骤
#include
#include
#include
#define maxsize 100 //该医药公司药品最大种类typedef struct node //药品信息的存储结构类型定义{
char num[10]; //药品编号
char name[30];
float price; //单价
int count; //销售量
float sale; //销售额
}DataType;
typedef struct //存储药品信息的顺序表的定义{
DataType r[maxsize];
int length;
int type;
}SqList;
void number(SqList *L) //按药品编号排序
{
int i,j;
char num1[10],name1[30];
float price1,sale1;
int count1;
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);
}
void nam(SqList *L) //按药品名称排序
{
int i,j;
char num1[10],name1[30];
float price1,sale1;
int count1;
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);
}
void pric(SqList *L)
{
int i=0,j;