下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于文件的圖書管理系統(tǒng)項目需求 1總體設(shè)計 2詳細設(shè)計 3項目需求一、新書入庫 圖書信息包括書名 , 書號, 庫存量 , 現(xiàn)存量共 4 項. 首先輸入 3本書的信息 , 并將其存入文件” book.dat ”中 . 當(dāng)有新書入庫時 , 先判斷文件中是否有此書 ( 即比較書名 ), 若有則修改庫存量 , 現(xiàn)存量的信息 ; 若無此書 , 則將該書的 信息添加到文件中。二、圖書查詢 輸入一個書號 , 在文件中查找此書 , 若找到則輸出此書的全部信息 ; 若找不 到則輸出查找失敗的信息。三、借閱管理1. 每個讀者的信息包括姓名 , 編號,1 張借書卡 ( 限借一本書 ), 輸入3個讀 者的信息存入文件
2、“ reader.dat ”中 .2. 借書登記 :輸入讀者的編號 , 所借圖書的書號 , 先判斷姓名是否在文件 “reader.dat ”中 , 若有則將書號存入一張借書卡上 ( 注: 初始時借書卡的信 息都為零, 借書后借書卡的信息改 為所借書的書號), 并修改文件 “reader.dat ”的相應(yīng)內(nèi)容 , 同時修改文件“ book.dat ”中此書的現(xiàn)存量 . 若 “reader.dat ”無此姓名 , 則應(yīng)提示錯誤。3. 還書管理 : 輸入讀者的編號 , 所還圖書的書號 , 將借書卡的信息置為零 , 并修改文件“ reader.dat ”的相應(yīng)內(nèi)容 , 同時修改文件“ book.dat
3、 ”中此書的現(xiàn) 四、輸出全部圖書信息和全部讀者信息五、退出系統(tǒng)六、附加說明系統(tǒng)將來完善的功能有:添加讀者;一位讀者可同時借閱和歸還多本圖書等 等??傮w設(shè)計一、系統(tǒng)主功能模塊1. 新書入庫模塊:可用一個函數(shù) insert_new_book(char book_num,char book_name,int number)來實現(xiàn)。形參分別為:書名,書號,以及有多少本書要 入庫,再根據(jù)要求將信息寫入文件 boot.dat 中。又由于最開始要輸入三本新書, 故可以加一個初始化函數(shù) init_book() ,但是初始化函數(shù)只執(zhí)行一次,也就是在 系統(tǒng)第一次運行的時候執(zhí)行,此時可以根據(jù)判斷是否存在 boot.
4、dat 這個文件來 決定是否執(zhí)行初始化函數(shù)。2. 查詢模塊:可用一個函數(shù) void find_book(char book_num) 來實現(xiàn)。找 到就輸出此書全部信息,找不到就輸出查找失敗信息。3. 借閱管理模塊:(1) 三個讀者的信息可以在系統(tǒng)初始化時完成. 即可用初始化函數(shù) init_reader() 來實現(xiàn)對讀者的初始化。因為讀者初始化函數(shù)也只是在系統(tǒng)第一 次運行的時候執(zhí)行一次,故也可以根據(jù)是否存在 reader.dat 文件來確定是否執(zhí) 行此函數(shù)。(到現(xiàn)在可以發(fā)現(xiàn)在系統(tǒng)初始化函數(shù)里,至少已經(jīng)需要調(diào)用兩個初始 化函數(shù)了)(2) 借書登記模塊:可用一個函數(shù) borrow_book(char
5、 reader_num,char book_num) 來實現(xiàn)。在函數(shù)中要分別判斷:a. 該讀者的編號是否已經(jīng)存在,如果不存在,則提示錯誤。b. 該讀者的借閱書是否已滿(即最多只能借1本書)如果是,則提醒該用戶先去還書。c. 輸出的書號對應(yīng)的書是否存在, 如果不存在, 則提醒讀者不存在此書。 借書過程完成后,則對讀者信息里的借書信息寫上所借書號,并修改庫(3) 還書管理模塊:可用一個函數(shù) return_book(char reader_num,char book_num)來實現(xiàn)。在實現(xiàn)此函數(shù)時要判斷:a. 該讀者的姓名是否已經(jīng)存在,如果不存在,則提示錯誤。b. 該讀者是否已經(jīng)借閱此書。如果沒有,
6、則提示錯誤。c. 還書過程完成后,則對讀者信息里的借書信息清零,并修改庫存量。3. 輸出圖書和讀者信息:可分別用模塊print_book()和print_reader()來實現(xiàn),直接從book.dat文件和reader.dat文件中讀取信息并輸出。4. 退出系統(tǒng):可用一個函數(shù)exit()來實現(xiàn)。首先將信息保存到文件,釋放動 態(tài)創(chuàng)建的內(nèi)存空間,再退出此程序。二、系統(tǒng)主功能模塊結(jié)構(gòu)圖:圖書管理系統(tǒng)詳細設(shè)計、界面設(shè)計此系統(tǒng)界面采用圖形和數(shù)字化菜單設(shè)計。主界面設(shè)計如下:圖書管理系統(tǒng)圖書管理系統(tǒng)主菜單 請選擇相應(yīng)的數(shù)字執(zhí)行相應(yīng)的功能: 0:退出此系統(tǒng) 1:新書入庫 2:圖書查詢 3:借書登記 4:還書管
7、理 5:輸出全部圖書信息和讀者信息各子界面如下:1. 新書入庫界面: 請選擇相應(yīng)的數(shù)字執(zhí)行相應(yīng)的功能: 10:返回主菜單 11:新書入庫 請輸入新書名: 請輸入新書號: 請輸入新書數(shù)量:(注:新書入庫成功后,程序返回到子界面 1)2. 圖書查詢界面界面: 請選擇相應(yīng)的數(shù)字執(zhí)行相應(yīng)的功能: 20:返回主菜單 21:圖書查詢 請輸入需要查詢的書號: (注:圖書查詢完成后,返回到子界面 2)'3.借書登記界面:請選擇相應(yīng)的數(shù)字執(zhí)行相應(yīng)的功能: 30:返回主菜單 31:借書登記 請輸入讀者編號: 請輸入所借書號:(注:借書過程完成后,返回到子界面 3)4. 還書管理: 請選擇相應(yīng)的數(shù)字執(zhí)行相應(yīng)
8、的功能: 40:返回主菜單 41:還書登記請輸入讀者編號:請輸入所借書號: (注:還書過程完成后,返回到子界面 4)現(xiàn)存量5. 輸出全部圖書和讀者信息: 請選擇相應(yīng)的數(shù)字執(zhí)行相應(yīng)的功能: 50:返回主菜單 51:輸出全部圖書信息: 書號書名:庫存量52:輸出全部讀者信息 : 讀者編號讀者姓名所借書號(注:輸出圖書和讀者信息后,返回到子界面 5)二、數(shù)據(jù)結(jié)構(gòu)設(shè)計考慮到圖書信息和讀者信息中都包含有不同類型的數(shù)據(jù), 故分別建立圖書和 讀者兩種類型的結(jié)構(gòu)體; 由于圖書和讀者的數(shù)量非固定, 所以采用動態(tài)鏈?zhǔn)酱鎯?來實現(xiàn)。圖書類型:typedef struct bkchar book_num11; /* 書號采用 10位編碼最后 1位為字符串結(jié)束標(biāo)志 (下同 )* / char book_name41; /*書名規(guī)定不超過 40 個字母( 20 個漢字) */unsigned book_kc,book_xc; /* book_kc 代表庫存梁, book_xc 代表現(xiàn)存量 */ struct bk *next;book;讀者類型:typedef struct rdchar reader_num11; /
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藝術(shù)展覽設(shè)計師的空間布局與藝術(shù)呈現(xiàn)
- 年產(chǎn)100萬套轉(zhuǎn)椅配件及15萬套成品生產(chǎn)線項目可行性研究報告模板-立項拿地
- 2025年全球及中國自鎖平頭螺母行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球自由式風(fēng)帆板行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球鈣鈦礦太陽光模擬器行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球生命科學(xué)服務(wù)行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球無人機測繪系統(tǒng)行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國碳捕獲與利用技術(shù)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球汽車空調(diào)電機行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國家用前置過濾器行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 二零二五版電力設(shè)施維修保養(yǎng)合同協(xié)議3篇
- 最經(jīng)典凈水廠施工組織設(shè)計
- VDA6.3過程審核報告
- 2024-2030年中國并購基金行業(yè)發(fā)展前景預(yù)測及投資策略研究報告
- 2024年湖南商務(wù)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫帶答案
- 骨科手術(shù)中常被忽略的操作課件
- 《湖南師范大學(xué)》課件
- 2024年全國各地中考試題分類匯編:作文題目
- 2024年高壓電工操作證考試復(fù)習(xí)題庫及答案(共三套)
- 《糖拌西紅柿 》 教案()
- 彈性力學(xué)數(shù)值方法:解析法:彈性力學(xué)中的變分原理
評論
0/150
提交評論