設計一系統,實現醫藥公司定期對銷售各藥品的記錄進行統計,可按藥品的編號、單價、銷售量或銷售額做出排名。
在本設計中,首先從資料檔案中讀出各藥品的資訊記錄,儲存在順序表中。各藥品的資訊包括:藥品編號、藥名、藥品單價、銷出數量、銷售額。藥品編號共4位,採用字母和數字混合編號,如:a125,前一位為大寫字母,後三位為數字,按藥品編號進行排序時,可採用基數排序法。對各藥品的單價、銷售量或銷售額進行排序時,可採用多種排序方法,如直接插入排序、氣泡排序、快速排序,直接選擇排序等方法。在本設計中,對單價的排序採用氣泡排序法,對銷售量的排序採用快速排序法,對銷售額的排序採用堆排序法。
藥品資訊的元素型別定義:
typedef struct node
datatype;
儲存藥品資訊的順序表的定義:
typedef struct
sequenlist;
#include#include#include#include#includeusing namespace std;
const int maxsize=10000;
const int n=10;
typedef struct node
datatype;
typedef struct
sequenlist;
void display(sequenlist sq)
void read(sequenlist &sq)
sq.length=0;
while(!feof(fp))
}system("pause");
system("cls");
}void pmpai(sequenlist &sq)
}if(flag==0)
break;
}display(sq);
system("pause");
system("cls");
}int partition(sequenlist &sq,int low,int high)
sq.r[s]=rc;
}void creatheap(sequenlist &sq)
void edpai(sequenlist &sq)
printf("對銷售額進行堆排序結果如下:\n\n");
display(sq);
system("pause");
system("cls");
}void swap(sequenlist &sq,int i,int j)
void bjpai(sequenlist &sq)
} }for(int i=1;i<=sq.length;i++)
b[i]=(sq.r[i].num[1]-'0')*100+(sq.r[i].num[2]-'0')*10+(sq.r[i].num[2]-'0');
for(int i=1;i<=sq.length;i++)
} }printf("按照藥品編號基數排序後的結果為:\n");
display(sq);
system("pause");
system("cls");
}int main()
else if(a!=1&&a!=2&&a!=3&&a!=4&&a!=5)
switch(a)
}return 0;
}
ps:其中沒有使用基數排序。 藥品銷售統計系統
原創,有疑問提問就行,寫的太過簡單,易懂。藥品管理系統 include include define max 20 typedef struct storesto typedef struct list 向檔案中輸入資訊 void insert list l printf 請輸入要統計藥品的數量 n...
資料結構課設 藥店的藥品銷售統計系統(排序應用)
設計一系統,實現醫藥公司定期對銷售各藥品的記錄進行統計,可按藥品的編號 單價 銷售量或銷售額做出排名。首先從資料檔案中讀出各藥品的資訊記錄,儲存在順序表中。按編號排序時採用直接插入排序法,將待插入的記錄暫存到監視哨中,記錄逐個後移,直到找到插入位置 按單價排序時採用氣泡排序法,就是不斷地比較和交換,...
資料結構(C語言)課設5 藥店的藥品銷售統計系統
題目描述 你在乙個l藥品店當一名倉庫管理員,馬上就要放寒假回家過年了,l藥店對這一年的銷售情況做了統計,但這看起來太雜亂無章了。因此,你需要對這些資料進行整理,使他們看起來並不那麼糟糕。哦,我的天,是誰把阿莫新林放在了這?它應該放在那邊的!最好在移動前用蒂花之秀先洗洗手,這樣會顯得更莊重些 所以說,...