1. 程式人生 > 其它 >C/C++簡易圖書管理模擬系統(二叉平衡樹)

C/C++簡易圖書管理模擬系統(二叉平衡樹)

C/C++簡易圖書管理模擬系統(二叉平衡樹)

C/C++簡易圖書管理模擬系統(二叉平衡樹)

數 據 結 構 課程實驗教案
第 8 頁
實驗題目八:
綜合實驗
簡易圖書管理模擬系統 機時安排 9小時
實驗時間 第14-16周
實驗目的:
 插入、查詢和刪除等資料操作在實際應用中非常普遍,通過設計和實現一個簡易的圖書管理系統,進一步提高學生對插入、查詢和刪除等操作的理解和應用能力。幫助學生理解和掌握線性表和二叉平衡樹等資料結構的基本操作和實現方法,加強學生綜合應用資料結構知識解決實際問題的水平和能力。
實驗內容:
1、問題描述:一個簡易圖書管理的基本業務活動包括:對新購入一種書的採編入庫、圖書的借閱和歸還等。
2、基本要求:
(1)每種書的登記內容至少包括書號、書名、著者、現存量和總庫存量等五項。
(2)我們要求各種書的資料用二叉平衡樹(關鍵字為書號)來儲存(如果用更簡單的二叉排序樹來代替二叉平衡樹,則扣除15分);借閱登記資訊採用下圖所示的“順序表—連結串列”來儲存,其中順序表儲存借閱者資訊,連結串列儲存借閱者所借的各種書籍資訊(至少包含書號),借閱登記資訊的儲存結構如下示意:

(3)本次實驗的重要資料結構(如二叉平衡樹、順序表—連結串列等)都應能以檔案的形式儲存和讀取,以便隨時進行圖書管理。如果不能實現對相關資料結構的檔案儲存和訪問,則扣除10分。
(4)需要實現的三種主要功能定義如下:
①採編入庫:新購入一種書的時候,將該書的書號和購入數量登記到圖書帳目中去。如果這種書在帳中已有,則只將該書的總庫存量增加。
②借閱:如果一種書的現存量大於零,則借出一本,登記借閱者的圖書證號和歸還期限。
③歸還:登出對借閱者的登記,改變該書的現存量(如果借閱者歸還所有的書,則登出該借閱者的資訊)。
3、測試資料:
入庫書號:ISBN 7-302-02368-9,ISBN 978-7-115-16985-3/TP,ISBN 978-7-302-03314-1,ISBN7-115-10563-4/TP·3043,ISBN 978-7-121-07479-0,ISBN 978-7-115-18809-0/TP,ISBN 978-7-04-024246-1,ISBN 7-111-12886-9,ISBN 978-7-115-19601-9/TP,ISBN 7-900183-01-9。
借書證號為081716的借閱者,先借閱10種圖書各一本,後歸還圖書ISBN 7-302-02368-9和ISBN 978-7-121-07479-0。
借書證號為081710的借閱者,先借閱圖書ISBN 978-7-121-07479-0和ISBN 978-7-302-03314-110各一本,後歸還圖書ISBN 978-7-121-07479-0。
其餘資料可自行設計。
4、實現提示:
(1)各種圖書按登記的先後順序入庫(利用二叉平衡樹實現動態查詢表的插入),書號為圖書的關鍵字。初始時,二叉平衡樹為空樹。採編入庫
(2)借閱者借閱圖書時,先檢查借閱者有無超期未歸還圖書,如有,則不能借閱,如無,利用二叉平衡樹實現動態查詢表的查詢,登記借閱資訊。注意,按規定,同一種書不能重複借閱。登記借閱資訊
(3)清除庫存(選作)時,將該圖書從二叉平衡樹中刪除。
5、選作內容:
(1)實現圖書管理的清除庫存操作:某種書已無保留價值,將它從圖書帳目中登出。即,要實現二叉平衡樹的刪除操作。
(2)實現圖書管理的顯示操作:每次插入或刪除二叉平衡樹的一個結點之後,更新二叉平衡樹的顯示。二叉平衡樹的顯示可採用《資料結構題集》6.69題要求的凹入表形式,也可以採用圖形介面畫出樹形。
(3)圖書管理模擬系統的其它功能實現。

原始碼傳送門

傳送門:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111

參考資料(含參考書、文獻等):
《資料結構題集》(C語言版)嚴蔚敏 吳偉民 清華大學出版社 1999.2
教學過程設計:複習 分鐘,授新課    分鐘,安排討論 分鐘,佈置作業 分鐘,其他 分鐘
授課型別(請打√):理論課□ 討論課□ 實驗課□ 練習課□ 其他□
教學方式(請打√):講授□ 討論□ 示教□ 指導□ 其他□
教學資源(請打√):多媒體□ 模型□ 實物□ 掛圖□ 音像□ 其他□
填表說明:1、每項頁面大小可自行添減;2、教學內容與討論、思考題、作業部分可合二為一。