




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、圖書管理系統(tǒng)實驗報告班級:軟件工程0807程序員:趙博聰 200826630726傅欽聰 200826630708成金誠 2008266307042009.6報告目錄1總體說明1.1需求說明1.11需求分析1.12系統(tǒng)性能1.2功能介紹詳細功能登錄讀者模塊工作人員模塊管理員模塊1.3設計思路2數(shù)據設計與程序實現(xiàn):2.1數(shù)據設計圖書數(shù)據設計讀者數(shù)據設計其他用戶數(shù)據設計存儲文件設計2.2類的作用 people類 reader類2.2.3 workers類 manger類2.2.5 book類 DBFile類3數(shù)據測試3.1選擇登錄類型.3.1.1讀者登錄.3.1.2工作人員登陸.管理人員登陸.讀者
2、注冊.退出系統(tǒng).4 總結:111總體說明1.1需求說明1.1.1需求分析1 能夠實現(xiàn)讀者可以自助注冊。2 能夠實現(xiàn)多種關鍵字查書,及查看所有館藏書目功能。3 實現(xiàn)管理人員借書,還書功能。4 實現(xiàn)管理人員,對于讀者,工作人員的修改(包括添加刪除)5 能夠實現(xiàn)管理人員添加,修改館藏書目。6 能夠實現(xiàn)上層人員查看下層人員信息。1.1.2系統(tǒng)性能1 系統(tǒng)安全2 功能齊全3 實現(xiàn)一般的糾錯功能(即對讀者一般的輸入錯誤判斷)4 易于維護和擴充數(shù)據1.2功能介紹圖書管理系統(tǒng)(LMS)用于圖書館進行圖書的管理,主要的功能包括借書、還書、查找等。不同的使用對象具有不同的權限,詳細見下表:表 1 系統(tǒng)功能表使用對
3、象功能詳細功能讀者查看/修改個人信息,查看個人借閱信息查詢圖書信息(根據不同字段查詢)工作人員查詢讀者信息(個人信息和讀者借書情況)還書借書查詢圖書信息(根據不同字段查詢)管理人員維護圖書信息添加、編輯圖書信息維護讀者信息添加、刪除、編輯讀者信息維護人員信息添加、刪除工作人員信息查詢圖書信息(根據不同字段查詢)1.2.1詳細功能簡介登錄選擇登錄身份(讀者、工作人員、管理員),輸入用戶名和密碼,成功后進行相應的功能模塊。讀者模塊讀者可以查找館藏書目,了解圖書館有哪些書,是否可借。(可選擇根據不同字段查找書本也可全顯書本)讀者可以查看個人借書情況和修改基本個人信息、修改密碼。工作人員模塊可以查找館
4、藏書目,了解圖書館有哪些書,是否可借。根據讀者用戶名查詢讀者信息,顯示該讀者基本信息,和借書情況。讀者信息高級查找可以根據姓名等其他信息進行查找(可選功能)借書功能:首先輸入讀者用戶名,在該狀態(tài)下依次輸入該讀者借的書,完成圖書的借閱工作。還書功能:直接輸入圖書號,將該書的信息改為入庫,并修改讀者的借書記錄。管理員模塊可以查找館藏書目,了解圖書館有哪些書,是否可借。維護圖書信息:添加:進入添加狀態(tài),根據提示依次輸入圖書的基本信息,默認狀態(tài)下為繼續(xù)輸入。修改:輸入書號,找到該書,根據提示選擇該圖書需要修改的字段,并進行修改。刪除:刪除工作人員,讀者1.3設計思路采用面向對象的方式實現(xiàn)圖書管理系統(tǒng),
5、根據不同的使用權限,使用對象分為讀者、工作人員和管理員。圖 11 系統(tǒng)主要類結構圖分別設計讀者類、工作人員類、管理員類(如上圖),人員類為基類實現(xiàn)通用的功能。(如查找圖書信息)用文本文件進行數(shù)據的保存,需要保存的數(shù)據主要包括圖書數(shù)據、用戶數(shù)據(包括讀者、工作人員、管理員)。設置數(shù)據操作類,實現(xiàn)所有的文本操作相關的功能。2數(shù)據設計與類的作用2.1數(shù)據設計圖書數(shù)據設計表 2 book文件字段設計表字段名稱中文名類型no書號Intname書名Char(40)author作者Char(20)press出版社Char(40)storenum藏書量Intborrownum借出數(shù)Int讀者數(shù)據設計表 3 U
6、sers文件字段設計字段名稱中文名類型Name用戶名Char(15)Truename真實姓名Char(10)Password登錄密碼Char(9)Name真實姓名Char(20)Sex性別Char(3)borrows借閱書數(shù)目IntBorrow所借閱的書號Int(5) 其他用戶數(shù)據設計表 4 其他用戶(管理員,工作人員)字段設計字段名稱中文名類型Name用戶名Char(15)password密碼Char(10)存儲文件設計reader.txt 存儲讀者信息,數(shù)據順序為 用戶名,密碼,性別,年齡,書名號manager.txt 存儲管理員信息,數(shù)據順序為 用戶名,密碼worker.txt 存儲工作
7、人員信息, 數(shù)據順序為 用戶名,密碼book.txt 存儲書本信息,數(shù)據順序為 書名號,書名,作者,出版社,館藏數(shù)量,借出數(shù)量2.2類的作用2.2.1people類(基類)people類包含成員:char name15/儲存用戶名char password10/儲存密碼people()/成員函數(shù)有默認構造函數(shù)virtual people()/虛析構函數(shù)函數(shù)char *getname()/讀取用戶名char *getpass()/讀取密碼void setname(char *)/設置用戶名void setpass(char *)/設置密碼void search_book(book*)/跳出查書界
8、面函數(shù)book* find_book (long,book*),void search_one_book(book* Bhead)/用于按書號查找圖書函數(shù)void print_all_book(book*)/查看全部圖書reader類(people類派生)reader類包含成員:char sex2/儲存性別int age/儲存年齡int borrows/儲存借書總數(shù)long borrow10/ 儲存具體借書reader* next/連接下一個的鏈表reader()/成員函數(shù)有默認構造函數(shù)virtual reader()/虛析構函數(shù)函數(shù)void output()/輸出讀者信息函數(shù)void upd
9、ate_reader()/修改個人信息函數(shù)void output_borrows(book*)/查看個人借書情況。workers類(people類派生) workers類包含成員:char sex2/儲存性別int age/儲存年齡worker*next/連接下一個的鏈表worker()/成員函數(shù)有默認構造函數(shù)virtual worker()/虛析構函數(shù)函數(shù)void borrow_book(reader*,book*)/借書函數(shù)void return_book(reader*,book*)/還書函數(shù)reader* find_reader(char*,reader*)/查看讀者信息友元函數(shù)fri
10、end istream& operator >>(istream& in,worker& w)/重載>>操作符manger類(people類派生)manger類包含成員:char sex2/儲存性別int age/儲存年齡manger* next/連接下一個的鏈表manger()/成員函數(shù)有默認構造函數(shù)virtual manger()/虛析構函數(shù)函數(shù)reader* find_reader(char*,reader*), void update_reader (reader*)/更新讀者信息函數(shù)worker* find_worker(char*,w
11、orker*),void update_worker(worker*&),void update_add_worker(worker*),void update_delete_worker (worker*&)/更新工作人員信息函數(shù)void update_book (book*&),void update_add_book(book*),void update_delete_book(book*&),void update_revise_book(book*)/更新圖書館藏書信息book類book類包含成員:long no/儲存書號char name40/儲存書
12、名char author20/ 儲存作者char press40/ 儲存出版社int storenum/儲存館藏數(shù)目int borrownum/儲存借書數(shù)目book* next/連接下一個的鏈表book()/成員函數(shù)有默認構造函數(shù)virtual book()/虛析構函數(shù)函數(shù)void output()/輸出圖書信息友元函數(shù)friend ostream& operator <<(ostream& ou,const book& b),friend istream& operator >>(istream& in,book& b)
13、/重載操作符<<和>>DBFile類該類的每個對象操作一個數(shù)據文件,包含讀、存、查找、刪除數(shù)據的函數(shù):函數(shù)book* load_book(),reader* load_reader(),worker* load_worker(),manger* load_manger()/讀入文檔中的書,讀者,工作人員和管理人員的數(shù)據函數(shù)void login_reader(reader* Rhead,book* Bhead),void login_worker(worker* Whead,book* Bhead,reader* Rhead),void login_manger(mang
14、er* Mhead,book* &Bhead,reader* Rhead,worker* &Whead)/讀者 工作人員和管理人員的登錄函數(shù)void dealchoice(reader* here,book* Bhead),void dealchoice(worker* here,book* Bhead,reader* Rhead),void dealchoice(manger* here,worker *&Whead,book* &Bhead,reader* Rhead)/登錄后讀者 工作人員和管理人員的相關操作函數(shù)void registerreader(re
15、ader* Rhead)/新讀者的注冊函數(shù)void save_book(book* Bhead),void save_reader(reader* Rhead),void save_worker(worker* Whead),void save_system(book* Bhead,reader* Rhead,worker* Whead)/保存數(shù)據到文檔3數(shù)據測試:3.1選擇登錄類型如圖為登入界面,根據用戶的需要選擇登入的方式3.1.1讀者登錄選擇2之后進入讀者登入界面,如果輸入不正確會出現(xiàn)如圖:輸入正確后會出現(xiàn):選查看館藏書目:按書號查詢:1234 您所查詢的書不存在 繼續(xù)查詢輸入1,否則輸
16、入0:0 查看所有圖書,就會顯示如圖。返回查看個人借閱信息修改個人信息:(1)修改年齡 (2)修改姓名 (3)修改密碼 (4)退出登入查看個人信息:退出登錄返回上層3.1.2工作人員登錄請輸入用戶名:A 請輸入密碼:1234密碼錯誤!是否重新輸入?(是輸入1,不是輸入0)1請輸入用戶名:AA請輸入密碼:123456 該用戶不存在!是否重新輸入?(是輸入1,不是輸入0)0借書:(1)輸入讀者用戶名 :zbc(2)輸入書號:1234 沒有該書!請重新輸入 輸入書號:abcd沒有該書!請重新輸入 輸入書號:10001借書成功還書:()輸入讀者用戶名 :bbc沒有該用戶!請重新輸入! ()輸入要還書號
17、:10002 此讀者未借此書圖書信息查詢:()按書號查詢()查看所有圖書(3)返回讀者信息查詢:輸入讀者信息 zbc退出登入3.1.3管理人員登錄請輸入用戶名:zbc請輸入密碼:0311 該用戶不存在是否重新輸入?(是輸入1,不是輸入0)1請輸入用戶名:yeyang 請輸入密碼:000000登入界面如下查找圖書館藏書:(1)按書號查看:12343 您所查詢的書不存在 繼續(xù)查詢輸入1,否則輸入0:繼續(xù)查詢輸入1,否則輸入0:0 (2)查看所有圖書(3)返回更新圖書館藏書:(1)添加:輸入書名 abc,輸入作者zbc ,輸入出版社zjut,輸入館藏量2,添加成功! 是否繼續(xù)添加?<是輸入1,
18、否輸入0>(2)刪除:請輸入要刪除的圖書號: 10001 此書刪除成功! (3)編輯:1.修改書名2.修改作者3.修改館藏數(shù)目4.修改出版社(4)返回讀者信息維護:(1)修改年齡 (2)修改姓名(3)修改密碼 工作人員信息維護:(1)添加工作人員:輸入用戶面:ggm 輸入密碼:ggm 添加成功!是否繼續(xù)添加?(是輸入1,否輸入0):0(2)刪除工作人員:請輸入刪除工作人員的賬號:ggm 刪除成功?。?)返回 3.1.4讀者注冊1.請輸入你的用戶名: yeyang2.請輸入四位密碼: 1234 3. 輸入新性別(男輸入1,女輸入0):14. 輸入新年齡 :19 3.1.5退出系統(tǒng)4實驗總結實驗剛開始的時候,完全不知道從何入手,多次閱讀一些有關資料整理之后了解了實驗要求,確定了類。之后從類的書寫入手,一個個編寫完善。我們十分珍惜此次C+大型實驗的機會,通過自己的努力,學會了如何用C+編寫一個簡單的管理系統(tǒng)。首先要對程序的設計要求有比較明確的認識,然后是系統(tǒng)分析與系統(tǒng)設計,最后
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學輔導員崗位面試問題及答案
- 茶葉采購員崗位面試問題及答案
- 2025屆河南省豫南九校高二化學第二學期期末質量跟蹤監(jiān)視模擬試題含解析
- 2025屆西藏自治區(qū)日喀則市南木林高中高二化學第二學期期末學業(yè)質量監(jiān)測模擬試題含解析
- 機構資質認證管理辦法
- 佛山工程合同管理辦法
- 農村供水資產管理辦法
- 物業(yè)服務人員年度培訓體系構建與實施效果評估
- 檢修班組培訓管理辦法
- 空調自控系統(tǒng)運行驗證與性能評估方案
- 【公開課】三角形的邊+課件+2025-2026學年人教版八年級數(shù)學上冊
- 2025年廣東省普通高中學業(yè)水平合格性考試模擬一歷史試題(含答案)
- 【公開課】+分子動理論的初步知識(教學課件)2025-2026學年初中物理人教版(2024)九年級全一冊
- 2025至2030中國角膜塑形鏡行業(yè)產業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2023aki的預防診斷和管理
- 2025年4月自考03346項目管理試題
- 慢性腎衰竭患者心理的護理
- 艾梅乙反歧視培訓課件
- 2024年安徽外國語學院輔導員考試真題
- 2025年經濟法與金融監(jiān)管專業(yè)考試試題及答案
- 菱鎂礦行業(yè)研究報告
評論
0/150
提交評論