手机版

药店的药品销售统计系统

发布时间: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文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)