药店的药品销售统计系统

发布时间:2024-11-12

头文件 drug.h

#define MaxSize 50

typedef struct node

{

char num[8]; /*药品编号*/

char name[16]; /*药品名称*/ float price; /*药品单价*/ int count; /*销售数量*/ float sale; /*本药品销售额*/ int next;

}DataType;

typedef struct

{

DataType r[MaxSize];

int length;

}SequenList;

****************************************** main.cpp

#include "drug.h"

#include <iostream>

#include <fstream>

using namespace std;

void RadixSort(SequenList &L);

void BubbleSort(SequenList &S);

void QuickSort(SequenList &L);

void HeapSort(SequenList &H);

void main()

{

SequenList k; k.length=1; int choice; fstream in("E:\\abd.txt",ios::in); while (!in.eof()) { in>>k.r[k.length].num>>k.r[k.length].name>>k.r[k.length].price>>k.r[k.length].count>>k.r[k.l } k.length++; ength].sale; in.close(); cout<<"此系统有如下功能"<<endl; cout<<" ************************** "<<endl; cout<<" 1、按药品编号排序 "<<endl; cout<<" 2、按药品单价排序 "<<endl;

} cout<<" 4、按药品销售额排序 "<<endl; cout<<" 0、推出系统 "<<endl; cout<<" ************************** "<<endl; cout<<"请输入您的选择:"<<endl; cin>>choice; while (choice) { } switch(choice) { case 1:RadixSort(k);break;//基数排序 case 2:BubbleSort(k);break;//冒泡排序 case 3:QuickSort(k);break;//快速排序 case 4:HeapSort(k);break;//堆排序 default:cout<<"没有您选择的功能,请确定后重新输入。"<<endl; } cout<<" ************************** "<<endl; cout<<" 1、按药品编号排序 "<<endl; cout<<" 2、按药品单价排序 "<<endl; cout<<" 3、按药品销售量排序 "<<endl; cout<<" 4、按药品销售额排序 "<<endl; cout<<" 0、推出系统 "<<endl; cout<<" ************************** "<<endl; cout<<"请输入您的选择:"<<endl; cin>>choice;

******************************************

RadixSort.cpp药品编号基数排序

****************************************** #include "drug.h"

#include <iostream>

using namespace std;

void Distribute(DataType *r,int i,int *f,int *e)

{

int j,p; for (j=0;j<=26;j++) f[j]=0; for (p=r[0].next;p;p=r[p].next) { if(i>0)

} } else { } j=r[p].num[i]-'A'; if(!f[j]) f[j]=p; else r[e[j]].next=p; e[j]=p; j=r[p].num[i]-'0'; if(!f[j]) f[j]=p; else r[e[j]].next=p; e[j]=p; //if(m==7) break;

}

void Collect(DataType *r,int i,int *f,int *e)

{

} int j,t; for(j=0;!f[j];j++); r[0].next=f[j]; t=e[j]; while (j<26) { } for(j=j+1;j<25&&!f[j];++j); if (f[j]) { } r[t].next=f[j]; t=e[j]; r[t].next=0;

void RadixSort(SequenList &L)//

{

int f[27],e[26]; int i; for(i=0;i<L.length-1;i++) L.r[i].next=i+1; L.r[L.length-1].next=0; for (i=3;i>=0;i--) { Distribute(L.r,i,f,e);

} cout<<"按药品编号排序后的结果是:"<<endl; i=L.r[0].next; while(i) { cout<<L.r[i].num<<'\t'<<L.r[i].name<<"

\t"<<L.r[i].price<<'\t'<<L.r[i].count<<'\t'<<L.r[i].sale<<endl; i=L.r[i].next;

}

****************************************** BubbleSort.cpp 冒泡排序

****************************************** #include "drug.h"

#include <iostream>

using namespace std;

void BubbleSort(SequenList &L)

{

int i,j; DataType temp; for(i=0;i<L.length-1;i++) for (j=1;j<L.length-i-1;j++) { if (L.r[j].price>L.r[j+1].price) { } temp=L.r[j]; L.r[j]=L.r[j+1]; L.r[j+1]=temp; }

}

cout<<"按单价排序后的结果是:"<<endl;

for (i=1;i<L.length;i++) {

cout<<L.r[i].num<<'\t'<<L.r[i].name<<"

\t"<<L.r[i].price<<'\t'<<L.r[i].count<<'\t'<<L.r[i].sale<<endl; }

}

****************************************** QuickSort.cpp快速排序

****************************************** #include "drug.h"

#include <iostream>

using namespace std;

int Partition(SequenList &L,int low,int high)

{

int pri; L.r[0]=L.r[low]; pri=L.r[low].count; while (low<high) { } L.r[low]=L.r[0]; return low; while (low<high&&L.r[high].count>=pri) --high; L.r[low]=L.r[high]; while(low<high&&L.r[low].count<=pri) ++low; L.r[high]=L.r[low];

}

void Qsort(SequenList &L,int low,int high)

{

} int p; if(low<high) { } p=Partition(L,low,high); Qsort(L,low,p-1); Qsort(L,p+1,high);

void QuickSort(SequenList &L)

{

Qsort(L,1,L.length-1); cout<<"按销售量排序后的结果是:"<<endl; for(int i=1;i<L.length;i++) { cout<<L.r[i].num<<'\t'<<L.r[i].name<<"

\t"<<L.r[i].price<<'\t'<<L.r[i].count<<'\t'<<L.r[i].sale<<endl; }

}

****************************************** HeapSort.cpp堆排序

****************************************** #include <iostream>

#include "drug.h"

using namespace std;

void HeadAdjust(SequenList &H,int s,int m)

{

int j;

} DataType rc=H.r[s]; for (j=2*s;j<=m;j*=2) { if(j<m&&H.r[j].sale<H.r[j+1].sale) ++j; if(rc.sale>H.r[j].sale) break; H.r[s]=H.r[j]; s=j; } H.r[s]=rc;

void HeapSort(SequenList &H)

{

DataType temp; int i; for(i=(H.length-1)/2;i>0;--i) HeadAdjust(H,i,H.length-1); for(i=H.length-1;i>1;--i) { temp=H.r[1]; H.r[1]=H.r[i]; H.r[i]=temp; HeadAdjust(H,1,i-1); } cout<<"按销售额排序后的结果是:"<<endl; for(int i=1;i<H.length;i++) { cout<<H.r[i].num<<'\t'<<H.r[i].name<<"

\t"<<H.r[i].price<<'\t'<<H.r[i].count<<'\t'<<H.r[i].sale<<endl; }

}

******************************************

abd.txt

A234 安乃近 0.32 100 32.5

B123 阿莫西林 0.5 50 60.5

C455 银翘片 0.43 20 60.3

D345 金银花 0.12 30 50.4

S342 青霉素 0.34 10 20.7

D432 诺氟沙星 0.64 80 23.5

F872 罗红霉素 1.5 35 100.34

J234 吗叮啉 0.58 63 96.6

药店的药品销售统计系统.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219