freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)實(shí)驗(yàn)報告-圖書管理-展示頁

2024-09-20 02:31本頁面
  

【正文】 結(jié)點(diǎn)的關(guān)鍵字均大于 Kn, n( m/2(取上限 )1=n=m1)為關(guān)鍵字的個數(shù) 基本操作: SearchBTree(T ,key)。 二、 概要設(shè)計(jì) 1. 抽象數(shù)據(jù)類型 B 樹定義如下: ADT BTree{ 數(shù)據(jù)對象: D 是具有相同 特性的數(shù)據(jù)元素的集合。查看圖書狀態(tài),以表格顯示圖書的基本信息,借閱者名單和預(yù)約者名單。 2. 借書和歸還時顯示圖書的信息。3681bd1c2b9ef87aa40ba80437378615 第 1 頁 共 31 頁 一、 需求分析 1. 書號和借閱證號、庫存量 、出版年份 用整型 表示 ;書名用 20位字符型數(shù)組,著者和借閱者姓名用30 位字符型數(shù)組 表示;圖書價格用浮點(diǎn)型表示。 圖書入庫時輸入圖書的書號、書名、著者、總量等完整信息,清除庫存時輸入圖書書號 , 借閱和歸還時輸入書號和借閱者 證號,姓名等信息 ,并記錄 系統(tǒng)時間為 借書日期。 插入、刪除后 用凹入表顯示以書號建立的 B樹 狀態(tài) 。 3. 程序所能達(dá)到的功能 ? 圖書采編入庫 (用 B 樹對書號建立索引 ) ? 清除庫存 ? 圖書 借閱 ? 圖書 歸還 ? 圖書預(yù)約 ? 列出某著者全部著作 名 ? 列出某種書的狀態(tài) (包括圖書基本信息和該書借閱者名單、預(yù)約者名單) ? 每次插入或刪除一個關(guān)鍵字后以 凹入表顯示 B 樹 的狀態(tài) ? 把一次會話過程中的全部人機(jī)對話記錄入一個日志文件中 ? 在程序主界面顯示當(dāng)前系統(tǒng)時間 4. 測試數(shù)據(jù) 入庫書號: 35, 16, 18, 70, 5, 50, 22, 60, 13, 17, 12, 45, 25, 42, 15, 90, 30, 7 然后清除: 45, 90, 50, 22, 42 圖書的其他信息見附錄。各個數(shù)據(jù)元素均含有類型相同,可惟一標(biāo)識數(shù)據(jù)元素的關(guān)鍵字。 初始條件: B 樹 T 存在, key 為和關(guān)鍵字類型相同的給定值。 InsertBTree(amp。 初始條件: B 樹 T 存在, e 為待插入的數(shù)據(jù)元素。 DeleteBTree(amp。 初始條件: B 樹 T 存在, key 為和關(guān)鍵字類型相同的給定值。 初始條件: B 樹 T 存在。 }ADT BTree 2. 抽象數(shù)據(jù)類 型書庫的定義如下: ADT Library{ 數(shù)據(jù)對象: D={ai | ai∈ BookType, i=1, 2, 3,?? n, n=0,其中 每個數(shù)據(jù)元素 ai含有類型相同,可惟一標(biāo)識數(shù)據(jù)元素的關(guān)鍵字 } 數(shù)據(jù)關(guān)系:數(shù)據(jù)元素同屬一個集合 基本操作: InitLibrary(amp。 操作結(jié)果:初始化書庫 L 為空書庫。L ,B ,result)。 操作結(jié)果: 如果書庫中已存在 B 書,則只將 B 書的庫存量增加,否則插入 B 書到書庫 L 中 。L ,amp。 初始條件:書庫 L 存在, B 為與 L 的數(shù)據(jù)元素類型相同的給定值。B ,R)。 操作結(jié)果:借出一本 B 書,登記借閱者信息,改變現(xiàn)存量,記錄結(jié)束日期等信息。B ,R)。 操作結(jié)果:若書庫 L中有讀者 R 借閱 B書的記錄,則注銷該記錄,改變 B 書現(xiàn)存量,并返回 OK,書不存在或無該讀者記錄則返回 ERROR。B ,R)。 操作結(jié)果:為讀者 R 預(yù)約 B 書(登記預(yù)約信息)。 初始條件:書庫 L 存在, author 和 L 的數(shù)據(jù)元素的某一元素有相同類型 操作結(jié)果:列出書庫中著者 author 的所有著作名。 初始條件:書庫 L 存在。 PrintAllBooks(L )。 操作結(jié)果:打印書庫 L 中所有圖書 的基本信息。 輸出操作結(jié)果 ; } } B 樹單元模塊 實(shí)現(xiàn) B 樹類型 書庫單元模塊 實(shí)現(xiàn)書庫類型 各模塊調(diào)用如下: 主程序模塊 書庫單元模塊 B 樹單元模塊 三、 詳細(xì)設(shè)計(jì) 1. 主程序中需要的全程量 define OK 1 define ERROR 0 define TRUE 1 define FALSE 0 define OVERFLOW 1 define MAX_NAME_LEN 20 //姓名最大長度 3681bd1c2b9ef87aa40ba80437378615 第 4 頁 共 31 頁 define MAX_BKNAME_LEN 30 //書名最大長度 define MAX_BOOKS 100 //書庫中一個著者最多著作數(shù) define OUT_DATE_PRICE //借書逾期一天的費(fèi)用 define KEEP_DAYS 90 //圖書出借的期限 define logfile //系統(tǒng)日志文件 define bookinfomationfile D:\\ //圖書信息文件 define borrowerfile D:\\ //借閱者名單文件 define bespeakerfile D:\\ //預(yù)約者名單文件 char *books[MAX_BOOKS]。 //著者姓名數(shù)組 int books_counter。 //定義 Status 為狀態(tài)類型 2. 書庫類型 typedef struct ReaderNode //借閱者 /預(yù)約者 結(jié)點(diǎn) { int cardnum。 //借閱者姓名 union{ struct{ tm bordate。 //還書日期 struct ReaderNode *nextr。 struct{ tm bespeakdate。 //下一個預(yù)約者指針 }。 } ReaderNode,*ReaderType。 //書號 char bookname[MAX_BKNAME_LEN]。 //著者名 int current, total。 //出版年份 float price。 //讀者鏈表指針 ReaderType bespeaker。 //圖書類型 書庫類型基本操作: void InitLibrary(Library amp。 void InsertBook(Library amp。 Status DeleteBook(Library amp。 int ReturnBook(Library L ,int b ,int r,BookType amp。R) //b 為還書書號, r 為還書者借閱證號, //若書庫中不存在書號為 b 的書,則返回 1 //若有 r 借閱 b 書的記錄,則注銷該記錄,并用 B 和 R 返回圖書信息和借閱者信息并返回 1, //若沒有 r 借閱 b 書的記錄,則用 B 返回圖書信息,并返回 0 Status ListAuthor(Library L ) //找出書庫中著者 author(author 為全局變量 )的所有著作名,保存到二維數(shù)組 books 數(shù)組中。如果 B 書現(xiàn)存量為 0,并且沒有讀者 R 預(yù)約該書的記錄, //則登記 R 的預(yù)約信息,并成功返回 OK,否則返回 ERROR。L ) { L = NULL。L ,BookType B , Result res) //書庫 L 已存在, res 包含 B 書在書庫 L 中的位置或應(yīng)該插入的位置 //如果書庫中已存在 B 書,則只將 B 書的庫存量增加,否則插入 B 書到書庫 L 中。 //如果書庫中不存在該書,則插入 else{ //如果已存在 BookType b = rec[]。 //現(xiàn)存量和總庫存增加 btotal = btotal + Btotal。L ,BookType B) //如果書庫中存在 B 書,則從書庫中刪除 B 書的信息,并返回 OK,否則返回 ERROR 3681bd1c2b9ef87aa40ba80437378615 第 6 頁 共 31 頁 { if(DeleteBTree(L,Bbooknum)) return OK。 //否則(刪除不成功)返回 ERROR } void BorrowBook(Library L ,BookType B ,ReaderType R) //書庫 L 存在, B 書是書庫中的書并且可被讀者 R 借閱(已通過 CanBorrow()判斷) //借出一本 B 書,登記借閱者 R 的信息,改變現(xiàn)存量,記錄借書日期,最遲應(yīng)還日期等信息。 //獲取當(dāng)前日期為借書日期 AddDate(Rretdate, Rbordate, KEEP_DAYS)。 //無其他借閱者,則直接登記 else{ for(r = Breader。 r= rnextr) 。 //否則到借閱者鏈表尾,登記 } Bcurrent。B ,ReaderType amp。 //搜索 b 書 if(!) return 1。 //用 B 記錄圖書信息 ReaderType pre, p=rec[]reader。 p 。 pre nextr = pnextr。 //現(xiàn)存量增 1 return 1。 //無該讀者借閱該書信息則返回 0 } Status ListAuthor(Library L ) //顯示 著者 author 的所有著作名 { int i。 //遍歷書庫,調(diào)用 ListBookName找出作者為 author的書, //書名儲存到二維 books 字符數(shù)組中 3681bd1c2b9ef87aa40ba80437378615 第 7 頁 共 31 頁 if(books_counter) //如找到著者的書,則打印出來 { printf(booknames)。 //未找到 } Status BespeakBook(BookType B ,ReaderType R) //找出書庫中著者 author(author 為全局變量 )的所有著作名,保存到二
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1