設計一系統,實現醫藥公司定期對銷售各藥品的記錄進行統計,可按藥品的編號、單價、銷售量或銷售額做出排名。
首先從資料檔案中讀出各藥品的資訊記錄,儲存在順序表中。按編號排序時採用直接插入排序法,將待插入的記錄暫存到監視哨中,記錄逐個後移,直到找到插入位置;按單價排序時採用氣泡排序法,就是不斷地比較和交換,將比較大的交換到前面,直到不需要交換為止;按銷售量排序採用快速排序,去第乙個記錄為樞軸,把比樞軸小的關鍵字交換到前面,大的交換到後面,結果把排序記錄分成兩個表,再對左右子表重複上述過程,直至每一子表只有乙個記錄時,排序完成;按銷售額排序採用堆排序,建初堆,然後把堆調整成大根堆。
1、選單void menu()——輸出所有功能選擇。
2、輸出全部資訊void allprint(sequenlist s)——從前往後遍歷結構體陣列,輸出藥的具體資訊。
3、讀檔案void read(sequenlist &s)——從資料檔案中讀出各藥品的資訊記錄,儲存在順序表中。
4、按編號排序void numsort(sequenlist &s)——直接插入排序法,將待插入的記錄暫存到監視哨中,記錄逐個後移,直到找到插入位置
5、按單價排序void pricesort(sequenlist &s)——氣泡排序法,不斷地比較和交換,將比較大的交換到前面,直到不需要交換為止。
6、對子表排序int par(sequenlist &s,int low,int high)——對順序表的子表進行一趟排序,返回樞軸位置。
7、快速排序void qsort(sequenlist &s,int low,int high)——對子序列快速排序。
8、按銷售量排序void countsort(sequenlist &s)——對順序表l做快速排序。
9、調整堆void heapadjust(sequenlist &s,int s,int m)——把堆調整成大根堆。
10、建堆void creatheap(sequenlist &s)——建初堆,不斷呼叫 heapadjust()。11、按銷售額排序void salesort(sequenlist &s)——將無序序列建成初堆後,反覆進行交換和堆調整。
12、主函式int main()——使用while迴圈和switch對功能進行呼叫,使用清屏函式,使介面更理想。
#include//實驗五
#include#include#includeusing namespace std;
#define maxsize 11
typedef struct node
datatype;
typedef struct
sequenlist;
void menu()
--m;
}allprint(s);
}int par(sequenlist &s,int low,int high)
s.r[s]=rc;
}void creatheap(sequenlist &s)
void salesort(sequenlist &s)
allprint(s);
}int main()
system("pause");
system("cls");
}return 0;
}
資料結構(C語言)課設5 藥店的藥品銷售統計系統
題目描述 你在乙個l藥品店當一名倉庫管理員,馬上就要放寒假回家過年了,l藥店對這一年的銷售情況做了統計,但這看起來太雜亂無章了。因此,你需要對這些資料進行整理,使他們看起來並不那麼糟糕。哦,我的天,是誰把阿莫新林放在了這?它應該放在那邊的!最好在移動前用蒂花之秀先洗洗手,這樣會顯得更莊重些 所以說,...
藥店的藥品銷售統計系統(排序應用)
設計一系統,實現醫藥公司定期對銷售各藥品的記錄進行統計,可按藥品的編號 單價 銷售量或銷售額做出排名。在本設計中,首先從資料檔案中讀出各藥品的資訊記錄,儲存在順序表中。各藥品的資訊包括 藥品編號 藥名 藥品單價 銷出數量 銷售額。藥品編號共4位,採用字母和數字混合編號,如 a125,前一位為大寫字母...
資料結構課設
10 多種基本內排序方法的實現 問題描述 設計乙個合成的排序程式。可供排序的方法是 插入排序 快速排序 歸併排序 堆排序。要求程式具有 1 顯示排序結果.2 提供最好和最壞情況下對比計時的功能。3 提供在不同陣列元素的個數情況 當n分別等於100,1000,5000,20000時 下各種排序演算法的...