




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于文件的圖書管理系統(tǒng)項目需求 錯誤!未指定書簽??傮w設(shè)計 錯誤!未指定書簽。詳細設(shè)計 錯誤!未指定書簽。項目需求一、新書入庫圖書信息包括書名 , 書號 , 庫存量 , 現(xiàn)存量共 4 項. 首先輸入 3本書的信息 , 并將其存入文件” book.dat ”中 . 當(dāng)有新書入庫時, 先判斷文件中是否有此書( 即比較書名 ), 若有則修改庫存量, 現(xiàn)存量的信息 ; 若無此書 , 則將該書的信息添加到文件中。 二、圖書查詢輸入一個書號, 在文件中查找此書 , 若找到則輸出此書的全部信息; 若找不到則輸出查找失敗的信息。 三、借閱管理1. 每個讀者的信息包括姓名 , 編號 ,1 張借書卡 ( 限借一本
2、書 ), 輸入 3個讀 者的信息存入文件“ reader.dat ”中 .2. 借書登記 : 輸入讀者的編號, 所借圖書的書號, 先判斷姓名是否在文件“ reader.dat ”中 , 若有則將書號存入一張借書卡上 ( 注: 初始時借書卡的信息 都 為 零 , 借 書 后 借 書 卡 的 信 息 改 為 所 借 書 的 書 號 ),并 修 改 文 件“ reader.dat ”的相應(yīng)內(nèi)容, 同時修改文件“ book.dat ”中此書的現(xiàn)存量. 若“ reader.dat ”無此姓名 , 則應(yīng)提示錯誤。3. 還書管理 : 輸入讀者的編號, 所還圖書的書號, 將借書卡的信息置為零,并修改文件“ r
3、eader.dat ”的相應(yīng)內(nèi)容, 同時修改文件“ book.dat ”中此書的現(xiàn)存量。 四、輸出全部圖書信息和全部讀者信息 五、退出系統(tǒng) 六、附加說明系統(tǒng)將來完善的功能有:添加讀者;一位讀者可同時借閱和歸還多本圖書等總體設(shè)計一、系統(tǒng)主功能模塊1. 新書入庫模塊:可用一個函數(shù)insert_new_book(char book_num,charbook_name口,int number)來實現(xiàn)。形參分別為:書名,書號,以及有多少本書要 入庫, 再根據(jù)要求將信息寫入文件boot.dat 中。 又由于最開始要輸入三本新書,故可以加一個初始化函數(shù)init_book() ,但是初始化函數(shù)只執(zhí)行一次,也就
4、是在系統(tǒng)第一次運行的時候執(zhí)行,此時可以根據(jù)判斷是否存在boot.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)借書登
5、記模塊:可用一個函數(shù)borrow_book(char reader_num,charbook_num) 來實現(xiàn)。在函數(shù)中要分別判斷:a. 該讀者的編號是否已經(jīng)存在,如果不存在,則提示錯誤。b. 該讀者的借閱書是否已滿(即最多只能借1 本書)如果是,則提醒該用戶先去還書。c. 輸出的書號對應(yīng)的書是否存在, 如果不存在, 則提醒讀者不存在此書。借書過程完成后,則對讀者信息里的借書信息寫上所借書號,并修改庫存量。( 3)還書管理模塊:可用一個函數(shù)return_book(char reader_num,charbook_num) 來實現(xiàn)。在實現(xiàn)此函數(shù)時要判斷:a. 該讀者的姓名是否已經(jīng)存在,如果不存在
6、,則提示錯誤。b. 該讀者是否已經(jīng)借閱此書。如果沒有,則提示錯誤。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)圖:請選擇相應(yīng)的數(shù)字執(zhí)行相應(yīng)的功能:0:退出此系統(tǒng)1:新書入庫2:圖書查詢3:借書登記4:還書管理5:輸出全部圖書信息和讀者信息各子界面如下:1 .新書入庫界面:請
7、選擇相應(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)的功能:40:返回主菜單41:還書登記請輸入讀者編號:請輸入所借書號:(注:還書過程完成后,返回到子界面4)5.
8、輸出全部圖書和讀者信息:請選擇相應(yīng)的數(shù)字執(zhí)行相應(yīng)的功能:50:返回主菜單 51:輸出全部圖書信息:書號書名: 庫存量現(xiàn)存量52:輸出全部讀者信息:讀者編號讀者姓名 所借書號5)、數(shù)據(jù)結(jié)構(gòu)設(shè)計考慮到圖書信息和讀者信息中都包含有不同類型的數(shù)據(jù), 故分別建立圖書和讀者兩種類型的結(jié)構(gòu)體; 由于圖書和讀者的數(shù)量非固定, 所以采用動態(tài)鏈式存儲來實現(xiàn)。圖書類型:typedef struct bkchar book_num11; /* 書號采用10位編碼最后1位為字符串結(jié)束標志(下同 )* /char book_name41; /* 書名規(guī)定不超過40 個字母( 20 個漢字) */unsigned book
9、_kc,book_xc; /* book_kc 代表庫存梁, book_xc 代表現(xiàn)存量*/struct bk *next;book;讀者類型:typedef struct rdchar reader_num11; /* 讀者編號采用 10 位編碼 */char reader_name11; /* 讀者姓名 */char reader_book_num11; /* 表示所借書號,初始值為“0 ” */struct bk *next;reader;三、主要功能流程圖1.系統(tǒng)主要結(jié)構(gòu)流程圖:新書入庫2.新書入庫功3.圖開始初始化F初始化FF輸入信息:此書不存在L耶狎脩路徑產(chǎn)5g書查詢借閱登記,立開始開始4.而B登書號和新書彳絹功能選擇 開始 輸入要查詢的書號_T還5.根據(jù)數(shù)量修改庫存0F還有新還書管理of由主菜單)口帝退出系統(tǒng)F重5152T輸出畬部讀者信息FT是容罐羸者信7ET結(jié)束土全部圖書信息胸入避書的書的編號輸輸出輸血陶扇信息 思琛碑期,tsgXtlXe 及 book.dat
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 標準離婚合同全文
- 新能源汽車銷售代理合同
- 商品房買賣合同示例
- 畢業(yè)生檔案托管合同協(xié)議書
- 廣告投放合同「樣本」
- 多人合伙經(jīng)營合同范例大全
- 屋頂防水修繕項目合同
- 戶外廣告LED大屏租賃合同
- 稻谷購銷合同樣本
- 腎性貧血的治療課件
- 材料力學(xué)第4版單輝祖習(xí)題答案
- 廣州市小學(xué)生學(xué)籍表
- 患者跌倒的預(yù)防護理操作考核評分標準
- 風(fēng)電施工組織設(shè)計
- GB/T 42828.2-2023鹽堿地改良通用技術(shù)第2部分:稻田池塘漁農(nóng)改良
- 泡沫混凝土教學(xué)課件
- 國際反洗錢師cams考試真題中文版題庫匯總(含答案)
- DB33-T 2477-2022 消防物聯(lián)網(wǎng)系統(tǒng)對接技術(shù)規(guī)范
- (完整版)離婚協(xié)議書標準版下載
- 2023年安徽高校教師崗前培訓(xùn)結(jié)業(yè)統(tǒng)考試題及參考答案
- 聽胎心音操作評分標準
評論
0/150
提交評論