药店的药品销售统计系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;itype;i++)

for(j=i+1;jtype;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;itype;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;itype;i++)

for(j=i+1;jtype;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;itype;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;

相关文档
最新文档