久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

瑞天圖書管理系統手冊

時間:2019-05-14 14:41:15下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《瑞天圖書管理系統手冊》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《瑞天圖書管理系統手冊》。

第一篇:瑞天圖書管理系統手冊

北創軟件

瑞天圖書管理系統標準版

第1章 快速入門..............................................................................3 第1節 系統簡介..................................................................................3 第2節 條碼知識..................................................................................4 第3節 解決方案..................................................................................6 第4節 操作流程..................................................................................8 第2章 各菜單功能介紹..................................................................9 第1節 主工具欄介紹...........................................................................9 第2節 系統設置................................................................................10 ??備份管理?????????????????????????????????????????????????????????????????????????????????????????????????? ??導入數據?????????????????????????????????????????????????????????????????????????????????????????????????? ??系統界面?????????????????????????????????????????????????????????????????????????????????????????????????? ??系統參數?????????????????????????????????????????????????????????????????????????????????????????????????? ??切換用戶?????????????????????????????????????????????????????????????????????????????????????????????????? ??修改密碼?????????????????????????????????????????????????????????????????????????????????????????????????? ??暫時離開?????????????????????????????????????????????????????????????????????????????????????????????????? ??用戶管理?????????????????????????????????????????????????????????????????????????????????????????????????? ??系統初始化?????????????????????????????????????????????????????????????????????????????????????????????? ??數據庫連接管理?????????????????????????????????????????????????????????????????????????????????????? ??讀卡器設置?????????????????????????????????????????????????????????????????????????????????????????????? ??退出系統?????????????????????????????????????????????????????????????????????????????????????????????????? 第3節 資料管理................................................................................25 ??類別資料維護?????????????????????????????????????????????????????????????????????????????????????????? ??書籍資料管理?????????????????????????????????????????????????????????????????????????????????????????? ??期刊資料管理?????????????????????????????????????????????????????????????????????????????????????????? ??其他物品管理?????????????????????????????????????????????????????????????????????????????????????????? ??讀者資料管理?????????????????????????????????????????????????????????????????????????????????????????? ??資料下架管理?????????????????????????????????????????????????????????????????????????????????????????? ??批量刪除管理?????????????????????????????????????????????????????????????????????????????????????????? ??快速新增資料??????????????????????????????????????????????????????????????????????????????????????????

北創軟件

瑞天圖書管理系統標準版

??資料打印?????????????????????????????????????????????????????????????????????????????????????????????????? ??數據自動生成?????????????????????????????????????????????????????????????????????????????????????????? 第4節 常用操作................................................................................46 ??借閱管理?????????????????????????????????????????????????????????????????????????????????????????????????? ??帳務管理?????????????????????????????????????????????????????????????????????????????????????????????????? ??會員管理?????????????????????????????????????????????????????????????????????????????????????????????????? ??辦卡管理?????????????????????????????????????????????????????????????????????????????????????????????????? ??押金充值?????????????????????????????????????????????????????????????????????????????????????????????????? ??備忘管理?????????????????????????????????????????????????????????????????????????????????????????????????? ??借閱查詢?????????????????????????????????????????????????????????????????????????????????????????????????? ??預借詳情?????????????????????????????????????????????????????????????????????????????????????????????????? ??借閱流水?????????????????????????????????????????????????????????????????????????????????????????????????? ??逾期列表?????????????????????????????????????????????????????????????????????????????????????????????????? ??統計分析?????????????????????????????????????????????????????????????????????????????????????????????????? ??數據盤點單?????????????????????????????????????????????????????????????????????????????????????????????????條碼驗證???????????????????????????????????????????????????????????????????????????????????????????????????第3章 技術支持............................................................................60

北創軟件

瑞天圖書管理系統標準版

第1章 快速入門

第1節 系統簡介

《瑞天圖書管理系統標準版》是一款功能非常強大的圖書管理軟件,本系統在繼承以往系統版本優點的基礎上做了進一步優化;在功能上,本系統不僅包含圖書管理的常用功能(如書籍管理、期刊管理、物品管理、讀者管理、借、還、預借、續借圖書和統計分析等等功能),而且還增加了條碼的生成和打印功能(不僅為使用者省去了購買價格昂貴的條碼專用打印機的費用,而且條碼產生更方便,與系統結合更緊密)。

本系統具有操作簡單,易學易用的特點。在開發過程中,我們總結了多年使用電腦管理圖書館業務的經驗,注意到工作人員在使用電腦時容易發生的人為錯誤,因而使系統具有較強的容錯和排錯功能,而且本系統自帶了一些常用的資料庫(如中圖分類庫,出版社庫等,系統會自動根據圖書的標準ISBN碼檢索出當前圖書的出版社名稱和出版地點等,從而實現圖書的自動錄入的功能),使得用戶在錄入圖書資料時更輕松;系統也自帶了通用數據導入功能,可以非常簡單地把用戶以前的已有資料或者通過采集器采集到的數據資料導入到本系統中,避免了大量的重復勞動。經過長時間的不斷測試和完善,系統的安全性和穩定性得到保證。

本系統可以配合條碼掃描槍使用,操作會更流暢,更簡單。

技術簡介: 本系統采用Adaptive Server Anywhere數據庫、C/S結構,;可運行于 Windows98/WindowsNT/2000/Xp/2003/vista/win7平臺,有良好的兼容性、先進性與擴充性;可在線升級。

系統特點:操作簡單、界面清晰、功能強大、運行穩定快速、系統資源占用少。

北創軟件

瑞天圖書管理系統標準版

第2節 條碼知識

條碼是由一組按一定編碼規則排列的條、空符號,用以表示一定的字符、數字及符號組成的信息;是為實現對信息的自動掃描而設計的;它是實現快速、準確而可靠地采集數據的有效手段。

條形碼按碼制不同可分有很多種,這里只針對最常用的,也是與本系統所用條碼相關的一些條形碼進行簡要介紹說明:

1、UPC碼:1973年,美國率先在國內的商業系統中應用于UPC碼之后加拿大也在商業系統中采用UPC碼。UPC碼是一種長度固定的連續型數字式碼制,其字符集為數字0~9。它采用四種元素寬度,每個條或空是1、2、3或4倍單位元素寬度。UPC碼有兩種類型,即UPC-A碼和UPC-E碼。

2、EAN碼:1977年,歐洲經濟共同體各國按照UPC碼的標準制定了歐洲物品編碼EAN碼,與UPC碼兼容,而且兩者具有相同的符號體系。EAN碼的字符編號結構與UPC碼相同,也是長度固定的、連續型的數字式碼制,其字符集是數字0~9。它采用四種元素寬度,每個條或空是1、2、3或4倍單位元素寬度。EAN碼有兩種類型,即EAN-13碼和EAN-8碼。3、39碼:39碼是第一個字母數字式碼制。1974年由Intermec公司推出。它是長度可比的離散型自校驗字母數字式碼制。其字符集為數字0—9,26個大寫字母和7特殊字符(“+”、“-”、“*”、“/”、“%”、“$”、“.”),共43個字符。每個字符由9個元素組成,其中有5個條(2個寬條,3個窄條)和4個空(1個寬空,3個窄空),是一種離散碼。

本系統所采用的條碼:

1、ISBN碼(10位):

國際標準書號(International Standard Book Number,簡稱 ISBN),是為應圖書出版、管理的需要,并便于國際間出版品的交流與統計所發展的一套國際統一的編號制度,由一組冠有[ISBN]代號(978)的十位數碼所組成,用以識別出版品所屬國別地區或語言、出版機構、書名、版本及裝訂方式。這組號碼也可以說是圖書的代表號碼。國際標準書號有助于簡化圖書發行及管理手續,便于出版品4 統計及國際交流。世界各地的出版機構、書商、及圖書館都可以利用國際標準書

北創軟件

瑞天圖書管理系統標準版

號迅速而有效的識別某一本書及其版本、裝訂形式。不論原書是以何種文字書寫,都可用電報或電話傳真訂購,并以電腦作業處理。

制作條碼時,EAN碼中圖書類的代碼是978,即只要將EAN的國家代碼部分改為978,再重新計算檢查碼,即為ISBN條碼,其余處理均相同。簡單來說,ISBN與EAN的對應關系為:978 + ISBN前9碼 + EAN檢查碼。

2、ISSN碼(8位):

國際標準期刊號(International Standard Serial Number,簡稱 ISSN),是根據國際標準組織 1975年制訂之 ISO-3297 的規定,由設于法國巴黎的國際期刊資料系統中心(International Serial Data System-ISDS International Center)所賦予申請登記的每一種刊物一個具有識別作用且通行國際間的統一編號。

「期刊」是指任何一系列定期或不定期連續出版的刊物,它們通常以一定的刊名發行,以「年月日」,「年月」或數字標明卷、號、期數。市面上常見的期刊、雜志、叢刊、年刊等大都屬于國際標準期刊號的編號與編碼范圍。每一種期刊在注冊登記時,就得到一個永久專屬的 ISSN,一個 ISSN 只對應一個刊名;而一個刊名也只有一個 ISSN。所以當該刊名變更時,就得另申請一個 ISSN。如果期刊停刊,那么被刪除的 ISSN 也不會被其他期刊再使用。因此,國際期刊資料系統中心在分配 ISSN 時,必須為該期刊編訂一個有別于其他期刊刊名的識別題名(Key Title)。

每組 ISSN 系由八位數字構成,分前后兩段,每段四位數,其中后段的最末一位數字為檢查號,如:ISSN 0211 9153。制作條碼時,將ISBN碼中的「978」部份更改為「977」即為ISSN碼。ISSN與EAN的對應關系為:977 + ISSN前7碼 + 00 + EAN檢查碼。

3、EAN13碼(13位):

標準碼共13位數,系由「國家代碼」3位數,「廠商代碼」4位數,「產品代碼」5位數,以及「檢查碼」1位數組成。

4、39碼(位數不限):

39碼是西元1974年發展出來的條碼系統,是一種可供使用者雙向掃描的分散式條碼,也就是說相臨兩資料碼之間,必須包含一個不具任何意義的空白(或細

北創軟件

瑞天圖書管理系統標準版

白,其邏輯值為0),且其具有支援文數字的能力,故應用較一般一維條碼廣泛,目前較主要利用于工業產品、商業資料及醫院用的保健資料,它的最大優點是碼數沒有強制的限定,可用大寫英文字母碼,且檢查碼可忽略不計。

標準的39碼是由起始安全空間、起始碼、資料碼、可忽略不計的檢查碼、終止安全空間及終止碼所構成。

特別提示:雖然按照對應條碼的組合原理,本系統可以把用戶自定義的資料編碼轉變成正常ISBN、ISSN碼和EAN13碼,但是條碼本身并不同于正規的商品條碼,幾乎沒什么意義,所以它只能作為一種普通編碼(跟39碼一樣)來使用。

第3節 解決方案

使用本系統時有幾點方案可供參考

一、配合條碼掃描槍的情況:

1、當前沒有現成的圖書資料和讀者資料庫檔案,所有資料均需錄入:

建議錄入圖書資料時,可以利用本系統的條碼打印功能,設置成自己所需的自定義條形碼編號,然后把條形碼打印在不干膠紙上,接著把條形碼貼在圖書上,最后再錄入書籍信息,這樣就可以確保每本圖書資料上都有唯一的條形碼,并且把這個唯一的條形碼編號作為書籍編號;對于讀者資料,每個讀者均可按其編號或者卡號生成條形碼,打印到不干膠標貼上,然后貼在借書證上即可。2、已經有大量的現成資料:

在這種情況下,您可以利用本系統的“數據導入”功能把各種資料對應地導入到我們的系統中.因為要配合條碼掃描槍使用,所以需要每個資料上都有條形碼,解決方案如下:假如原來的系統中所有資料的編號均是正規的條碼編號且條碼編號沒有重復(資料上本身自帶的),那您可以省去打印條碼的步驟;假如原先的資料編號是自定義的,那么也沒關系,可以利用本系統自帶的條碼生成和打印功能,把原先的所有資料的編號全部以條形碼的方式打印出來,然后貼在對應的資料上即可。6

北創軟件

瑞天圖書管理系統標準版

3、假如您的圖書館對圖書編號有特殊要求,比如每本書(雖然其中可能有相同的書籍,即ISBN碼一樣)都要有自己唯一的編號,這時候用資料自帶的條碼編號顯然是不能達到您的要求了;不過沒關系,您可以自行按照您的方式先定義,等所有資料錄入完成之后,再利用我們系統自帶的條碼生成和打印功能,把您所自定義的每一個資料編號都以條碼的方式打印出來,然后您在對應的帖在資料上,即可達到您所需要的效果了。

注意:因為合法的ISBN、ISSN或者EAN13碼(39碼產生方式比較隨意一些,所以不在此范圍內)均有自己的一套組合原理(即有自己的數據位和驗證位),不是隨便的一串字符串就可以稱為合法的ISBN、ISSN或者EAN13碼的;所以,若您需要合法的ISBN、ISSN或者EAN13碼做條碼時,最好使用本系統的自定義條碼產生功能,這樣就可以產生大量合法的條形碼編碼,然后再用這些編碼作為資料的編碼,便可真正得到您所需要的類型條形碼。總結:

按以上方法錄入完所有資料后,在日后的借閱管理時,您只要用條碼掃描搶就可以完成借還工作了,而且出錯頻率比手工操作要小幾萬倍,從而達到效率高、速度快的效果。

二、無條碼掃描槍的情況:

因為您以后的借閱管理操作可能是手工輸入,所以假如需要自定義編碼時,您可以讓編碼簡單一點,比如:0001、0002??,等輸入完成后,您就可以進行操作了,而且在任何時候,只要您想配合條碼掃描槍使用的話,就可以使用我們系統自帶的條碼生成和打印功能,把資料編號以條碼的方式打印出來,貼在對應的資料上就可以了。其實本系統有很多人性化的設計,比如自動選擇功能等,即使您不配合條碼掃描槍使用,操作速度和效率同類的其他軟件高的多。

北創軟件

瑞天圖書管理系統標準版

第4節 操作流程

初次正式投入使用本系統時,為了能比較順利的使用本系統,建議您最好按照以下步驟順序進行操作:

1、界面設置

把系統的標題和背景以及是否含租金功能等設置成您所喜歡的模式;

2、系統初始化

第一次使用時最好不要保留那些您不需要的數據,即取消復選框的選中狀態;

3、系統參數設置

設置好系統常用的信息,以便日后調用;

4、系統用戶管理

設置好系統的操作用戶、密碼及相關權限;

5、基礎資料類別管理

設置好讀者等級信息,否則相關讀者無法租借資料;添加或修改其他類別資料;

6、讀者資料管理

您可以逐一的輸入讀者信息,也可以通過系統的“數據導入”功能把現有的讀者資料導入到本系統中;

7、書籍、期刊資料管理

您可以逐一的輸入書籍資料、期刊資料、物品資料,也可以通過系統的“數據導入”功能把現有的資料導入到本系統中;

以上所有步驟完成后,您就可以正常的進行圖書的借還管理了。北創軟件

瑞天圖書管理系統標準版

第2章 各菜單功能介紹

第1節 主工具欄介紹

顯示導航欄:顯示或隱藏系統左邊的導航控制窗口;

出借資料:將館內的資料借出給讀者(對應系統菜單項[常用操作]——>[借閱管理]——>[借出資料]);

歸還資料:將讀者所借出的資料歸還到館內(對應系統菜單項[常用操作]——>[借閱管理]——>[歸還資料]);

關閉子窗口:當有很多子窗口打開時,一次性關閉所有已經打開的子窗口,可以用此按鈕來替代逐一關閉子窗口(對應系統菜單項[窗口]——>[關閉所有]);

退出本系統:關閉本圖書管理系統(對應系統菜單項[系統設置]——>[退出系統]); 幫助:顯示系統操作幫助(對應系統菜單項[幫助]——>[幫助])。

北創軟件

瑞天圖書管理系統標準版

第2節 系統設置

? 備份管理

創建備份:給系統做一個完整的備份,方法如下:

用鼠標點擊[創建備份]按鈕(或同時按[ALT+O]鍵),出現目錄選擇框: 北創軟件

瑞天圖書管理系統標準版

然后選擇您想要備份到的目錄(您可以自己事先創建好一個目錄,以便以后在需要此備份包時能很快找到自己備份文件在電腦中的位置),按[確定]后系統便自動進行數據備份。

導入備份:用鼠標點擊[導入備份]按鈕(或同時按[ALT+I]鍵),出現如下文件選擇框:

選擇您想要導入的備份(此為您之前創建的備份包),然后按[打開]按鈕,系統便自動進行導入備份作業。返回:退出系統備份功能。

北創軟件

瑞天圖書管理系統標準版

? 導入數據

如果您已經有大量現成的資料數據,可使用本系統的導入功能代替手工輸入。導入的數據可為多種電子格式,如Excel電子表格、文本文檔或者MARC等文件格式,若有一些特殊格式我們的軟件無法導入,您可以試著通過其自身功能把其導出成此軟件可以識別的格式(比如:文本格式、Excel格式或DBF格式等,軟件系統一般都支持導出成這些格式文件)。

當選擇[導入數據]后出現如上對話框(解釋如下):

1、書籍資料導入:當選擇此項后,按軟件提示操作后將會把您所選擇的數據文件(可以是Excel、Text、DBF等格式)導入到本系統的書籍資料中,從而減少了大量的人工錄入工作。

2、期刊資料導入:當選擇此項后,按軟件提示操作后將會把您所選擇的數據文件(可以是Excel、Text、DBF等格式)導入到本系統的期刊資料中,從而減少了大量的人工錄入工作。北創軟件

瑞天圖書管理系統標準版

3、物品資料導入:當選擇此項后,按軟件提示操作后將會把您所選擇的數據文件(可以是Excel、Text、DBF等格式)導入到本系統的其他資料中,從而減少了大量的人工錄入工作。

4、讀者資料導入:當選擇此項后,按軟件提示操作后將會把您所選擇的數據文件(可以是Excel、Text、DBF等格式)導入到本系統的讀者資料中,從而減少了大量的人工錄入工作。

5、導入數據格式是Marc格式:如果所導入的數據是MARC格式,就一定要選擇此選項,否則無法正常導入MARC格式的數據;很多不同的圖書館之間一般比較習慣通過此種數據格式來達到數據共享的目的。

6、導入數據第一行是標題:當此復選框處于選中狀態時,表示當前所導入的數據中第一行是列標題,將顯示在導入框的列標題位置,但不會被導入到我們的系統中;當此復選框處于非選中狀態時,表示當前所導入的數據中第一行不是列標題,不會顯示在導入框的列標題位置(列標題會被初始化為形如:Value_1,Value_2...),而且第一行會被導入到本系統中。

所有的數據資料導入步驟其實比較類似,在此以[讀者資料導入]舉例說明: 1、選中[讀者資料導入]單選框,并選中[導入文件包含標題]復選框,點擊[下一步],出現[選擇要到入的文件]對話框:

按提示選擇您將要導入的文件(注意要預先在文件類型中選擇格式),然后按[打開]按鈕,進入如下界面:

北創軟件

瑞天圖書管理系統標準版

上圖是已導入數據的臨時存放形式,請您先審核導入數據文件是否正確.2、當確認所導入數據文件正確后,按[下一步]繼續進入如下圖:

左邊字段是您將要導入的數據庫文件字段內容,右邊字段是我們系統中對應字段,在此步應該確保字段的映射正確,因為如果映射不正確可能會給后期的操作和使用帶來麻煩。

若映射正確,即可進入[下一步]: 北創軟件

瑞天圖書管理系統標準版

3、此步是最后一次審核了(如上圖),您可以在某些內容不妥的地方進行適當的修改(當列寬度不夠顯示時,您可以讓鼠標停留在該數據上,即可顯示內容提示,當然您可以通過調節列的寬度全部來看清數據內容)。假如一切正常的話,您就可以按[完成]進行最后導入工作了。如果映射正確的話,那么就會提示[導入完成],并且會提示已經導入的記錄數量(若導入不成功,一般是因為導入的資料編號重復或者跟已經存在的資料編號,請注意檢查)。

? 系統界面

此功能可以修改軟件的顯示屬性,包括軟件標題、背景圖片、背景顏色等,以下將詳細介紹:

北創軟件

瑞天圖書管理系統標準版

當選擇界面設置后出現如上圖,以下將針對上圖的各項功能分別做解釋: 1、自定義本系統標題:此項用于修改標題,輸入后按[確定],本系統的標題就會變成您剛剛設置的文字。

2、自定義背景圖路徑:設置背景圖片的路徑,您也可以按右邊的瀏覽按鈕進行瀏覽,查找您所需要的圖片,此處背景圖片支持多種圖片格式。

3、顯示系統背景圖片:此處用于設置自定義的圖片是否顯示,如果要顯示圖片請選擇[是],否則選擇[否],當圖片不顯示時,將會顯示您所設置的背景顏色,否則將顯示圖片代替背景顏色。

4、背景顏色:設置當前背景圖不顯示時,本系統所顯示的背景顏色,點擊顏色框可以自定義顏色。

5、讀者界面類型設置:如果是學校使用此系統,就設置成[學校版];如果是企業單位使用此系統,則設置成[單位版];兩個版本的區別主要在于讀者的某些屬性不一樣,而在功能上沒有任何區別;比如在[學校版]中的讀者屬性有[讀者學校]、[讀者專業]等,如果是[單位版]則相應的屬性變成了[單位名稱]和[單位科室]等等。

6、包含租金管理功能:如果選擇了“是”含有租金功能,然后就可以在“系統設置”里點擊“借閱參數”按鈕,那么就可以設置每逾期一天罰款金額、讀者預借資料有效期、書籍、期刊和物品的日租金。

北創軟件

瑞天圖書管理系統標準版

? 系統參數

此功能可以設置和修改一些系統常用的參數,以下將詳細介紹:

當選擇系統參數設置后出現如上圖,以下將針對上圖的各項分別做解釋: 1、還書每逾期一天罰款:此項用于設置當讀者持所借圖書過期歸還時,每超過還書期限一天應該罰款的金額。

2、讀者預借資料有效期:設置讀者預借某本書的有效時間,即從預借那天開始,過多少天后預借記錄自動清除,以免預借讀者因種種原因長期沒有借所預借的資料,從而耽誤其他讀者的對該資料的借閱操作。

3、每次啟動本系統時自動打開逾期列表:選中當前的復選框,表示每當打開本圖書管理系統時會自動顯示那些已經過期的借閱情況。

4、開機時自動啟動數據庫服務器:若當前系統為服務器端時,每次啟動計算機后,是否直接啟動本系統的數據庫服務器(不是本系統,而是本系統所連接的數據庫服務器),以便其他客戶端能正常的連接該計算機上的服務器。

北創軟件

瑞天圖書管理系統標準版

5、無人操作自動進入離開狀態:這是一個安全設置,當自己離開后一段時間里(具體時間可以自己設定),系統自動進入離開狀態,用于防止別人在未經許可的情況下動自己的系統,本功能有點像屏幕保護程序,進入離開狀態后需要密碼才能返回當前系統。

? 切換用戶

用于更換當前登陸者的身份。注意,假如是多用戶同時操作,請確保同一用戶名在不同客戶端不要重復登陸。

? 修改密碼

用于更換當前登陸者的登陸密碼,按提示填入舊密碼和新密碼就可以實現密碼的修改操作。18

北創軟件

瑞天圖書管理系統標準版

? 暫時離開

系統里有當前正在查看或編輯的內容,如果退出系統那么當前內容會丟失,所以不方便退出系統,這時您可以利用該功能;并且此功能有屏幕保護的作用,可以有效的防止別人在未授權的情況下修改您的數據。

該功能主要用于用戶臨時離開時,當前用戶再次進入系統時,須輸入當前用戶的密碼,如果密碼不對則不能進入系統。

因為此處功能是[用戶暫時離開],即表示當前用戶還會來,里面的數據還需要用,所以在當前狀態不能切換用戶,即進入系統時只能輸入當前用戶的密碼。

? 用戶管理

用于對用戶進行添加、修改、刪除、權限修改等操作,此功能需要超級用戶權限才能使用。

北創軟件

瑞天圖書管理系統標準版

下面分別介紹: a、添加用戶

單擊管理管理窗口中按鈕[添加用戶],即可出現下圖:

填好您需要的內容,按[確定]即可完成用戶的添加工作。

b、修改用戶

選擇您想要修改的用戶名后,單擊管理管理窗口中按鈕[修改用戶],即可出現下圖: 20

北創軟件

瑞天圖書管理系統標準版

修改好您需要的內容,按[確定]即可完成用戶的修改工作。

c、刪除用戶

選擇您想要刪除的用戶名后,單擊管理管理窗口中按鈕[刪除用戶],即可完成刪除工作。

注意:不能刪除當前正在登陸使用的用戶名。

d、修改權限

選擇您想要修改權限的用戶名后,單擊管理管理窗口中按鈕[修改權限],即可出現下圖:

北創軟件

瑞天圖書管理系統標準版

設置相應的權限,點擊[確定]即可完成權限設置。

這里注意,不能修改[超級用戶]和當前用戶的權限。

? 系統初始化

進行此步要求慎重,最好能事先備份系統,以便防止有用數據永久丟失!

系統初始化時,您可以有選擇的保留某些數據,特別要注意是,選中的資料是表示需要保留的,如果您想刪除所有的資料信息,必須不選中所有的復選框(如上圖所示,是表示保留所有信息進行初始化,這樣做的好處是只刪除系統中所有的資料借閱情況而不刪除任何基礎資料,因為大部分情況下用戶只是想初始化系統里面的借閱情況而并非想刪除以前辛辛苦苦錄入的數據資料,除非確定了該系統中的已有數據確實沒有用才會刪除)。如上圖,單擊[確定],系統提示輸入超級用戶的密碼,驗證完成后即可進行系統初始化工作。

用戶剛剛投入使用該系統時一般會使用本功能,以便清除系統中沒有用的數據。22

北創軟件

瑞天圖書管理系統標準版

? 數據庫連接管理

A、單機版設置

假如您只需要在一臺機子上使用本系統,無需聯網操作,您就可以使用該功能把本系統設置成[單機版],方法如下圖:

單擊[確定]即可完成設置。

說明:作為單機版使用時,您也可以把系統設置成服務器端,這樣系統可以正常運行,但每次啟動該系統的時間比單機版稍慢一些。

B、網絡版設置

假如您需要在多臺機子上聯網使用本系統,您就可以使用該功能把本系統設置成[網絡版],其中網絡版設置又包括服務器端設置和客戶端設置,下面將分別介紹:

1、服務器端設置:

北創軟件

瑞天圖書管理系統標準版

按上圖,選擇網絡版,第一個下拉列表選擇[服務器端],然后在“服務器名稱”處給您所設的服務器自定義取個名字(比如叫[ServerName],在客戶端的設置中將會引用此名稱),單擊[確定]即可完成設置。

(注:給服務器取名字時要注意,假如您所在的局域網內同時有多臺服務器,請保證您所取的名稱不與其他服務器重名,否則您的設置將無法完成。)

至此,服務器端設置完成。

2、客戶端設置

按上圖,選擇網絡版,第一個下拉列表選擇[客戶端],然后在服務器名稱處寫上您想要連接的服務器名稱(比如叫[ServerName],在服務器端的設置的名稱),單擊[確定]即可完成設置(如果不在同一個局域網內則需要輸入服務器的IP地址)。24

北創軟件

正在運行,否則您的設置將無法完成。)

瑞天圖書管理系統標準版

(注:填寫要連接的服務器名字時要注意,一定要保證所在的局域網存在該服務器名稱,且服務器至此,客戶端設置完成。

? 讀卡器設置

此功能是配合COM接口的讀卡器使用的。詳細設置情況按讀卡器實際情況設置就可以了。

? 退出系統

本功能是退出本圖書管理系統。

第3節 資料管理

? 類別資料維護

此處可以設置讀者資料或者借閱資料所引用的內容,包括讀者等級,出版社資料,圖書分類,以下分別介紹: 1、讀者等級管理:

北創軟件

瑞天圖書管理系統標準版

在窗口的正下方有不同功能的按鈕,功能如下:

新增:增加一個讀者等級的內容;

修改:修改一個已經存在的讀者等級內容;

刪除:刪除一個已經存在的讀者等級內容;

刷新:重新從庫中獲取等級內容,以便查看其他客戶端是否正在更改此等級信息;

退出:退出當前的類別管理界面,返回系統。

2、出版社資料管理: 北創軟件

瑞天圖書管理系統標準版

在窗口的正下方有不同功能的按鈕,功能如下:

新增:增加一個出版社的內容;

修改:修改一個已經存在的出版社內容;

刪除:刪除一個已經存在的出版社內容;

刷新:重新從庫中獲取出版社內容,以便查看其他客戶端是否正在更改此出版社信息;

退出:退出當前的類別管理界面,返回系統。

3、圖書類別管理:

北創軟件

瑞天圖書管理系統標準版

在窗口的右下方有不同功能的按鈕,功能如下:

增加同級類別:增加一個與指定類別同級的類別,即新增類別與當前指定類別處于同一個目錄層次;

增加下級類別:增加一個指定類別的下級類別,即新增類別處于當前指定類別的子類別;

修改當前類別:修改當前所指定的類別信息。

刪除當前類別:刪除當前所指定的類別;

退出當前界面:退出當前的類別管理界面,返回系統。

? 書籍資料管理

選擇此功能時,出現下圖: 北創軟件

瑞天圖書管理系統標準版

在本窗口正上方的工具欄上有各種按鈕的圖標,這些按鈕所執行的功能只作用于在其正下方的書籍資料內容,在書籍資料內容的下方是描述當前書籍窗口中當前書籍資料的詳細明細情況,可以點擊對應的按鈕進行相應的操作。

針對每一條書籍資料記錄,下面都有詳細的明細窗口,包括:

1、當前借閱狀態:用于記錄當前書籍被出借的情況; 2、借閱流水情況:用于記錄當前書籍以往的所有借閱日志; 3、重要歷史備忘:用于記錄當前書籍相關的一些事情。

下面針對書籍管理的主工具條作一些說明(如下圖):

北創軟件

1、添加:新增一條新的書籍資料記錄;

瑞天圖書管理系統標準版

2、修改:修改一條已經存在的書籍資料記錄; 3、刪除:刪除一條已經存在的書籍資料記錄;

4、下架:當庫內有某些書籍因為某些特殊原因而暫時停止外借時,就可以用此處的下架功能。此功能不會刪除所選擇的書籍資料,所以在任何時候都可以將下架的書籍資料重新上架流通;

5、篩選:可以根據用戶設定的條件把需要的書籍資料過濾出來;

6、刷新:在很多情況下(比如網絡操作),可能數據已經更新了,但當前系統不能及時顯示,您可以通過刷新來完全顯示;

7、列選:當前如果資料的列項比較多,但是您不需要這么詳細的列資料,或者打印是不需要如此多的列,您可以通過此操作來設置您所需要的列項; 8、預覽:查看打印效果,可以調節列寬,以便按您所需要的格式打印;注意,如果系統沒有安裝打印機的話,預覽可能會不正常,而且打印預覽中的某些項可能設置不了;

9、導出:把當前正在顯示的記錄導出成您所需要的格式(比如Excel格式等),注意,被隱藏的列也能被正常導出;10、退出:退出當前書籍管理窗口。北創軟件

? 期刊資料管理

選擇此功能時,出現下圖:

瑞天圖書管理系統標準版

在本窗口正上方的工具欄上有各種按鈕的圖標,這些按鈕所執行的功能只作用于在其正下方的期刊資料內容,在期刊資料內容的下方是描述當前期刊窗口中當前期刊資料的詳細明細情況,可以點擊對應的按鈕進行相應的操作。

針對每一條期刊資料記錄,下面都有詳細的明細窗口,包括:

1、當前借閱狀態:用于記錄當前期刊被出借的情況; 2、借閱流水情況:用于記錄當前期刊以往的所有借閱日志; 3、重要歷史備忘:用于記錄當前期刊相關的一些事情。

因為期刊管理主工具條的功能操作方法跟書籍管理非常類似,所以具體可以參考書籍管理中工具條的操作說明,為了節省篇幅,這里略。

北創軟件

瑞天圖書管理系統標準版

? 其他物品管理

選擇此功能時,出現下圖:

在本窗口正上方的工具欄上有各種按鈕的圖標,這些按鈕所執行的功能只作用于在其正下方的物品資料內容,在物品資料內容的下方是描述當前物品窗口中當前物品資料的詳細明細情況,可以點擊對應的按鈕進行相應的操作。

針對每一條期刊資料記錄,下面都有詳細的明晰,包括:

4、前借閱狀態:用于記錄當前物品被出借的情況; 5、借閱流水情況:用于記錄當前物品以往的所有借閱日志; 6、重要歷史備忘:用于記錄當前物品相關的一些事情。

北創軟件

瑞天圖書管理系統標準版

因為物品管理主工具條的功能操作方法跟書籍管理非常類似,所以具體可以參考書籍管理中工具條的操作說明,為了節省篇幅這里略。

? 讀者資料管理

選擇此功能時,出現下圖:

在本窗口正上方的工具欄上有各種按鈕的圖標,這些按鈕所執行的功能只作用于在其正下方的讀者資料內容,在讀者資料內容的下方是描述當前讀者窗口中當前讀者資料的詳細明細情況,可以點擊對應的按鈕進行相應的操作。

針對每一條讀者資料記錄,下面都有詳細的明細窗口,包括:

1、當前借閱狀態:用于記錄當前讀者借閱資料的情況; 2、借閱流水情況:用于記錄當前讀者以往的所有借閱日志; 3、提前預借情況:用于記錄當前讀者提前預定要借閱的資料信息; 4、重要歷史備忘:用于記錄當前期刊相關的一些事情。

北創軟件

瑞天圖書管理系統標準版

下面針對讀者管理的主工具條作一些說明(如下圖):

1、添加:新增一條新的讀者資料記錄; 2、修改:修改一條已經存在的讀者資料記錄; 3、刪除:刪除一條已經存在的讀者資料記錄;

4、篩選:可以根據用戶設定的條件把需要的讀者資料過濾出來;

5、刷新:在很多情況下(比如網絡操作),可能數據已經更新了,但當前系統不能及時顯示,您可以通過刷新來完全顯示;

6、列選:當前如果資料的列項比較多,但是您不需要這么詳細的列資料,或者打印是不需要如此多的列,您可以通過此操作來設置您所需要的列項; 7、預覽:查看打印效果,可以調節列寬,以便按您所需要的格式打印;注意,如果系統沒有安裝打印機的話,預覽可能會不正常,而且打印預覽中的某些項可能設置不了;

8、導出:把當前正在顯示的記錄導出成您所需要的格式(比如Excel格式等),注意,被隱藏的列也能被正常導出; 9、退出:退出當前書籍管理窗口。

北創軟件

瑞天圖書管理系統標準版

? 資料下架管理

相關解釋:

上架選中資料:將所有選中的資料重新上架,上架后的資料可以被讀者正常借閱;

刪除選中資料:將當前所有選中的資料徹底從系統中刪除(當確認當前所有選中的資料都沒有用了,就可以進行此步操作);

篩選:可以根據用戶設定的條件把需要的讀者資料過濾出來;

刷新:在很多情況下(比如網絡操作),可能數據已經更新了,但當前系統不能及時顯示,您可以通過刷新來完全顯示;

北創軟件

瑞天圖書管理系統標準版

預覽:查看打印效果,可以調節列寬,以便按您所需要的格式打印;注意,如果系統沒有安裝打印機的話,預覽可能會不正常,而且打印預覽中的某些項可能設置不了;

導出:把當前正在顯示的記錄導出成您所需要的格式(比如Excel格式等),注意,被隱藏的列也能被正常導出;

退出:退出當前下架管理窗口。

?批量刪除管理

在[批量刪除管理]界面您可以根據自己的具體要求批量刪除書籍、期刊、物品、讀者以及借閱日志記錄。

北創軟件

?快速新增資料

瑞天圖書管理系統標準版

此功能包括:新增讀者、新增書籍、新增期刊、新增物品,對應的每個功能都有一個快捷鍵,因為本功能無須打開相應的資料管理窗口,從而避免了獲取大量資料信息的過程,節省了操作時間(數據量越大,效果越明顯),達到快速新增的目的。

? 資料打印

1、讀者當前借閱打印

此功能用于打印讀者當前借閱情況,可以篩選您需要的資料進行打印輸出。2、讀者借閱日志

此功能用于打印讀者當前借閱日志,可以篩選您需要的資料進行打印輸出。

3、資料當前借閱打印

此功能用于打印資料當前被借閱的情況,可以篩選您需要的資料進行打印輸出。

4、資料借閱日志

此功能用于打印資料借閱日志的情況,可以篩選您需要的資料進行打印輸出。

5、庫資料條碼打印

選擇此功能時,出現下圖:

北創軟件

瑞天圖書管理系統標準版

您可以在本窗口中把對應的資料編號轉換成您所需要的條形碼圖形(如39碼、ISBN碼等),然后就可以打印輸出了。在打印頁面設置中設置好條碼的寬度和相互距離,以便能更準確的打印到輸出材料上。

6、自定義資料條碼打印

以下我們將對Code 39碼和EAN13碼的產生分別作說明:

1、39碼的產生

在常用條碼條碼選擇中選擇“Code 39碼”,如下圖:

北創軟件

瑞天圖書管理系統標準版

然后點擊[添加條碼],出現下圖,按要求填上數據后按[確定]即可進行添加條碼的操作

[確定]后出現:

北創軟件

瑞天圖書管理系統標準版

至此,Code 39碼產生完成,剩下的就是打印輸出了。

2、Ean13碼(ISBN/ISSN)的產生

在常用條碼選擇中選擇“Code 39碼”,如下圖:

北創軟件

瑞天圖書管理系統標準版

然后點擊[添加條碼],出現下圖,按要求填上數據后按[確定]即可進行添加條碼的操作

[確定]后出現:

北創軟件

瑞天圖書管理系統標準版

至此,Ean13碼(ISBN/ISSN)的產生完成,剩下的就是打印輸出了。

7、庫資料書標打印 選擇此功能時,出現下圖:

北創軟件

瑞天圖書管理系統標準版

您可以在本窗口中把對應的資料書標轉換成您喜歡的組合方式(如分類號與書架號、書架號與資料編號、書架號與出版年等組合而成),然后就可以打印輸出了。在打印書標之前可以先設置好頁邊距、書標的寬度和相互距離等以便能更準確的打印到輸出材料上。書標產生后您可以點擊[顏色]按鈕自定義設置書標顏色。

8、自定義書標打印

北創軟件

標的操作。

瑞天圖書管理系統標準版

點擊[添加新書標],出現下圖,按自己要求填上數據后按[確定]即可進行添加書

書標生成后,您還可以點擊[顏色修改]按鈕自定義設置書標顏色。

?數據自動生成

注:此項操作會批量更改數據,一般用于圖書館剛剛建庫并使用本系統的時候進行操作。

北創軟件

瑞天圖書管理系統標準版

相關解釋:

1.自動生成書架位置:當您選擇次功能,并且選擇了“索書號內容”那么系統會自動根據您選擇的索書號[內容]批量產生索書號。

2.根據標準ISBN自動生成出版社:當您選擇此功能,那么系統會根據書籍的ISBN碼自動批量產生出版社名稱和地點信息,您也可以選擇是否“覆蓋已有的出版社”。

3.根據分類號自動生成類別名稱:當您選擇此功能,那么系統會根據書籍的分類號自動批量產生書籍的類別名稱。您也可以選擇是否覆蓋已有類別名稱。

北創軟件

瑞天圖書管理系統標準版

第4節 常用操作

? 借閱管理

此功能包括借出資料、歸還資料、續借資料和預借資料功能,界面如下圖:

相關解釋:

執行操作:執行相應的借閱操作;

清空數據:清空當前借閱窗口內的所有數據;

北創軟件

瑞天圖書管理系統標準版

編號切換:借閱資料的編號和ISBN/ISSN碼進行切換,以便用戶選擇一種比較適合自己管理的借閱方法(F2鍵或者用鼠標單擊資料編號輸入框上方的小圖標可以實現切換功能)。

卡號切換:當前讀者編號和讀者卡號相互切換,以便操作(用鼠標單擊讀者編號輸入框上方的小圖標可以實現切換功能);

讀者列表:打開當前讀者列表,以便用戶選擇; 資料列表:打開當前資料列表,以便用戶選擇;

顯示讀者照片:如果讀者在入庫時添加了對應的讀者相片,那么[顯示照片]復選框若選中,則會顯示對應讀者的照片;

自定天數:如果選中[自定天數]復選框,則借出資料時所借出的天數是按照自己設定的天數登記的;如果不選中[自定天數]復選框,則借出資料時所借出的天數是按照對應讀者的等級所限制的最大天數登記的,若會員等級是無限制,則默認的天數是9999天;

今日借還日志:記錄當天當前用戶的所有操作日志,如果想看其他的時間段,可以利用本系統的借閱流水查看功能。

暫時離開:打開暫時離開界面; 退出窗口:退出當前界面.47 北創軟件

? 帳務管理

瑞天圖書管理系統標準版

此處是進行處理讀者支付款項事件的操作,讀者所有因借閱過期、資料丟失、資料損壞、讀者支付等所產生的款項記錄都可以在此進行處理,界面如下圖:

點擊[罰款]按鈕后出現:

北創軟件

當于存款了)。

瑞天圖書管理系統標準版

按要求可以做相應的操作(假如選擇[其他原因],罰款金額是負數的話,那就相? 會員管理

此處主要用于對讀者進行掛失、解掛失、停用、啟用和注銷等操作,界面如下圖:

按提示要求就可以做相應的操作。

? 辦卡管理

此處是進行辦卡、換卡和注銷卡等操作的功能,界面如下圖:

北創軟件

瑞天圖書管理系統標準版

按提示要求就可以做相應的操作。

? 押金充值

此處是進行押金充值操作的功能,界面如下圖

按提示要求就可以做相應的操作。

第二篇:圖書管理系統

圖書管理系統源代碼

#include #include class Book{ // 書籍基類 protected: char Title[40];// 書名 long Code;// 條碼 int Type;// 0表示書,1表示雜志 public: Book();Book(char *title,long code);void SetCode(long code){ Code = code;} void SetTitle(char* tl){ strcpy(Title,tl);} void SetType(bool type){Type = type;} int GetType(){ return Type;} long GetCode(){ return Code;} virtual void Show();// 顯示書的信息 friend ostream& operator<<(ostream& , Book&);// 重載插入運算符 friend istream& operator>>(istream& is, Book&);// 重載提取運算符 Book *Next;// 為創建每個讀者所借書鏈表而定義指針 };class Item :public Book{ //書的款目 // char Title[40];// 書名 char Author[20];// 著者名 char IndexCode[10];// 分類號 // long Code;// 條碼 public: Item();Item(char *author,char *title,char *index,int code);Item(Item &);void SetAuthor(char*);void SetIndexCode(char*);virtual void Show();// 顯示書的信息 friend ostream& operator<<(ostream& os, Item&);// 重載插入運算符 friend istream& operator>>(istream& is, Item&);// 重載提取運算符 public: };class Magazine:public Book { //雜志類 int Volume;enum LANG {CHINESE=1,ENGLISH} Lang;// 枚舉變量,確定語言類別 public: Magazine():Book(){Volume = 0;Lang = CHINESE;Type = 1;} Magazine(char *title,int vol,LANG lang,int code);Magazine(Magazine&);void SetVolume(int vol){Volume = vol;} void SetLang(int lang){Lang =(LANG)lang;} virtual void Show();// 顯示雜志的信息 friend ostream& operator<<(ostream& os, Magazine&);// 重載插入運算符 friend istream& operator>>(istream& is, Magazine&);// 重載提取運算符 };class Reader{ // 讀者信息類 char Name[20];// 姓名 char Position[20];// 職務 int Age;// 年齡 long Code;// 借書證號 Book* items;// 所借書鏈表 public: Reader();Reader(char *name,char *posi,int age,int code);// Reader(Reader&);~Reader();long GetCode(){return Code;} void SetName(char*);void SetPosition(char*);void SetAge(int);void SetCode(long);void AddBook(Item);// 添加所借書 void AddBook(Magazine);// 添加所借雜志 void DelBook(Book it);// 還書后減少所借書 void ShowBooks();// 顯示所借書 void Show();// 顯示讀者信息 friend ostream& operator<<(ostream& os, Reader&);// 重載插入運算符 friend istream& operator>>(istream& is, Reader&);// 重載提取運算符 public: int Counter;//計數器,統計所借書數目 };class Manager{ // 管理員類 char Name[20];// 姓名 int Age;// 年齡 int Code;// 工號 friend class Library;// 將圖書館類聲明為友元 public: Manager(){} Manager(char*,int,int);long GetCode(){ return Code;} void Show();friend ostream& operator<<(ostream& os, Manager&);// 重載插入運算符 friend istream& operator>>(istream& is, Manager&);// 重載提取運算符 };class Loan { // 借閱信息類 int Type;// 0表示書,1表示雜志 Item item;// 借閱書 Magazine mag;// 借閱雜志 Reader reader;// 借閱者 Manager manager;// 借書操作員 int Code;friend class Library;// 將圖書館類聲明為友元 public: Loan(){ } Loan(Loan & l);int GetCode(){ return Code;} void Show();friend ostream& operator<<(ostream& os, Loan&);// 重載插入運算符 friend istream& operator>>(istream& is, Loan&);// 重載提取運算符 };、、、、、、、、、、、、、、、、、、、、、、、#include #include class Reader;template class DblList;template class DblNode{ public: T Info;//數據域 DblNode *llink,*rlink;//前驅(左鏈)、后繼(右鏈)指針 public: DblNode(T data);//一般結點 DblNode();//頭結點 T GetInfo(){return Info;};friend class DblList;friend class Library;};templateclass DblList{ DblNode *head,*current;public: DblList();~DblList();void Insert(const T& data);DblNode* Remove(DblNode* p);void Print();int

Length();//計算鏈表長度 DblNode *Find(T data);//搜索數據與定值相同的結點 DblNode* Find(int data);//按某個關鍵字查找 void MakeEmpty();//清空鏈表 void ShowList();//顯示鏈表各結點 friend istream& operator>>(istream&, DblList&);// 重載輸入流運算符 friend ostream& operator<<(ostream& os, DblList& dlist);// 重載輸出流運算符 friend class Library;//其它操作 };template DblNode::DblNode(){ llink=rlink=NULL;} template DblNode::DblNode(T data){ info=data;llink=NULL;rlink=NULL;} template DblList::DblList(){//建立表頭結點 head=new DblNode();head->rlink=head->llink=head;current=NULL;} template DblList::~DblList(){ MakeEmpty();//清空鏈表 delete head;} template void DblList::MakeEmpty(){ DblNode *tempP;while(head->rlink!=head){ tempP=head->rlink;head->rlink=tempP->rlink;//把頭結點后的第一個節點從鏈中脫離 tempP->rlink->llink=head;//處理左指針 delete tempP;//刪除(釋放)脫離下來的結點 } current=NULL;//current指針恢復 } template void DblList::Insert(const T & data){//新節點在鏈尾 current=new DblNode;current->Info=data;current->rlink=head;//注意次序 current->llink=head->llink;head->llink->rlink=current;head->llink=current;//最后做 } template DblNode* DblList::Remove(DblNode* p){ // 刪除結點 current=head->rlink;while(current!=head&¤t!=p)current=current->rlink;if(current==head)current=NULL;else{//結點摘下 p->llink->rlink=p->rlink;p->rlink->llink=p->llink;p->rlink=p->llink=NULL;} return current;} template DblNode* DblList::Find(T data){ // 按結點查找 current=head->rlink;while(current!=head&¤t->Info!=data)current=current->rlink;if(current==head)current=NULL;return current;} template DblNode* DblList::Find(int data){ // 按數據值查找結點 current=head->rlink;int temp =current->Info.GetCode();while(current!=head&&temp!=data){ current=current->rlink;temp = current->Info.GetCode();} if(current==head)current=NULL;return current;} template void DblList::Print(){ // 輸出鏈表 current=head->rlink;while(current!=head){ cout<Info<<'t';current=current->rlink;} cout< int DblList::Length(){ // 取得鏈表長度 int count=0;current=head->rlink;while(current!=head){ count++;current=current->rlink;} return count;} template void DblList::ShowList(){ // 輸出鏈表各結點 int count=0;current=head->rlink;while(current!=head){ current->GetInfo().Show();current=current->rlink;} return;} template istream& operator>>(istream& is, DblList &dlist){ int len;T tt;// 定義局部變量讀入一個結點 is>>len;for(int i= 0;i>tt;dlist.Insert(tt);} return is;} template ostream& operator<<(ostream& os, DblList &dlist){ DblNode *tempP;int len = dlist.Length();os<rlink;while(tempP!=dlist.head){ // 循環輸出鏈表各結點 os<Info;tempP = tempP->rlink;} return os;} #include “class.h” #include “dblist.h” #include class Library{ // 封裝圖書館流通業務的類 DblList item;// 在館圖書鏈表 DblList mag;// 在館雜志鏈表 DblList reader;// 讀者鏈表 DblList loan;// 借閱信息鏈表 DblList manager;// 管理員信息鏈表 int itemNum;// 記錄在館圖書數目 int magNum;// 記錄在館雜志數目 int readerNum;// 記錄讀者數目 int loanNum;// 記錄借閱信息數目 int managerNum;// 記錄管理員數目 ofstream itemFileOut;// 文件流對象,保存圖書館書籍數據 ifstream itemFileIn;// 文件流對

象,讀入圖書館書籍數據 ofstream magFileOut;// 文件流對象,保存圖書館雜志數據 ifstream magFileIn;// 文件流對象,讀入圖書館雜志數據 ofstream readerFileOut;// 文件流對象,保存圖書館讀者數據 ifstream readerFileIn;// 文件流對象,讀入圖書館讀者數據 ofstream loanFileOut;// 文件流對象,保存圖書館借閱信息數據 ifstream loanFileIn;// 文件流對象,讀入圖書館借閱信息 ofstream managerFileOut;// 文件流對象,保存圖書館管理員數據 ifstream managerFileIn;// 文件流對象,讀入圖書館管理員數據 public: Library();// 構造函數 ~Library();//析構函數 void Run();// 圖書館類的運行函數 void CreateBibliotheca();// 創建書目 void CreateReader();// 創建讀者庫 void CreateManager();// 創建管理員信息 int ShowMainMenu();// 顯示主菜單函數 void Borrow();// 借書操作 void Return();// 還書操作 void Require();// 查詢操作 void SaveInfo();// 保存圖書館信息 void OpenInfo();// 讀入圖書館信息 };

第三篇:圖書管理系統

目錄

第一章 緒論.....................................................................................................................................1 第二章 需求分析..............................................................................................................................2

2.1任務概述............................................................................................................................2

2.1.1 圖書管理系統完成的主要目標...........................................................................2 2.1.2用戶的特點............................................................................................................3 2.2需求規定............................................................................................................................3

2.2.1對功能的規定........................................................................................................3 2.2.2讀者管理功能........................................................................................................4 2.2.3系統管理功能........................................................................................................4

第三章 概要設計.............................................................................................................................4

3.1總體設計............................................................................................................................4

3.1.1系統目標設計........................................................................................................4 3.1.2系統功能分析........................................................................................................5 3.2系統設計思想.....................................................................................................................5 3.3 系統模塊功能解析............................................................................................................5 第四章 詳細設計.............................................................................................................................6

4.1程序設計說明....................................................................................................................6

4.1.1用戶登錄模塊........................................................................................................6 4.1.2用戶添加模塊........................................................................................................7 4.1.3書籍查詢模塊........................................................................................................8 4.1.4圖書借閱模塊........................................................................................................9 4.1.5圖書歸還模塊......................................................................................................10 4.1.6新書入庫模塊......................................................................................................11 第五章 編碼與測試.......................................................................................................................13 5.1各功能模塊的實現...........................................................................................................13 5.2 測試.................................................................................................................................19 5.2.1借閱卡管理測試..................................................................................................19 5.2.2書籍管理測試......................................................................................................19 5.2.3系統管理測試......................................................................................................19 結束語.............................................................................................................................................20 致

謝...........................................................................................................................................21 參考文獻.........................................................................................................................................21

圖書管理系統

摘要:本文介紹了在VB6.0環境下采用“自上而下地總體規劃,自下而上地應用開發”的策略開發一個管理信息系統的過程。通過分析傳統的人工管理圖書館的不足,創建了一套行之有效的計算機管理圖書館的方案。文章詳細介紹了圖書管理信息系統的系統分析部分,包括可行性分析、組織機構分析、管理職能分析、業務流程分析、數據流程分析、數據字典、處理描述等等;系統設計部分主要介紹了系統功能設計和數據庫設計;系統實現部分列出了幾個主要的程序框圖,并附帶了一些主要的窗口和程序。關鍵字:圖書管理系統,VB6.0,sqlserver2000,信息系統

Library Management System Abstract:This article introduces the detailed process of exploring a management information system under the environment of VB6.0, utilizing “Top-Bottom” overall plan and a strategy according to “Bottom-Top” application and exploitation.That is to establish a set of effective scheme for library management by computer, through analyzing disadvantages of traditional library management by human resources.This article emphasizes on three sections.The system analysis section of library management information includes feasible analysis, organizing organs analysis, management function analysis, technological process of business analysis, technological process of data analysis, data dictionary, disposal description and the like.The system design section mainly focuses on system function design and data base design.And the system realization section has provided several major program charts, together with the main windows and programs.Key words: library management system, VB6.0,information system

第一章 緒論

隨著人類社會的發展,人類對知識的需求也不斷地增長。在這種形勢下,書籍就漸漸地成為人們獲取并增長知識的主要途徑,而圖書館就自然而然地在人們的生活中占據了一定的位置,如何科學地管理圖書館不但關系到讀者求知的方便程度,也關系到圖書館的發展,因此,開發一套完善的圖書館管理系統就必不可

少了。

圖書館管理系統是典型的信息管理系統,其開發主要包括后臺數據庫的建立和維護以及前端的應用程序的開發兩個方面。對于前者要求建立數據的一致性和完整性,對于后者則要求應用程序功能的完備,易用等的特點。基于上述考慮本系統主要利用VB6.0作前端的應用開發工具,利用sqlsever 作為后臺的數據庫,利用WINDOWS作為系統平臺開發的圖書管理系統。另外本圖書館管理系統利用軟件工程化思想和方法,總體上是采用結構化生命法進行系統分析和設計的,而系統實現等步驟則采用了原型法和面對對象的方法

系統開發的總目標是實現內部圖書借閱管理的系統化、規范化和自動化。能夠對圖書進行注冊登記,也就是將圖書的基本信息(如:書名、作者、價格等)預先存入數據庫中,供以后檢索。能夠對借閱人進行注冊登記,包括記錄借閱人的姓名、地址、電話等信息。提供方便的查詢方法。如:以書名、作者、出版社、出版時間(確切的時間、時間段、某一時間之前、某一時間之后)等信息進行圖書檢索,并能反映出圖書的借閱情況;以借閱人編號對借閱人信息進行檢索;以出版社名稱查詢出版社聯系方式信息。提供統計分析功能。可以展現出圖書類型比例、庫存與借出比例。提供舊書銷毀功能,對于淘汰、損壞、丟失的書目可及時對數據庫進行修改。能夠對使用該管理系統的用戶進行管理,按照不同的工作職能提供不同的功能授權。提供較為完善的差錯控制與友好的用戶界面,盡量避免誤操作。圖書館的基本功能就是為讀者提供借閱服務,讀者通過借閱這一過程,可以把圖書帶出圖書館,從而使讀者能夠更方便的瀏覽圖書。借書過程中,圖書管理員要對讀者的借書資格進行審查,對符合借書條件的讀者,允許其借書,對其借書記錄進行登記;對沒有借書資格的讀者,禁止其借書。

在VB6.0環境下采用“自上而下地總體規劃,自下而上地應用開發”的策略開發一個管理信息系統的過程。通過分析傳統的人工管理圖書館的不足,創建了一套行之有效的計算機管理圖書館的方案。文章詳細介紹了圖書管理信息系統的系統分析部分,包括可行性分析、組織機構分析、管理職能分析、業務流程分析、數據流程分析、數據字典、處理描述等等;系統設計部分主要介紹了系統功能設計和數據庫設計;系統實現部分列出了幾個主要的程序框圖,并附帶了一些主要的窗口和程序。

第二章 需求分析

2.1任務概述

2.1.1 圖書管理系統完成的主要目標

進入系統前需要身份認證、用戶名、密碼、輸入正確方可進入。用戶可以根據需要進行書庫管理。用戶可以進行借書證的辦理、查詢、掛失等操作。用戶可

以添加賬戶和修改密碼。2.1.2用戶的特點

最終用戶包括讀者(具有借閱卡的人)、圖書管理員,鑒于此軟件應用于大學圖書管理,讀者基本都是在校大學生即校職工和領導,圖書管理員都是接受過高等教育的職工,因此他們都懂得運用基本的計算機知識。大學圖書管理系統的使用頻度很高,假如一個一萬人的大學來講,每天圖書館的平均日流量為1.5萬。因此,該軟件的可靠性、可用性、可維護性顯得尤為重要。

2.2需求規定

2.2.1對功能的規定

1、圖書信息查詢/借書信息查詢:圖書館主要向讀者提供圖書借閱的服務。讀者為了借閱圖書,一般情況下,需要在借書之前查詢所要借閱的圖書情況,所以圖書館需要為讀者提供圖書查詢功能。例如,讀者可能想借閱某方面的書,但不知道圖書館在該方面有哪些圖書可供借閱,所以需要對圖書館的圖書進行查詢;或者,讀者知道想借閱的圖書信息,但不知道該圖書館是否有該書或不知道圖書在圖書館的位置、是否被借出、是否可以借閱等信息,這也需要使用圖書查詢功能。一般的圖書查詢中,讀者是通過圖書登記卡、瀏覽圖書登記卡中的信息得到圖書信息的。經過圖書查詢,讀者獲得圖書館是否有自己想要的圖書,該圖書的簡單信息以及圖書在圖書館的借閱位置等信息。

2、新書入庫:為了能正常運行,圖書館要及時更新館藏圖書。對于新書,要購進,供讀者借閱;所以要設計到圖書的批量入庫。對于批量入庫,圖書管理員要批量登記圖書的信息,包括書名ID、ISBN、圖書名稱、作者、出版社、單價、入庫時間、圖書總量、現存總量等。

3、借閱圖書/歸還圖書:圖書館的基本功能之一就是為讀者提供借閱服務,讀者通過借閱這一過程,可以把圖書帶出圖書館,從而使讀者能夠更方便的瀏覽圖書。借書過程中,圖書管理員要對讀者的借書資格進行審查,對符合借書條件的讀者,允許其借書,對其借書記錄進行登記;對沒有借書資格的讀者,禁止其借書。具體的步驟如下:讀者向圖書管理員提交請求和圖書借閱卡,圖書管理員檢查讀者提供的借閱卡,如果該借閱證真實準確,讀者已經借閱的圖書并沒有超過允許借書量,而且讀者沒有逾期未還的圖書,則允許讀者借書,否則,讀者不能從圖書館借書。讀者拿到要借閱的圖書,同時拿到自己的借閱卡,借書過程完畢。當借閱圖書的數量超過5本或者出現未按期歸還圖書的情況,則不好進行借閱處理。圖書館的另一基本功能就是為讀者提供還書服務,讀者在一本圖書借閱期滿之前把該圖書還給圖書館,一般的還書步驟如下:讀者把所借的圖書和自己的借閱卡交給圖書管理員。圖書管理員對圖書進行檢查,看有無損壞,如果出現圖書的損壞情況,讀者應進行相應的賠償。圖書管理員查看是否超過規定借閱期限,如果已經過期,則讀者要按規定交納罰金。圖書管理員進行登記,同時把還書信息記入借閱卡。讀者拿回自己的借閱卡,還書過程借書。讀者逾期未歸還圖書超過三天,將按照每本每天進行一定的罰款。

4、書籍掛失:對圖書由于丟失而不能即時還書的情況,讀者要即時到圖書管理員進行登記,確保圖書信息的更新。進行書籍掛失的步驟一般如下:讀者將所丟圖書信息告訴圖書管理員并將借閱卡交給圖書管理員。圖書管理員對該圖書信息進行登記,并按圖書的價格,要求讀者進行相應賠償。圖書管理員將信息記入借閱卡。讀者拿回自己的借閱卡,掛失功能結束。

2.2.2讀者管理功能

1、辦理借閱卡:圖書館向讀者提供借閱服務,讀者必須具有有效憑證方可借閱。因此,讀者必須辦理借閱卡獲取有效憑證。讀者在辦理借閱卡時,必須輸入個人有關注冊信息,包括讀者姓名、性別、出生日期、家庭住址、身份證號碼、電話號碼等信息。系統根據讀者提供的信息,辦理借閱卡并生成個人帳號、讀者可自行修改密碼。

2、借閱卡信息查詢;圖書館在正常運營中要面對大量的讀者信息,需要掌握每個讀者的信息,即時準確的掌握讀者的基本情況,這些是圖書館運營的保證。讀者要進行信息查詢,可以通過系統將自己的借閱卡賬戶、密碼輸入系統,系統通過核對找到讀者的信息。如果讀者的信息正確,系統將讀者的信息包括讀者姓名、性別、出生日期、家庭住址、身份證號碼、電話號碼等信息。如果讀者的信息不正確,系統將提示錯誤,并且系統設定,當錯誤次數超過5次時,系統將不予查詢。

3、借閱卡掛失:對借閱卡的丟失要即時進行掛失處理,以防止其他人盜用自己的有效信息并出現私自借書等行為。借閱卡掛失的一般步驟可分為:讀者將掛失情況即時到圖書管理員處進行登記,并填寫登記單。圖書管理員將讀者情況進行登記掛失,注銷借閱卡的信息,并咨詢讀者是否重新辦理。若讀者需重新辦理,則重新填寫相關信息,系統自動生成心的借閱卡信息記錄,讀者重新設置帳號即密碼,并交納相應的費用。若讀者不需辦理,則系統將信息注銷。讀者獲得新的圖書借閱卡。

2.2.3系統管理功能

1、注冊管理員:為了對圖書館管理系統進行管理,圖書館需要若干名圖書管理員進行管理,在圖書管理員對系統進行管理之前必須進行注冊功能,以確定管理員身份。對管理員進行注冊,系統生成相應信息。其中管理員的基本信息包括:成員ID、密碼等。系統管理員每次登陸前輸入自己的ID與密碼,系統對其信息進行核實,如基本信息正確,則系統管理員可進行系統管理功能,若系統檢查不正確,則系統管理員不可以進行相應的操作。

2、修改密碼:服務圖書館管理員可能由于某些原因,如電腦中毒導致管理員密碼的泄露,為避免圖書管理信息遭到破壞,系統具有修改密碼的功能,確保圖書管理功能的安全性。

3、退出功能:系統管理員每次離開必須進行退出功能,確保管理功能不被他人所用,這樣更方便圖書管理系統出現問題時,找到責任人。

第三章 概要設計

3.1總體設計

3.1.1系統目標設計

系統開發的總目標是實現內部圖書借閱管理的系統化、規范化和自動化。能夠對圖書進行注冊登記,也就是將圖書的基本信息(如:書名、作者、價格等)

預先存入數據庫中,供以后檢索。能夠對借閱人進行注冊登記,包括記錄借閱人的姓名、地址、電話等信息。提供方便的查詢方法。如:以書名、作者、出版社、出版時間(確切的時間、時間段、某一時間之前、某一時間之后)等信息進行圖書檢索,并能反映出圖書的借閱情況;以借閱人編號對借閱人信息進行檢索;以出版社名稱查詢出版社聯系方式信息。提供統計分析功能。可以展現出圖書類型比例、庫存與借出比例。提供舊書銷毀功能,對于淘汰、損壞、丟失的書目可及時對數據庫進行修改。能夠對使用該管理系統的用戶進行管理,按照不同的工作職能提供不同的功能授權。提供較為完善的差錯控制與友好的用戶界面,盡量避免誤操作。3.1.2系統功能分析

根據以上功能,將圖書管理系統的數據分為:數據輸入部分:主要包括圖書基本信息的錄入、借閱人基本信息的錄入、用戶基本信息的錄入。數據輸出部分:主要是各種統計查詢,包括:根據圖書信息(如書名、作者、出版社等)查閱圖書及其借閱信息、統計輸出圖書類型比例等。數據處理部分:主要涉及借閱和歸還的處理,如一本書借出后,必須在數據

庫中將該書標記為已借出,以防出現數據庫中有書但圖書館無書的情況;一本書歸還后,同樣必須在數據庫中將其標記為已經歸還,以便再次借出。

概念設計階段主要任務和目標是根據需求分析的結果,包括一般聯系實體,畫出對應的ER圖。對于復雜的系統,通常首先要對它的各功能模進行分析,然后再把它的功能結構圖畫出來,便是設計和優化。功能分析之后,再根據各個崗位、各個用戶對數據和使用權限的不同要求作出局部ER圖,然后再把各個局部ER圖綜合起來形成統一的整體ER圖。

3.2系統設計思想

1、圖書管理系統是典型的信息管理系統(MIS),其開發主要包括后臺數據庫的建立和維護以及前端應用程序的開發兩個方面。圖書管理系統使用的是SQL Server2000的數據管理系統和以Visual Basic6.0為開發工具。

2、首先進行系統設計分析,系統設計主要包括系統功能分析、系統模塊設計以及運行環境的選擇、系統實現過程。

3、然后根據系統功能分析設計出需要的數據庫,繪制系統數據流圖與總結數據字典、設計數據庫結構。

4、最后在實現各個功能模塊時,采用先模塊后系統集成的方式,即各系統功能模塊分別獨立設計和調試,在創建系統主窗體時才將各個功能模塊通過主窗體菜單系統集成到一起,最后進行系統整體的設計和調試。

3.3 系統模塊功能解析

(1)系統設計分析

本圖書管理系統主要有以下功能: 圖書征訂:包括圖書征訂數據的錄入、修改、刪除與審校等功能。圖書編目:包括圖書數目信息的錄入、修改、刪除功能。圖書典藏:包括新書分配、庫室調配等功能。

圖書流通:包括圖書借閱、續借、圖書返還,圖書書目的查詢的功能。系統用戶管理:包括系統用戶數據的錄入、修改與刪除等功能。

讀者數據管理:包括讀者類別管理,讀者個人數據的錄入、修改和刪除功能。(2)系統功能分析

權限功能:權限功能設置的對象為高級管理員、普通管理員、讀者。高級管 刪除所有信息;普通管理員只能對授權范圍內進行相應修改及刪除;讀者 只能查詢借閱記錄和圖書書目不能修改。

錄入功能:為普通管理員提供相應的錄入功能,為高級管理員提供對所有信息的錄入功能。

查詢功能:為所有用戶提供查詢的功能,可查詢允許范圍內的所有信息。維護功能:為普通管理員提供查詢及相應的修改,刪除功能,為高級管理提 供對所有信息的修改刪除功能。

打印功能:可打印圖書征訂計劃。

退出功能:各個功能模塊和主窗體都設有關閉命令按鈕,可方便地退出各模 塊或系統。

第四章 詳細設計

4.1程序設計說明

4.1.1用戶登錄模塊

1.程序描述:此程序用于用戶登陸的至用戶界面,程序通過輸入用戶的ID,用戶密碼的正確性來實現對驗證用戶的真實性。2.功能:實現用戶的登錄功能

3.性能:用戶通過輸入用戶ID,用戶名和密碼進行用戶登陸,通過認證后,用戶

即可進入用戶界面。

4.輸入項:輸入用戶ID,用戶名,密碼5.輸出項:用戶主頁面。流程邏輯如圖所示:

輸入用戶名和密碼N數據庫是否打開Y連接失敗返回N用戶名和密碼是否正確Y輸入次數是否超過5次YN重新輸入密碼關閉數據庫返回登陸成功進入主界面

圖4-1用戶登錄流程邏輯

4.1.2用戶添加模塊

1.程序描述:此程序用于添加新的用戶,用戶通過向數據庫內輸入必要的信息來注冊成為新的用戶,才通過一系列的驗證之后,即注冊成為真正的用戶。

2.功能:實現對用戶的添加功能。

3.性能:查詢新用戶的用戶名是否存在,若存在則停止添加返還數據庫;若用戶不存在,則進行添加,并進行注冊,注冊成功后返回。

4.輸入項:輸入用戶的詳細信息,包括姓名,出生日期,性別,地址,身份證號碼,電話號碼等信息。

5.輸出項:若添加成功,則輸出提示用戶注冊成功界面;若未成功,則提示輸出未成功原因界面。

6.流程邏輯如下圖所示:

輸入用戶信息N判斷數據庫是否打開提示連接失敗返回Y查詢數據庫中是否有該用戶Y提示已經存在該用戶關閉數據庫并返回N向數據庫中添加新用戶提示注冊成功返回

圖4-2用戶添加模塊流程邏輯

4.1.3書籍查詢模塊

1.程序描述:此程序用于實現用戶對想要借閱的查詢功能。用戶通過輸入相應的圖書信息來查詢,數據庫根據用戶提供的信息來搜索,最后給出客戶相應的圖書信息。

2.功能:實現圖書查詢功能。

3.性能:對進行想要查詢的書籍進行搜索,若存在此書則顯示該書的詳細信息;若不存在此書,則提示沒有此書并返回。

4.輸入項:輸入圖書的詳細信息,包括圖書名稱,書籍ID,圖書作者,出版社,單價等信息。

5.輸出項:若輸入的圖書存在即輸出圖書詳細信息界面;若輸入的圖書不存在則顯示圖書不存在界面。

6.流程邏輯如下圖所示:

輸入圖書信息判斷數據庫是否打開Y查詢是否有該書YN連接失敗返回N關閉數據庫返回顯示該書的信息關閉數據庫返回 圖4-3圖書查詢模塊流程

4.1.4圖書借閱模塊

1.程序描述:此程序用于圖書的借閱,用戶通過登錄自己的借閱ID后,對需要借閱的圖書進行借閱操作,如果符合借閱的要求,則可進行借閱。2.功能:實現對圖書的書籍借閱功能。

3.性能:首先驗證借閱者輸入的借閱ID是否存在,若存在進行下一步;若不存在則返回。

4.若借閱ID存在,則檢查此借閱ID是否借閱書籍超出4本,若超出則提示超出借閱數目,返回;若沒有超出,則進行下一操作。

5.對想要借閱的圖書ID進行搜索,若此書不存在,則提示此書不存在;若此書存在則進行下一步操作。

將借閱者借閱的數量増一,將數據庫中此書數量減一,同時提醒借閱成功,然后返回。

6.輸入項:輸入借閱證的ID,圖書ID 7.輸出項:若借閱證ID正確且圖書ID正確且符合借閱要求,則輸出提示借閱成功界面;若存在借閱ID或圖書ID或不符合借閱要求等問題,則輸出提示沒有借閱成功原因的界面。8.流程邏輯如下圖

輸入書籍ID和借閱IDN數據庫是否打開YN借閱卡ID是否存在YY判斷借閱ID是否借書超出4本提示超出最大借書數量關閉數據庫返回提示不存在該借閱者關閉數據庫返回數據庫連接失敗返回NN數據庫中是否存在書籍IDY將借閱者的借書數量加1提示不存在該書籍關閉數據庫返回將書籍的數量減1提示借書成功關閉數據庫返回 圖4-4圖書借閱模塊

4.1.5圖書歸還模塊

1.程序描述:此程序用于圖書的歸還,用戶在登錄自己的ID之后,用戶可以對需要歸還的圖書進行操作,如果符合歸還要求,則可以將圖書歸還。2.功能:實現對圖書的書籍歸還功能。

3.性能:首先驗證借閱者輸入的借閱ID是否存在,若存在進行下一步;若不存在則返回。

對想要歸還的圖書ID進行搜索,若此書不存在,則提示此書不存在;若此書存在則進行下一步操作。將借閱者借閱的數量減一,將數據庫中此書數量加一,同時提醒借閱歸還,然后返回。

4.輸入項:輸入借閱證ID和圖書ID 5.輸出項:若借閱證ID和圖書ID正確,則輸出提示圖書歸還成功界面;若借閱證ID或圖書ID不正確,則輸出提示沒有成功原因的界面。

6.流程邏輯如下圖:

輸入書籍ID和借閱IDN數據庫是否打開YN借閱卡ID是否存在YN提示不存在該書籍關閉數據庫返回提示不存在該借閱者關閉數據庫返回數據庫連接失敗返回數據庫中是否存在書籍IDY將借閱者的借書數量減1將書籍的數量加1提示還書成功關閉數據庫返回 圖4-5圖書歸還模塊

4.1.6新書入庫模塊

1.程序描述:此程序用戶對新進圖書的入口登記處理。用戶可以將新書的詳細信息進行輸入,保存在數據庫中后,新書即登記成功。

2.功能;實現新進圖書入庫功能。

3.性能:對數據庫查詢是否已存在此書,若存在則將此書數量加一,提示添加成功;若沒有此書,則將此書的基本信息存入數據庫,并提示添加書籍成功。

4.輸入項:輸入新書的書籍ID,書名,作者,出版社,單價等信息。

5.輸出項:若添加成功,則輸出提示新書添加成功界面;若沒有添加成功,輸出提示未成功原因界面。

6.流程邏輯如下圖

輸入書籍信息N數據庫是否打開關閉數據庫返回Y是否已經存在Y該書將該書的數量加1提示添加書籍成功關閉數據庫N將該書信息存入數據庫是否是第一條N記錄提示添加書籍成功關閉數據庫返回Y提示添加第一本書籍關閉數據庫返回圖4-6新書入庫模塊

返回

第五章 編碼與測試

5.1各功能模塊的實現

(1)用戶登錄窗體

圖5-1 用戶登錄窗體

用戶登錄代碼:

Const MaxLogTimes As Integer = 3 Private Sub cmdcancel_Click()

If MsgBox(“是否真的退出系統登錄?”, vbYesNo, “登錄驗證”)= vbYes Then

Unload Me

End If End Sub Private Sub cmdok_Click()

Static intLogTimes As Integer

intLogTimes = intLogTimes + 1

If intLogTimes > MaxLogTimes Then

MsgBox “超過登錄次數!”, vbCritical, “登錄驗證”

Else

With Library_Manage.rsSysUsers

.Open

If.RecordCount > 0 Then

.MoveFirst

.Find “編號=” & Trim(txtLog(0))& “"

If.EOF Then

MsgBox Trim(txtLog(0))& ”不是系統用戶,請檢查輸入!“, vbCritical, ”登錄驗證“

txtLog(0).SetFocus

txtLog(0).SelStart = 0

txtLog(0).SelLength = Len(txtLog(0))

ElseIf.Fields(”口令“)<> Trim(txtLog(1))Then

MsgBox ”口令錯誤,請檢查輸入口令!“, vbCritical, ”登錄驗證“

txtLog(1).SetFocus: txtLog(1)= ”“

Else

CurrentUserNum =.Fields(編號)

CurrentUserPassword =.Fields(”口令“)

CurrentUserStatus =.Fields(”權限“)

MsgBox ”歡迎使用常州信息學院管理系統!“, vbInformation, ”登陸成功!“

Unload Me

End If

End If

.Close

End With

End If End Sub Private Sub Form_Load()

SysLogon.BackColor = RGB(192, 210, 270)End Sub(2)用戶管理窗體界面

圖5-2 用戶管理窗體

用戶管理窗體代碼 '保存

Private Sub cmdSave_Click()

Dim objcopy As New Recordset

If Trim(txtNum)= ”“ Then

MsgBox ”不能為空!“, vbCritical, ”系統用戶管理“

txtNum.SetFocus

txtNum.SelStart = 0

txtNum.SelLength = Len(txtNum)

ElseIf Len(Trim(txtPwd))<> 6 Then

MsgBox ”用戶口令須為6位字符串!“, vbCritical, ”系統用戶管理“

txtPwd.SetFocus

txtPwd.SelStart = 0

txtPwd.SelLength = Len(txtPwd)ElseIf Not txtAuth Like ”[0,1]“ Then

MsgBox ”用戶權限必須為0或1“, vbCritical, ”系統用戶管理“

txtAuth = ”“

txtAuth.SetFocus Else

Set objcopy = Library_Manage.rsSysUsers.Clone '對錯?

With objcopy

If.RecordCount > 0 Then

.MoveFirst

.Find ”編號“ & Trim(txtNum)& ”“

If Not.EOF And.AbsolutePosition <> Library_Manage.rsSysUsers.AbsolutePosition Then

MsgBox ”編號:“ & Trim(txtNum)& ”已被使用,請選擇其他編號!“, vbCritical, ”系統用戶管理“

txtNum.SetFocus

txtNum.SelStart = 0

txtNum.SelLength = Len(txtNum)

Exit Sub

Else

'保存記錄

Library_Manage.rsSysUsers.Update

MsgBox ”數據保存成功!“, vbInformation, ”系統用戶管理“

cmdAdd.Enabled = True

cmdDel.Enabled = True

isAdding = False: picNavigation.Enabled = True

End If

End With End If End Sub Private Sub Form_Load()

cmdMove(0).Value = True End Sub(3)讀者數據管理窗體界面

圖5-3 讀者數據管理窗體

讀者數據管理窗體代碼

Library_Manage.Library_Manage_Con.Execute ”TRUNCATE TABLE 讀者類別“

With Library_Manage.ReaderType

If.State = adStateClosed Then.Open

.AddNew

.Fields(”編號“)= ”0“

.Fields(”名稱“)= ”特殊“

.Fields(”借書量“)= Val(txtSp(1))

.Fields(”借書期“)= Val(txtSp(2))

.Fields(”有效期“)= Val(txtSp(3))

.Update

.AddNew

.Fields(”編號“)= ”1“

.Fields(”名稱“)= ”館員“

.Fields(”借書量“)= Val(txtL(1))

.Fields(”借書期“)= Val(txtL(2))

.Fields(”有效期“)= Val(txtL(3))

.Update

.AddNew

.Update

.AddNew

.Fields(”編號“)= ”2“

.Fields(”名稱“)= ”教師“

.Fields(”借書量“)= Val(txtT(1))

.Fields(”借書期“)= Val(txtT(2))

.Fields(”有效期“)= Val(txtT(3))

.Update

.AddNew

.Fields(”編號“)= ”3“

.Fields(”名稱“)= ”學生“

.Fields(”借書量“)= Val(txtS(1))

.Fields(”借書期“)= Val(txtS(2))

.Fields(”有效期“)= Val(txtS(3))

.Update

End With End Sub Private Sub Form_Load()cmdMove(0).Value = True End Sub Private Sub SSTab1_DblClick()End Sub(4)圖書征訂管理窗體

圖5-4 圖書征訂管理窗體

圖書征訂管理代碼

txtPubDate.SelLength = Len(txtPubDate)

ElseIf Trim(txtAuthor)= ”“ Then

MsgBox ”作者不能為空!“, vbCritical, ”圖書征訂管理“

txtAuthor.SetFocus

txtAuthor.SelStart = 0

txtAuthor.SelLength = Len(txtAuthor)

ElseIf Val(txtNum)= ”“ Then

MsgBox ”正的數量無效!“, vbCritical, ”圖書征訂管理“

txtNum.SetFocus

txtNum.SelStart = 0

txtNum.SelLength = Len(txtNum)

ElseIf Not IsDate(txtDate)= ”“ Then

MsgBox ”作者不能為空!“, vbCritical, ”圖書征訂管理“

txtDate.SetFocus

txtDate.SelStart = 0

txtDate.SelLength = Len(txtDate)

Else

'保存記錄

Library_Manage.rsBooksOrder.Update

MsgBox ”數據保存成功!“, vbInformation, ”圖書征訂管理“

cmdAdd.Enabled = True: cmdDel.Enabled = True

cmdExam.Enabled = True: cmdRefresh.Enabled = True

isAdding = False: picNavigation.Enabled = True

End If End Sub Dim objcopy As Recordset Private Sub cmbOut_Click()

AddListOut

End Sub Private Sub cmdAddAll_Click(Index As Integer)'選擇全部條碼

ListItem_Add lstPre(Index), LstIn(Index), Index, True End Sub Private Sub cmdAddOne_Click(Index As Integer)'選擇當前條碼

ListItem_Add lstPre(Index), LstIn(Index), Index, False End Sub Private Sub cmdExit_Click()

If LstIn(0).ListCount > 0 Then

If MsgBox(”你選定了部分新書準備入庫,但沒執行保存操作“ & vbCr & ”是否要執行保存操作?“, vbCritical + vbYesNo, ”圖書典藏管理“)= vbYes Then

SSTab1.Tab = 0

cmdSave.Value = True

End If

ElseIf LstIn(1).ListCount > 0 Then

If MsgBox(”你選定了部分新書準備入庫,但沒執行保存操作“ & vbCr & ”是否要執行保存操作?“, vbCritical + vbYesNo, ”圖書典藏管理“)= vbYes Then

SSTab1.Tab = 1

cmdSave.Value = True

End If

End If

Unload Me End Sub '刷新新書或調出庫室條碼列表

Private Sub cmdRefresh_Click(Index As Integer)

Select Case Index

Case 0 '刷新新書列表

With Library_Manage.rsBooksBibli

If.State = adStateClosed Then.Open

.Requery

End With

AddListNew

Case 1 '刷新庫室條碼列表

With Library_Manage.rsBooksStore

If.State = adStateClosed Then.Open

.Requery

End With

AddListOut

End Select End Sub Public Sub AddListNew()

lstPre(0).Clear

With Library_Manage.rsBooksBibli

If.State = adStateClosed Then.Open

If.RecordCount > 0 Then

.MoveFirst

While Not.EOF

lstPre(0).AddItem.Fields(”條碼“)

.MoveNext

Wend

Else

lstPre(0).AddItem ”當前無待分配新書"

End If End With End Sub 5.2 測試

5.2.1 借閱卡管理測試

進度安排測試辦理借閱證信息,檢查個人賬號、讀者可自行修改密碼。測試查詢借閱卡信息的正確性,包括輸入的讀者信息等。測試借閱卡掛失功能,包括讀者信息等。

5.2.2 書籍管理測試

進度安排:測試新書入庫信息的正確性。測試借書、還書功能信息正確性。測試書籍掛失信息的正確性。測試圖書信息查詢的正確性。測試借書信息查詢的正確性。

5.2.3 系統管理測試

進度安排測試注冊管理員信息的正確性。測試修改密碼信息的正確性。

結束語

對于這篇論文我有不少心得體會。這次是對我們掌握所學知識的一次考核。它可以讓我們了解自己一學期里的學習情況,有助于在今后的學習中加以改進。通過這次上機實驗,我發現了自己對數據庫和vb語言掌握的并不牢,有的知識點根本就不懂。這都要怪自己在平時的學習過程中不夠用心,不懂的地方也沒有及時的去搞懂,課后也沒怎么花時間去研究。這次實驗我覺得自己不僅學到了很多軟件設計方面的知識,也讓我鞏固了以前所學的知識以及看到了自己以前學習中的不足之處。

在今后的學習過程中,我一定會認真學習專業課程,再也不能像以前那樣迷迷糊糊的,課后要多花時間去研究一些有關編程方面的題目,不懂的地方及時把它弄懂。以后自己還要多動手編寫一些程序。在這里我要感謝學校能提供這么一個寶貴的機會,我們可以把課堂上所學的理論知識運用到實踐中去,把書上的東西變成我們自己的。這個機會既讓我們學習鞏固了知識,也讓我們發現了自己的不足之處。特別要感謝我們的指導老師,正因為有了您的幫助我們才可以完成實驗。我也希望今后還會有更多的機會讓我們去實踐,去充實自己。

致 謝

在本次設計的過程中,老師們給了我們很大的幫助。不僅使我們在規定時間內完成了系統的設計,同時還使我們學到了很多有益的知識和寶貴的經驗在此,我謹向他們表示最衷心的感謝。感謝老師的指導,使我們充分利用軟件工程,VB,數據庫原理開發出自己的項目.在開發的過程中使我體會到了工程化開發方法和瀑布模型利用的重要性,在此還要感謝所有合作參與項目開發的同學們這次畢業設計的成功離不開所有參與的同學們的幫助和支持,是他們讓我知道了團隊工作的重要.參考文獻

1、陶宏才.數據庫原理及設計[M].北京:清華大學出版社.2004.2、陸麗娜.軟件工程 [M].北京:經濟科學出版社.1999

3、郝志恒、劉舫.Visual Basic 6.0 編程篇[M] 北京:電子工業出版社 2004

4、劉世峰.數據庫基礎與應用[M] 北京: 中央電大出版社 2003

5、吳斌、魯大林.Visual Basic+SQL Sever數據庫應用系統開發[M] 北京:機械工程出版社 2008

6、邱李華.SQL Server 2000 數據庫應用教程[M] 北京:人民郵電出版社 2007

7、鐘軍.Visual Basic數據庫高級實例導航[M] 北京:清華大學出版社 2003

8、趙松濤.Visual Basic+SQL Server 2000 系統開發實錄[M] 北京: 機械工業出版社 2007

第四篇:圖書管理系統

圖書管理系統

背景:當今時代是飛速發展的信息時代,在各行各業中離不開信息處理,這正是計算機被廣泛應用于信息管理系統的環境。計算機的最大好處在于利用它能夠進行信息管理。使用計算機進行信息控制,不僅提高了工作效率,而且大大提高了其安全性。

隨著圖書館的藏書、管理人員、讀者數量的不斷增多,如何對書籍以及讀者信息、讀者借閱信息進行管理成為一個難題。圖書涉及大量的數據處理,如果用手工來完成龐大的數據處理,不僅費時費力,還容易出錯。為了滿足圖書管理的需要,急需要一套圖書管理系統來完成這項工作。作為計算機應用的一部分,使用計算機對圖書信息進行管理,具有手工管理所無法比擬的優點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優點能夠極大地提高圖書管理的效率,也是圖書館信息的科學化、正規化管理的重要條件。因此將詳細分析一個圖書館系統地實現過程。從需求分析、架構設計、系統建模、詳細設計、代碼實現逐步展開分析,整個過程按照軟件實際流程進行。

意義:通過學習JAVA語言,又加深對面向對象分析,確定問題域中的對象及對象間關系,并建立起問題域的對象模型。面向對象的設計方法是一種進行程序設計的新方法,它吸取了結構化程序設計的先進思想,為解決程序結構過于復雜而產生。它的思想是在進行程序設計時,把整個問題分成由相關部分組成的組,每個組考慮和組相關的代碼和數據,同時這些分組將按層次關系組織起來,每個分組轉換為對象的獨立單元。面向對象的程序設計語言都具有多態性、繼承性、封裝性等特點。學習以后對JAVA程序設計有了深入的了解,JAVA語言程序設計要求結構緊湊,概念準確。

實踐項目:圖書管理系統。

主要完成這個項目的,可以實現圖書系統的系統化和自動化,幫助圖書管理人員更好更高效地完成圖書管理工作。需求分析:圖書管理系統需要滿足三方面的需求,這三個方面分別是圖書借閱者、圖書館工作人員和圖書館管理人員。圖書借閱者的需求是查詢圖書館所存的圖書、個人借閱情況及個人信息的修改;圖書館工作人員對圖書借閱者的借閱及還書要求進行操作,同時形成借書或還書記錄;圖書館管理人員的功能最復雜,包括對圖書借閱者、圖書進行管理和維護,及系統狀態的查看、維護。

圖書借閱者可直接查看圖書館圖書情況,如果圖書借閱者根據本人借書證號和密碼登錄系統,還可以進行本人借書情況的查詢并維護部分個人信息。一般情況下,圖書借閱者只應該查詢和維護本人的借書情況和信息,若查詢和維護其他借閱者的借書情況和信息,就要知道其他圖書借閱者的借書證號和密碼。這些是很難得到的,特別是密碼,所以不但滿足了圖書借閱者的要求,還保護了圖書借閱者的個人隱私。

圖書館工作人員有修改圖書借閱者借書和還書記錄的權限,在此模塊中,圖書館工作人員可以為圖書借閱者加入借書記錄或是還書記錄。

圖書館管理人員功能的信息量大,數據安全性和保密性要求最高。本功能實現對圖書信息、借閱者信息、總體借閱情況信息的管理和信息查看及維護。圖書館管理員可以瀏覽、查詢、添加、刪除、修改圖書的基本信息;瀏覽、查詢、添加、刪除和修改圖書借閱者的基本信息,但不能添加、刪除和修改借閱信息,這部分功能應該由圖書館工作人員執行,但是,刪除某條圖書借閱者基本信息記錄時,應實現對該圖書借閱者借閱記錄的級聯刪除。

功能如下:⑴書籍管理部分:主要包括讀者類別和書籍信息管理兩部分。其中,書籍類別管理包括添加書籍類別、修改書籍類別等;書籍信息管理包括書籍信息的添加、書籍信息的修改、書籍信息的查詢、書籍信息的刪除等。

⑵讀者管理部分:主要包括讀者類別管理和讀者信息管理兩部分。其中,讀者類別管理包括添加讀者類

別、修改讀者類別等;讀者信息管理包括添加讀者信息、修改讀者信息、刪除讀者信息、查詢讀者信息等。

⑶借閱管理部分:主要包括借書信息管理和還書信息管理兩部分。其中,借書信息管理包括借書信息的添加、借書信息的修改、借書信息的查詢等;還書信息管理部分包括還書信息的添加、還書信息的修改、還書信息的查詢等。

⑷系統管理部分:包括修改系統用戶密碼、增加新用戶以及退出系統等

所以,該圖書管理系統能夠是圖書管理員方便地管理圖書館內的多種事務,讓圖書館工作人員更有效地

為讀者提供借閱、歸還書籍的服務,也能夠為讀者提供查詢書籍信息、個人借閱信息。

數據庫流程分析:

1.數據處理流程

數據庫或數據表結構確定之后,在實際的數據處理程序設計之前需要對所處理的數據處理流程作必要的分析。所謂對數據處理流程作必要的分析是指找出各數據之間的主要關系,數據存取的主要走向。另外,在實際的數據處理過程中還會有些細節問題。在遇到這些細節問題時,及時處理即可。并且,有些細節問題不是在做數據處理流程分析時事先都能預料的。對于現在這個數據處理系統來說,最主要的工作實際就是三項:

1)讀者信息的基本情況及時錄入數據庫;

2)要將讀者查詢情況及時錄入數據庫;

3)對讀者操作情況進行匯總。

整體數據流:管理員通過密碼進入系統,分別對上述幾大功能逐一實現。

在數據關系簡單的情況下對數據處理,可以在將數據庫設計好之后直接設計程序。但是按正規的數據庫管理系統的設計程序,無論要處理的數據關系復雜與否都應在做程序設計之前做好數據的流程分析。

2.管理窗體

創建該窗體,根據相關操作可以完成個人信息、圖書信息、管理操作、系統設置等功能實現,在圖書信息里可以進行圖書查詢、圖書借閱、圖書歸還、圖書續借等功能。

總結:圖書管理系統可以有效的省去很多的認為登記錯誤,并且能夠節省廣大的師生寶貴時間。另一方面,圖書

館里系統具有界面清晰,操作方便,功能少而使用,實現圖書館工作的自動化,減少手工勞動量帶來的數據遺漏,誤報等人為因素,提高工作效率,也增強系統的通用性。但是完善的系統也會有所弊處,有計算機操控的系統,一旦系統出現問題,整個圖書館的借閱系統也會跟著癱瘓,帶來不便。所以,也要經常的去維護系統,這樣才能給我們提供一個安全的信息處理方法。

管理信息系統創建,首先數據庫在一個管理系統中占有非常重要的地位,數據庫設計的好壞將直接對應用系

統的效率以及實現的效果產生影響。合理的數據庫結構設計可以提高數據存儲的效率,以確保數據的完整性和一致性。設計數據庫系統時應該首先充分了解用戶各個方面的需求,包括現有的以及將來可能增加的需求。數據庫設計一般包括如下幾個步驟:數據庫需求分析;數據庫邏輯結構設計;數據庫概念結構設計;數據庫物理設計。設計中詳細的總結了該系統的系統設計部分,包括功能模塊設計、數據庫結構設計等。系統設計為整個程序構建了骨架,各個功能模塊實現各個細節部分。通過本次課程設計知道了各種數據之間的相互關系,并在操作中用適當的SQL語句和存儲過程實現。本系統還實現了VB通過ODBC對SQL的數據庫快遞、高效訪問和更新功能。

通過這次課程設計懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設計的過程中遇到問題,可以說得是困難重重,難免會遇到過各種各樣的問題,同時在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,通過這次課程設計之后,一定把以前所學過的知識重新溫故。

在程序設計與代碼編寫階段我們遇到了很多的問題,由于我們組中的人大部分都是第一次開發數據庫系統,所以對數據庫開發的流程不熟息,而且在數據庫的與編程系統的連接方面也遇到了很多的問題。

第五篇:圖書管理系統

七個文件

1.book.txt存放書籍

2.borrower.txt存放借閱信息

3.chenwen.txt 存放開始信息

4.mima.txt存放密碼 5.qianyan.txt前言

6.student.txt存放學生信息

7.yuyue.txt 存放預約信息

#include #include #include void guanliyuan();void youke();typedef struct borrower{ struct borrower *next;struct borrower *front;int book;int stu;

int times;

int sum;}Borr;typedef struct stus{ int numbers;char mark[40];

char name[40];

char xueyuan[40];

int sum;

struct stus *next;

struct stus *front;}Stus;typedef struct books{ struct books *front;int numbers;char name[40];char author[40];char type[40];char publisher[40];int sum;int cun;struct books *next;}Books;void chenwenxie4();void chenwen();void time();void time1();void fangkuang();void printstudent1(Stus *head);Borr* buildborrowerlist();Books* buildbookslist();Stus* buildstudentlist();Books* insertbook(Books *head1,Books *pa);Stus* insertstudent(Stus *head2,Stus *pb);Borr* insertborrower(Borr *head3,Borr *pc);Books* chenwensousou11(Books* head11,int num11);Books* chenwensousou12(Books* head12,char name12[]);Books* chenwensousou13(Books* head13,int num13);Books* chenwensousou15(Books* head22,char name22[]);Stus* chenwensousou21(Stus* head21,int num21);Stus* chenwensousou22(Stus* head22,char name22[]);Stus* chenwensousou23(Stus* head23,int num23);Borr* chenwensousou31(Borr* head31,int num31);Borr* chenwensousou32(Borr* head32,int num32);Borr* chenwensousou33(Borr* head33,int num33);Borr* chenwensousou34(Borr* head34,int num34);Books* deletebook1(Books *head,int num);Stus* deletestudent1(Stus *head,int num);Borr* deleteborrower1(Borr *head,int num);Borr* deleteborrower2(Borr *head,int num);Books* booksorting11(Books *head);Books* booksorting12(Books *head);Stus* studentsorting21(Stus *head);Stus* studentsorting22(Stus *head);Borr* borrowersorting31(Borr *head);Borr* borrowersorting32(Borr *head);Borr* borrowersorting33(Borr *head);Books* chenwensousou14(Books* head12,char type[]);void printbook(Books *head);void printborrower(Borr *head);void chenwendu1(Books *head);void chenwendu2(Stus *head);void chenwendu3(Borr *head);Books* chenwenxie1();Stus* chenwenxie2();Stus* chenwenxie22();Borr* chenwenxie3();Borr* yuyuexie();void yuyuedu(Borr *head);Books bookcreat();Stus studentcreat();Borr borrowercreat();void time2();void qingkong();void qingkong1();void qingkong2();void qingkong3();int yanzheng(Books* head,int num);int yanzheng1(Stus* head,int num);int yanzheng2(Borr* head,int num);int yanzheng3(int num);void bianli(Books *head1,Stus *head2,Borr *head3);void sousuo(Books *head1,Stus *head2,Borr *head3);void paixu(Books *head1,Stus *head2,Borr *head3);void mimadu(char a[]);void sousuo1(Borr *headborrower);char* mimaxie();void qingkong4();void tishi1();void tishi2();int main(){ int n=0,i;char choice=3,ch[40],ch1[3]=“是”,cw;printf(“████████████▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉█▉n”);time();

printf(“█┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓█n”);time();

printf(“█┃******************歡迎進入河南工業大學圖書管理系統********************* ┃▉n”);time();

printf(“█┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛█n”);time();

printf(“████████████▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉██n”);

for(i=0;i<25;i++)

time();system(“cls”);chenwen();chenwenxie4();while(1){

scanf(“%s”,ch);

if(strcmp(ch,ch1)==0)

break;

else{

system(“cls”);

printf(“████████████▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉█▉n”);

printf(“█┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓█n”);

printf(“■┃〓〓〓〓〓〓〓對不起,你尚未同意該協議,不能使用該系統〓〓〓〓〓〓〓〓〓┃█n”);

printf(“█┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛█n”);

printf(“█ ▓▓▓▓▓▓▓▓▓▓我已閱讀并同意該協議?(是/否)▓▓▓▓▓▓▓▓▓▓▓▓ ▉n”);

printf(“████████████▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉█▉n”);

} } getchar();system(“cls”);while(n==0){ printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);printf(“ ┃ ▼▲▼▲▼▲▼▲▼歡迎進入河南工業大學圖書管理系統 ▼▲▼▲▼▲▼▲▼

┃n”);printf(“ ┣━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━┫n”);printf(“ ┃

★(0)退出

★(1)管理員登錄

★(2)學生登錄

┃n”);printf(“ ┣━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━┫n”);printf(“ ┃

▂▃▄▅▆▇█▉▊▋▌●●● 請輸入選擇●●●▌▋▊█▉▇▆▅▄▃▂

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%c”,&choice)&&choice>='0'&&choice<='2'){

scanf(“%c”,&cw);

if(cw!='n'){

tishi2();

while(cw!='n'){

scanf(“%c”,&cw);

}

continue;

}

switch(choice){

case '0':system(“cls”);

chenwen();

return 0;

case '1':guanliyuan();

break;

case '2':youke();

break;

}

}

else{

tishi2();

while(choice!='n'){

scanf(“%c”,&choice);

}

} } printf(“████████████▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉█▉n”);time();

printf(“█┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓█n”);time();

printf(“█┃******************謝謝使用河南工業大學圖書管理系統********************* ┃▉n”);time();

printf(“█┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛█n”);time();

printf(“████████████▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉██n”);

for(i=0;i<25;i++)

time();system(“cls”);return 0;} void guanliyuan(){

char choice,choice1,choice2,cw;

int f=1;int n=0,j=3,l=0,a=0,g=0;

char *ppp=(char *)malloc(40*sizeof(char));Books *headbook=chenwenxie1(),*pa=NULL,*book;Stus *headstudent=chenwenxie2(),*pb=NULL,*stu;Borr *headborrower=chenwenxie3(),*pc=NULL,*headyuyue=yuyuexie(),*yu;char p[40];p[0]='4',p[1]='3',p[2]='1',p[3]='5',p[4]='c',p[5]='w';

ppp=mimaxie();system(“cls”);printf(“

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);printf(“

┃◆◆◆◆◆◆◆◆◆◆◆◆歡迎管理員登陸◆◆◆◆◆◆◆◆◆◆◆◆┃n”);printf(“

┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);printf(“

┃▁▂▃▄▅▆▇█▉▊▋▌▌請輸入密碼▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);printf(“

┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);printf(“

┃ ▓▓▓▓▓▓▓▓▓▓★你一共有3次機會★▓▓▓▓▓▓▓▓▓▓▓┃n”);printf(“

┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

g=0;

while(n==0){

scanf(“%s”,p+6);

if(strcmp(ppp,p)==0){

getchar();

l=0;

system(“cls”);

while(1){

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃*****************************您享有的操作*******************************┃n”);

printf(“ ┃************************************************************************┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃ ★(0)返回上級 ★(1)創建列表 ★(2)插入(借還)★(3)刪除(借還)★(4)遍歷

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

★(5)排序

★(6)搜索

★(7)修改密碼

★(8)保存

★(9)清空文件

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃▉▉▉▉▉▉▉▉▉▉▉▉▉●●●請輸入選擇●●●▉▉▉▉▉▉▉▉▉▉▉▉┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%c”,&choice)&&choice>='0'&&choice<='9'){

scanf(“%c”,&cw);

if(cw!='n'){

tishi2();

while(cw!='n'){

scanf(“%c”,&cw);

}

continue;

}

switch(choice){

case '0':

system(“cls”);

break;

case '1':{

system(“cls”);

while(n==0){

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃*****************************您享有的操作*******************************┃n”);

printf(“ ┃************************************************************************┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

★(0)返回上級

★(1)創建圖書鏈表 ★(2)創建學生鏈表 ★(3)創建借閱鏈表

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃▉▉▉▉▉▉▉▉▉▉▉▉▉●●●請輸入選擇●●●▉▉▉▉▉▉▉▉▉▉▉▉┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%c”,&choice1)&&choice1>='0'&&choice1<='3'){

scanf(“%c”,&cw);

if(cw!='n'){

tishi2();

while(cw!='n'){

scanf(“%c”,&cw);

}

continue;

}

switch(choice1){

case '0':

system(“cls”);

break;

case '1':headbook=buildbookslist();

g=1;

break;

case '2':headstudent=buildstudentlist();

g=1;

break;

case '3':headborrower=buildborrowerlist();

g=1;

break;

}

}

else{

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓對不起,您的輸入有誤▓▓▓▓▓▓▓▓▓▓▓▓┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

while(choice1!='n'){

scanf(“%c”,&choice1);

}

}

if(choice1=='0'){

break;

}

}

}

break;

case '2': {

system(“cls”);

while(n==0){

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃*****************************您享有的操作*******************************┃n”);

printf(“ ┃************************************************************************┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

★(0)返回上級

★(1)插入圖書信息 ★(2)插入學生信息

★(3)插入借閱信息 ┃n”);

printf(“ ┃________________________________________________________________________┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃▉▉▉▉▉▉▉▉▉▉▉▉▉●●●請輸入選擇●●●▉▉▉▉▉▉▉▉▉▉▉▉┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%c”,&choice1)&&choice1>='0'&&choice1<='3'){

scanf(“%c”,&cw);

if(cw!='n'){

tishi2();

while(cw!='n'){

scanf(“%c”,&cw);

}

continue;

}

switch(choice1){

case '0':

system(“cls”);

break;

case '1':{

system(“cls”);

if(headbook==NULL){

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓圖書鏈表為空,請先創建圖書鏈表〓〓〓〓〓〓〓〓〓〓┃n”);

}

else{

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃*****************************您享有的操作*******************************┃n”);

printf(“ ┃************************************************************************┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃████████████請輸入你要插入的圖書信息████████████┃|n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

★1.編號

★2.書名

★3.作者

★4.類型

★5.出版社

★(6)庫存

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃▲▼●◆■★▼▲★■◆請依次輸入(用空格隔開)▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if((pa=(Books *)malloc(sizeof(Books)))==NULL){

printf(“Not able to allocate memory.n”);

exit(1);

}

while(scanf(“%d”,&pa->numbers)&&scanf(“%s”,pa->name)&&scanf(“%s”,pa->author)&&scanf(“%s”,pa->type)&&scanf(“%s”,pa->publisher)&&scanf(“%d”,&pa->cun)){

getchar();

system(“cls”);

headbook=insertbook(headbook,pa);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓恭喜你,插入成功▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);

l=1;

break;

}

if(l==0){

tishi2();

getchar();

}

}

l=0;

break;

}

case '2':{

if(headstudent==NULL){

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃

██████████學生鏈表為空,請先創建學生鏈表██████████ ┃n”);

}

else{

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃*****************************您享有的操作*******************************┃n”);

printf(“ ┃************************************************************************┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃████████████請輸入你要插入的學生信息████████████┃|n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

★1.學號★

★2.姓名★

★3.學院★

★4.身份證★

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃▲▼●◆■★▼▲★■◆請依次輸入(用空格隔開)▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if((pb=(Stus *)malloc(sizeof(Stus)))==NULL){

printf(“Not able to allocate memory.n”);

exit(1);

}

while(scanf(“%d”,&pb->numbers)&&scanf(“%s”,pb->name)&&scanf(“%s”,pb->xueyuan)&&scanf(“%s”,pb->mark)){

getchar();

stu=chenwensousou21(chenwenxie2(),pb->numbers);

if(stu!=NULL){

free(pb);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓對不起,該學號已存在▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

l=1;

system(“pause”);

system(“cls”);

break;

}

headstudent=insertstudent(headstudent,pb);

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓恭喜你,插入成功▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);

l=1;

break;

}

if(l==0){

tishi2();

getchar();

}

}

l=0;

break;

}

case '3':{

if(headborrower==NULL){

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃

██████████借閱鏈表為空,請先創建借閱鏈表██████████ ┃n”);

}

else{

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃*****************************您享有的操作*******************************┃n”);

printf(“ ┃************************************************************************┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃████████████請輸入你要插入的借閱信息████████████┃|n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

★★1.學號★★

★★2.書編★★

★★3.時間★★

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃***********請注意:(時間格式 年月日 比如1992年08月13日為920813)**********┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃▲▼●◆■★▼▲★■◆請依次輸入(用空格隔開)▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if((pc=(Borr *)malloc(sizeof(Borr)))==NULL){

printf(“Not able to allocate memory.n”);

exit(1);

}

while(scanf(“%d”,&pc->stu)&&scanf(“%d”,&pc->book)&&scanf(“%d”,&pc->times)){

if(yanzheng2(chenwenxie3(),pc->book)==0){

free(pc);

break;

}

stu=chenwensousou21(chenwenxie2(),pc->stu);

if(stu==NULL){

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓對不起,該學號不存在▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

free(pc);

system(“pause”);

system(“cls”);

break;

}

if(chenwensousou11(chenwenxie1(),pc->book)==NULL){

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓對不起,該書編不存在▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

free(pc);

system(“pause”);

system(“cls”);

break;

}

book=chenwensousou11(chenwenxie1(),pc->book);

book->cun--;

getchar();

if(headyuyue!=NULL)

yu=chenwensousou32(headyuyue,pc->book);

if(yu!=NULL&&headyuyue!=NULL){

headyuyue=deleteborrower1(yuyuexie(),pc->book);

if(headyuyue!=NULL)

yuyuedu(headyuyue);

else{

qingkong4();

}

}

headborrower=insertborrower(headborrower,pc);

if(headbook!=NULL)

chenwendu1(headbook);

if(headborrower!=NULL)

chenwendu3(headborrower);

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓恭喜你,插入成功▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);

l=1;

break;

}

if(l==0){

tishi2();

getchar();

}

}

l=0;

break;

}

}

}

else{

tishi2();

while(choice1!='n'){

scanf(“%c”,&choice1);

}

}

if(choice1=='0'){

break;

}

}

}

break;

case '3':

system(“cls”);

{

while(n==0)

{

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃*****************************您享有的操作*******************************┃n”);

printf(“ ┃************************************************************************┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃████████████請輸入你要刪除的借閱信息████████████┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃ ★(0)返回上級

★(1)刪除圖書信息

★(2)刪除學生信息

★(3)刪除借閱信息 ┃n ”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃▉▉▉▉▉▉▉▉▉▉▉▉▉●●●請輸入選擇●●●▉▉▉▉▉▉▉▉▉▉▉▉┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%c”,&choice2)&&choice2>='0'&&choice2<='3')

{

scanf(“%c”,&cw);

if(cw!='n'){

tishi2();

while(cw!='n'){

scanf(“%c”,&cw);

}

continue;

}

switch(choice2)

{

case '0':

system(“cls”);

break;

case '1':

{

if(headbook==NULL){

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓圖書鏈表為空,請先創建圖書鏈表〓〓〓〓〓〓〓〓〓〓┃n”);

}

else

{

system(“cls”);

while(n==0)

{

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃*****************************您享有的操作*******************************┃n”);

printf(“ ┃************************************************************************┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃━━━━━━━━━━━請輸入你要刪除的圖書信息的━━━━━━━━━━━━┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

★0.返回上級

★1.編號

★2.書名

★3.位置

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃▉▉▉▉▉▉▉▉▉▉▉▉▉●●●請輸入選擇●●●▉▉▉▉▉▉▉▉▉▉▉▉┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if((pa=(Books *)malloc(sizeof(Books)))==NULL)

{

printf(“Not able to allocate memory.n”);

exit(1);

}

if(scanf(“%c”,&choice1)&&choice1>='0'&&choice1<='3')

{

scanf(“%c”,&cw);

if(cw!='n'){

tishi2();

while(cw!='n'){

scanf(“%c”,&cw);

}

continue;

}

switch(choice1)

{

case '0':

system(“cls”);

break;

case '1':

if(headbook==NULL){

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請先創建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

break;

}

system(“cls”);

tishi1();

printf(“ ┃

輸入編號●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%d”,&pa->numbers))

{

getchar();

pa=chenwensousou11(headbook,pa->numbers);

}

else

{

getchar();

pa=NULL;

}

break;

case '2':

if(headbook==NULL){

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請先創建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

break;

}

system(“cls”);

tishi1();

printf(“ ┃

輸入書名●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%s”,pa->name))

{

getchar();

pa=chenwensousou15(headbook,pa->name);

}

else

{

getchar();

pa=NULL;

}

break;

case '3':

if(headbook==NULL){

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請先創建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

break;

}

system(“cls”);

tishi1();

printf(“ ┃

輸入位置●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%d”,&pa->sum))

{

getchar();

pa=chenwensousou13(headbook,pa->sum);

}

else

{

getchar();

pa=NULL;

}

break;

}

if(choice1=='0')

{

break;

}

if(pa==NULL)

{

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓〓沒有找到你想刪除的信息〓〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

}

else

{

if(headbook==NULL){

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請先創建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

break;

}

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃◆◆◆◆◆◆◆◆◆◆◆◆你要刪除的信息是這些嘛?◆◆◆◆◆◆◆◆◆◆◆◆┃n”);

printf(“ ┣━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┫n”);

printf(“ ┃

①編號┃

②書名┃

③作者 ┃n”);

printf(“ ┣━━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫n”);

printf(“ ┃ %21d ┃ %21s┃ %20s ┃n”,pa->numbers,pa->name,pa->author);

printf(“ ┣━━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━┳━━━━━┫n”);

printf(“ ┃

④類型┃

⑤出版社┃

⑥位置┃

⑦庫存量┃n”);

printf(“ ┣━━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━╋━━━━━┫n”);

printf(“ ┃ %23s┃ %21s┃%10d┃%10d┃n”,pa->type,pa->publisher,pa->sum,pa->cun);

printf(“ ┣━━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━┻━━━━━┫n”);

printf(“ ┃

★(0)不刪除,返回上級

★(1)刪除

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%c”,&choice2)&&choice2=='0'){

system(“cls”);

break;

}

if(choice2!='1'){

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓你的輸入有誤,此信息未刪除〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

system(“pause”);

system(“cls”);

break;

}

headbook=deletebook1(headbook,pa->numbers);

if(headbook!=NULL)

chenwendu1(headbook);

if(headborrower!=NULL)

headborrower=deleteborrower1(headborrower,pa->numbers);

if(headborrower!=NULL)

chenwendu3(headborrower);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓恭喜你,刪除成功〓〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

}

}

else

{

tishi2();

while(choice1!='n')

scanf(“%c”,&choice1);

}

}

}

break;

}

case '2':

{

if(headstudent==NULL){

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請先創建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

}

else

{

system(“cls”);

while(n==0)

{

tishi1();

printf(“ ┃━━━━━━━━━━━━請輸入你要刪的學生信息的━━━━━━━━━━━┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

★0.返回上級

★1.學號

★2.名字

★3.位置

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

請輸入選擇●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if((pb=(Stus *)malloc(sizeof(Stus)))==NULL)

{

printf(“Not able to allocate memory.n”);

exit(1);

}

if(scanf(“%c”,&choice1)&&choice1>='0'&&choice1<='3')

{

scanf(“%c”,&cw);

if(cw!='n'){

tishi2();

while(cw!='n'){

scanf(“%c”,&cw);

}

continue;

}

switch(choice1)

{

case '0':

system(“cls”);

break;

case '1':

if(headstudent==NULL){

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請先創建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

break;

}

system(“cls”);

tishi1();

printf(“ ┃

輸入學號●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%d”,&pb->numbers))

{

getchar();

pb=chenwensousou21(headstudent,pb->numbers);

}

else

{

getchar();

pb=NULL;

}

break;

case '2':

if(headstudent==NULL){

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請先創建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

break;

}

system(“cls”);

tishi1();

printf(“ ┃

輸入名字●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%s”,pb->name))

{

getchar();

pb=chenwensousou22(headstudent,pb->name);

}

else

{

getchar();

pb=NULL;

}

break;

case '3':

if(headstudent==NULL){

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請先創建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

break;

}

system(“cls”);

tishi1();

printf(“ ┃

輸入位置●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%d”,&pb->sum))

{

getchar();

pb=chenwensousou23(headstudent,pb->sum);

}

else

{

getchar();

pb=NULL;

}

break;

}

if(choice1=='0')

{

break;

}

if(pb==NULL)

{

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓對不起,沒有找到你想刪除的信息▓▓▓▓▓▓▓▓▓▓▓┃n”);

}

else

{

if(headstudent==NULL){

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請先創建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

break;

}

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃◆◆◆◆◆◆◆◆◆◆◆◆你要刪除的信息是這些嘛?◆◆◆◆◆◆◆◆◆◆◆◆┃n”);

printf(“ ┣━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━┫n”);

printf(“ ┃

學號

姓名

學院

位置 ┃n”);

printf(“ ┣━━━━━━━━━╋━━━━━━━━━╋━━━━━━━━━━╋━━━━━┫n”);

printf(“ ┃%18d┃ %17s┃ %19s┃ %8d ┃n”,pb->numbers,pb->name,pb->xueyuan,pb->sum);

printf(“ ┣━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━━┻━━━━━┫n”);

printf(“ ┃

★(0)不刪除,返回上級

★(1)刪除

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%c”,&choice2)&&choice2=='0'){

system(“cls”);

break;

}

if(choice2!='1'){

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“

┃▓▓▓▓▓▓▓▓▓▓▓你的輸入有誤,此信息未刪除▓▓▓▓▓▓▓▓▓▓▓▓┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

system(“pause”);

system(“cls”);

break;

}

headstudent=deletestudent1(headstudent,pb->numbers);

if(headstudent!=NULL)

chenwendu2(headstudent);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓〓〓〓恭喜你,刪除成功〓〓〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

}

}

else

{

tishi2();

while(choice1!='n')

scanf(“%c”,&choice1);

}

}

}

break;

}

case '3':

{

if(headborrower==NULL){

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請先創建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

}

else

{

system(“cls”);

while(n==0)

{

tishi1();

printf(“ ┃━━━━━━━━━━━━請輸入你要刪的借閱信息的━━━━━━━━━━━┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

★0.返回上級

★1.學號

★2.書編

★3.位置

★4.時間

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃*******請注意:(時間格式 年月日 比如1992年08月13日 為 920813)*********┃ n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

請輸入選擇●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if((pc=(Borr *)malloc(sizeof(Borr)))==NULL)

{

printf(“Not able to allocate memory.n”);

exit(1);

}

if(scanf(“%c”,&choice1)&&choice1>='0'&&choice1<='4')

{

scanf(“%c”,&cw);

if(cw!='n'){

tishi2();

while(cw!='n'){

scanf(“%c”,&cw);

}

continue;

}

switch(choice1)

{

case '0':

system(“cls”);

break;

case '1':

if(headborrower==NULL){

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請先創建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

break;

}

system(“cls”);

tishi1();

printf(“ ┃

輸入學號●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%d”,&pc->stu))

{

getchar();

pc=chenwensousou31(headborrower,pc->stu);

}

else

{

getchar();

pc=NULL;

}

break;

case '2':

if(headborrower==NULL){

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請先創建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

break;

}

system(“cls”);

tishi1();

printf(“ ┃

輸入編號●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%d”,&pc->book))

{

getchar();

pc=chenwensousou32(headborrower,pc->book);

}

else

{

getchar();

pc=NULL;

}

break;

case '3':

if(headborrower==NULL){

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請先創建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

break;

}

system(“cls”);

tishi1();

printf(“ ┃

輸入位置●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%d”,&pc->sum))

{

getchar();

pc=chenwensousou33(headborrower,pc->sum);

}

else

{

getchar();

pc=NULL;

}

break;

case '4':

if(headborrower==NULL){

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請先創建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

break;

}

system(“cls”);

tishi1();

printf(“ ┃

輸入時間●●●●●●

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃********請注意:(時間格式 年月日 比如1992年08月13日 為 920813)********┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%d”,&pc->times))

{

getchar();

pc=chenwensousou34(headborrower,pc->times);

}

else

{

getchar();

pc=NULL;

}

break;

}

if(choice1=='0')

{

break;

}

if(pc==NULL)

{

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓對不起,沒有找到你想刪除的信息▓▓▓▓▓▓▓▓▓▓▓┃n”);

}

else

{

if(headborrower==NULL){

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請先創建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

break;

}

if(choice1=='2'||choice1=='3'){

system(“cls”);

pb=chenwensousou21(headstudent,pc->stu);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃◆◆◆◆◆◆◆◆◆◆◆◆你要刪除的信息是這些嘛?◆◆◆◆◆◆◆◆◆◆◆◆┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

姓名:”);

printf(“

%20s

┃n”,pb->name);

printf(“ ┣━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━┫n”);

printf(“ ┃

學號

書編

時間

位置

┃n”);

printf(“ ┣━━━━━━━━━╋━━━━━━━━━╋━━━━━━━━╋━━━━━━━┫n”);

printf(“ ┃ %16d ┃ %16d ┃ %14d ┃%13d ┃n”,pc->stu,pc->book,pc->times,pc->sum);

printf(“ ┣━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━┻━━━━━━━┫n”);

pa=chenwensousou11(headbook,pc->book);

printf(“ ┃

%20s

┃n”,pa->name);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

★(0)不刪除,返回上級

★(1)刪除

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%c”,&choice2)&&choice2=='0'){

getchar();

system(“cls”);

break;

}

if(choice2!='1'){

getchar();

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓〓你的輸入有誤,此信息未刪除〓〓〓〓〓〓〓〓〓〓〓┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

system(“pause”);

system(“cls”);

break;

}

getchar();

book=chenwensousou11(chenwenxie1(),pc->book);

book->cun++;

headborrower=deleteborrower2(headborrower,pc->stu);

if(headborrower!=NULL)

chenwendu3(headborrower);

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓〓〓〓恭喜你,刪除成功〓〓〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

}

else{

pc=pc->next;

while(pc!=NULL){

headbook=chenwenxie1();

book=chenwensousou11(headbook,pc->book);

book->cun++;

system(“cls”);

pb=chenwensousou21(headstudent,pc->stu);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃◆◆◆◆◆◆◆◆◆◆◆◆你要刪除的信息是這些嘛?◆◆◆◆◆◆◆◆◆◆◆◆┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

姓名:”);

printf(“

%20s

┃n”,pb->name);

printf(“ ┣━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━┫n”);

printf(“ ┃

學號

書編

時間

位置

┃n”);

printf(“ ┣━━━━━━━━━╋━━━━━━━━━╋━━━━━━━━╋━━━━━━━┫n”);

printf(“ ┃ %16d ┃ %16d ┃ %14d ┃%13d ┃n”,pc->stu,pc->book,pc->times,pc->sum);

printf(“ ┣━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━┻━━━━━━━┫n”);

pa=chenwensousou11(headbook,pc->book);

printf(“ ┃

%20s

┃n”,pa->name);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

★(0)不刪除,返回上級

★(1)刪除

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%c”,&choice2)&&choice2=='0'){

getchar();

system(“cls”);

pc=pc->next;

continue;

}

if(choice2!='1'){

getchar();

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓〓你的輸入有誤,此信息未刪除〓〓〓〓〓〓〓〓〓〓〓┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

pc=pc->next;

system(“pause”);

system(“cls”);

continue;

}

getchar();

headborrower=deleteborrower2(headborrower,pc->stu);

if(headborrower!=NULL)

chenwendu3(headborrower);

if(headbook!=NULL)

chenwendu1(headbook);

pc=pc->next;

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓〓〓〓恭喜你,刪除成功〓〓〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

}

}

}

}

else

{

tishi2();

while(choice1!='n')

scanf(“%c”,&choice1);

}

}

}

break;

}

}

if(choice2=='0')

{

break;

}

}

else

{

tishi2();

while(choice2!='n')

scanf(“%c”,&choice2);

}

}

break;

}

case '4':

bianli(headbook,headstudent,headborrower);

break;

case '5':

paixu(headbook,headstudent,headborrower);

break;

case '6':

sousuo(headbook,headstudent,headborrower);

break;

case '7':

system(“cls”);

while(1){

tishi1();

printf(“ ┃

請輸入新密碼●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

scanf(“%s”,ppp);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃

請再次輸入密碼●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

scanf(“%s”,p);

if(strcmp(ppp,p)==0){

mimadu(p);

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓密碼修改成功〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

getchar();

break;

}

else{

system(“cls”);

tishi1();

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓兩次密碼不同,修改失敗▓▓▓▓▓▓▓▓▓▓▓▓ ┃n”);

getchar();

while(1){

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃

★(0)返回上級

★(1)繼續修改

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

請輸入選擇●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

if(scanf(“%c”,&choice2)&&choice2>='0'&&choice2<='1'){

scanf(“%c”,&cw);

if(cw!='n'){

tishi2();

while(cw!='n'){

scanf(“%c”,&cw);

}

continue;

}

switch(choice2){

case '0':

system(“cls”);

break;

case '1':

system(“cls”);

break;

}

}

else{

tishi2();

while(choice2!='n'){

scanf(“%c”,&choice2);

}

}

if(choice2=='0'||choice2=='1'){

break;

}

}

if(choice2=='0'){

break;

}

}

}

break;

case '8':

system(“cls”);

while(1)

{

tishi1();

printf(“ ┃

★(0).返回上級

★(1).保存圖書信息

★(2).保存學生信息

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

★(3).保存借閱信息

★(4).保存所有信息

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

請輸入選擇●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

if(scanf(“%c”,&choice1)&&choice1>='0'&&choice1<='4'){

scanf(“%c”,&cw);

if(cw!='n'){

tishi2();

while(cw!='n'){

scanf(“%c”,&cw);

}

continue;

}

switch(choice1){

case '0':

system(“cls”);

break;

case '1':

system(“cls”);

if(headbook==NULL){

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃〓〓〓〓〓〓〓〓〓〓圖書鏈表為空,請先創建圖書鏈表〓〓〓〓〓〓〓〓〓〓〓 ┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

break;

}

chenwendu1(headbook);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓保存圖書鏈表完成▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

system(“pause”);

system(“cls”);

break;

case '2':

system(“cls”);

if(headstudent==NULL){

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃〓〓〓〓〓〓〓〓〓〓學生鏈表為空,請先創建學生鏈表〓〓〓〓〓〓〓〓〓〓〓 ┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

break;

}

chenwendu2(headstudent);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓保存學生鏈表完成▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

system(“pause”);

system(“cls”);

break;

case '3':

system(“cls”);

if(headborrower==NULL){

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃〓〓〓〓〓〓〓〓〓〓借閱鏈表為空,請先創建借閱鏈表〓〓〓〓〓〓〓〓〓〓〓 ┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

break;

}

chenwendu3(headborrower);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓保存借閱鏈表完成▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

system(“pause”);

system(“cls”);

break;

case '4':

system(“cls”);

if(headbook==NULL){

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃〓〓〓〓〓〓〓〓〓〓圖書鏈表為空,請先創建圖書鏈表〓〓〓〓〓〓〓〓〓〓〓 ┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

}

else{

chenwendu1(headbook);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓保存圖書鏈表完成▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

}

if(headstudent==NULL){

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃〓〓〓〓〓〓〓〓〓〓學生鏈表為空,請先創建學生鏈表〓〓〓〓〓〓〓〓〓〓〓 ┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

}

else{

chenwendu2(headstudent);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓保存學生鏈表完成▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

}

if(headborrower==NULL){

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃〓〓〓〓〓〓〓〓〓〓借閱鏈表為空,請先創建借閱鏈表〓〓〓〓〓〓〓〓〓〓〓 ┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

}

else{

chenwendu3(headborrower);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓保存借閱鏈表完成▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

}

system(“pause”);

system(“cls”);

break;

}

}

else{

tishi2();

while(choice1!='n'){

scanf(“%c”,&choice1);

}

}

if(choice1=='0')

break;

}

break;

case '9':

system(“cls”);

qingkong();

break;

}

}

else{

tishi2();

while(choice!='n'){

scanf(“%c”,&choice);

}

}

if(choice=='0'){

break;

}

}

}

else{

tishi2();

j--;

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃ ▓▓▓▓▓▓▓▓▓▓▓▓★你還有%3d次機會★▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃”,j);

printf(“

┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

請輸入密碼●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

while(choice!='n'){

scanf(“%c”,&choice);

}

if(j==0){

system(“cls”);

getchar();

return;

}

}

if(choice=='0'){

break;

}

} } void youke(){ int n=0,l=0,xue=1;char choice,ppp[40],ch,pp[40],p[40],choice2,cw;Books *headbook=chenwenxie1(),*pa=NULL;Stus *headstudent=chenwenxie2(),*pb=NULL,*p1;Borr *headborrower=chenwenxie3(),*pc=NULL,*yu;Borr *headyuyue=yuyuexie();system(“cls”);if(chenwenxie2()==NULL){

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓對不起,學生現在不能登錄▓▓▓▓▓▓▓▓▓▓▓▓┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

return;} while(xue!=0){

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃

★★(0).返回上級★★

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

請輸入學號●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if(scanf(“%d”,&xue)){

getchar();

if(xue==0){

system(“cls”);

return;

}

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃

★ ★ ★請輸入登錄密碼(初始密碼為身份證號碼)

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

scanf(“%s”,ppp);

getchar();

p1=chenwensousou21(chenwenxie2(),xue);

if(p1==NULL){

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓對不起,該學號不存在▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

continue;

}

if(p1->numbers==xue&&strcmp(ppp,p1->mark)==0){

break;

}

else{

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓★★密碼錯誤★★▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

continue;

}

}

else{

system(“cls”);

system(“cls”);

scanf(“%c”,&ch);

while(ch!='n'){

scanf(“%c”,&ch);

}

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓★★對不起,學號不能為字符,請輸入數字★★▓▓▓▓▓▓▓┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

} } system(“cls”);

while(n==0){

tishi1();

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃████████████████歡迎學生進入██████████████┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

★(0)返回上級

★(1)遍歷

★(2)搜索

★(3)排序

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

★(4)借書預約

★(5)修改密碼

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

請輸入選擇●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

l++;

if(scanf(“%c”,&choice)&&choice>='0'&&choice<='5'){

scanf(“%c”,&cw);

if(cw!='n'){

tishi2();

while(cw!='n'){

scanf(“%c”,&cw);

}

continue;

}

switch(choice)

{

case '0':

system(“cls”);

break;

case '1':

bianli(headbook,chenwenxie22(),headborrower);

break;

case '2':

sousuo(headbook,headstudent,headborrower);

break;

case '3':

paixu(headbook,headstudent,headborrower);

break;

case '4':

if(headyuyue==NULL){

yu=(Borr *)malloc(sizeof(Borr));

headyuyue=yu,yu->sum=0,yu->front=NULL,yu->next=NULL;

}

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃*****************************您享有的操作*******************************┃n”);

printf(“ ┃************************************************************************┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃█████████████請輸入你要預約的信息█████████████┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

★★1.書編★★

★★2.時間★★

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃***********請注意:(時間格式 年月日 比如1992年08月13日為920813)**********┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃▲▼●◆■★▼▲★■◆請依次輸入(用空格隔開)▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

if((yu=(Borr *)malloc(sizeof(Borr)))==NULL){

printf(“Not able to allocate memory.n”);

exit(1);

}

yu=(Borr *)malloc(sizeof(Borr));

yu->stu=xue,yu->sum=headyuyue->sum+1;

while(scanf(“%d”,&yu->book)&&scanf(“%d”,&yu->times)){

if(chenwensousou11(chenwenxie1(),yu->book)==NULL){

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓對不起,該書編不存在▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

free(pc);

system(“pause”);

system(“cls”);

break;

}

getchar();

headyuyue=insertborrower(headyuyue,yu);

yuyuedu(headyuyue);

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓恭喜你,預約成功▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);

l=1;

break;

}

if(l==0){

tishi2();

getchar();

}

l=0;

break;

case '5':

system(“cls”);

while(1){

tishi1();

printf(“ ┃

請輸入新密碼●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

scanf(“%s”,pp);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃

請再次輸入密碼●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

scanf(“%s”,p);

if(strcmp(pp,p)==0){

pb=chenwensousou21(headstudent,xue);

strcpy(pb->mark,p);

chenwendu2(headstudent);

system(“cls”);

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓密碼修改成功〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓┃n”);

getchar();

break;

}

else{

system(“cls”);

tishi1();

printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓兩次密碼不同,修改失敗▓▓▓▓▓▓▓▓▓▓▓▓ ┃n”);

getchar();

while(1){

printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);

printf(“ ┃

★(0)返回上級

★(1)繼續修改

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

請輸入選擇●●●●●●

┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);

if(scanf(“%c”,&choice2)&&choice2>='0'&&choice2<='1'){

}

break;

}

}

else{

scanf(“%c”,&cw);

if(cw!='n'){

tishi2();

while(cw!='n'){

scanf(“%c”,&cw);

}

continue;

}

switch(choice2){

case '0':

system(“cls”);

break;

case '1':

system(“cls”);

break;

}

}

else{

tishi2();

while(choice2!='n'){

scanf(“%c”,&choice2);

}

}

if(choice2=='0'||choice2=='1'){

break;

} } if(choice2=='0'){

break;} }

tishi2();

while(choice!='n'){

scanf(“%c”,&choice);

}

}

if(choice=='0'){

break;

} } } Books* buildbookslist(){ Books *head=NULL,*p,*tail,*begin;int n=sizeof(Books),num;if((begin=(Books *)malloc(n))==NULL){

printf(“Not able to allocate memory.n”);

exit(1);} head=begin,begin->front=NULL,begin->sum=0;if((p=(Books *)malloc(n))==NULL){

printf(“Not able to allocate memory.n”);

exit(1);} begin->next=p,p->front=begin, p->next=NULL;head=begin;p->sum=1;while(1){

system(“cls”);

tishi1();

printf(“ ┃

★0.返回上級

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

★1.編號

★2.書名

★3.作者

★4.類型

★5.出版社

★(6)庫存

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃▲▼●◆■★▼▲★■◆請依次輸入(用空格隔開)▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

while(scanf(“%d”,&num)==0){

getchar();

system(“cls”);

tishi2();

tishi1();

printf(“ ┃

★0.返回上級

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

★1.編號

★2.書名

★3.作者

★4.類型

★5.出版社

★(6)庫存

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃▲▼●◆■★▼▲★■◆請依次輸入(用空格隔開)▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

}

if(num==0){

p->front->next=NULL,tail=p->front;

system(“cls”);

getchar();

free(p);

return head;

}

if(yanzheng(head,num)){

if(scanf(“%s%s%s%s%d”,p->name,p->author,p->type,p->publisher,&p->cun)){

p->numbers=num;

begin->sum++;

getchar();

tail=p;

if((p=(Books *)malloc(n))==NULL){

printf(“Not able to allocate memory.n”);

exit(0);

}

tail->next=p,p->front=tail,p->next=NULL,p->sum=p->front->sum+1;

}

else{

tishi2();

getchar();

}

} } getchar();return head;} Stus* buildstudentlist(){ Stus *head,*tail,*p,*begin;int num;int n=sizeof(Stus);if((begin=(Stus *)malloc(n))==NULL){

printf(“Not able to allocate memory.n”);

exit(1);} head=begin;

if((p=(Stus *)malloc(n))==NULL){

printf(“Not able to allocate memory.n”);

exit(1);} begin->sum=0,begin->front=NULL;begin->next=p,tail=p,p->next=NULL,p->front=begin;head=begin;

p->sum=1;while(1){

system(“cls”);

tishi1();

printf(“ ┃

★0.返回上級★

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

★1.學號★

★2.姓名★

★3.學院★

★4.身份證 ★

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃▲▼●◆■★▼▲★■◆請依次輸入(用空格隔開)▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

while(scanf(“%d”,&num)==0){

getchar();

system(“cls”);

tishi2();

tishi1();

printf(“ ┃

★0.返回上級★

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃

★★1.學號★★

★★2.姓名★★

★★3.學院★★

┃n”);

printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);

printf(“ ┃▲▼●◆■★▼▲★■◆請依次輸入(用空格隔開)▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);

printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);

}

if(num==0){

p->front->next=NULL,tail=p->front;

free(p);

getchar();

system(“cls”);

return head;

}

if(yanzheng1(head,num)){

if(scanf(“%s%s%s”,p->name,p->xueyuan,p->mark)){

p->numbers=num;

begin->sum++;

getchar();

tail=p;

if((p=(Stus *)malloc(n))==NULL){

printf(“Not able to allocate memory.n”);

exit(1);

}

tail->next=p,p->front=tail,tail=p,p->next=NULL,p->sum=p->front->sum+1;

}

else{

tishi2();

getchar();

}

} } getchar();return head;} Borr* buildborrowerlist(){ Borr *head,*tail,*p,*begin;Stus *stu;Books *book;int n=sizeof(Borr),num;if((begin=(Borr *)malloc(n))==NULL){

printf(“Not able to allocate memory.n”);

exit(1);

下載瑞天圖書管理系統手冊word格式文檔
下載瑞天圖書管理系統手冊.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    圖書管理系統

    經過大學四年理論課程的學習,以及校內校外的實踐,極大的豐富了自身的理論基礎,并且也具備了一些處理簡單問題的能力,但即將踏上社會的我深知這還遠遠不夠,因此我利用了畢業設計的......

    圖書管理系統說明

    圖書管理系統設計說明書(上) 2009-02-12 18:10閱讀:3,614 摘 要: 介紹了信息中心圖書管理系統數據庫的設計。該系統是運行在學校內的圖書管理系統,實現了圖書資料的計算機管理和......

    VB圖書管理系統

    圖書管理系統的設計與實現 目錄 一、序言····························································......

    智能圖書管理系統

    目錄 1.采訪管理子系統 ............................................................................................................ 3 2.編目管理子系統 ................

    圖書管理系統答案

    圖書管理系統答案 1.B2.D3.D4.C5.C6.A7.B8.A9.A10.B11.B12.B13.C 14.B15.D 16.C 17.B 18.D 19.C 20.C 21.A 22.C 23.A 24.B 25.A 26.B 27.B 28.B 29.D 30.A 31.A 32.B 33.A 3......

    圖書管理系統實驗范文

    小型圖書管理系統 試驗目的 采用C/S模式完成一個小型的圖書管理系統;完成需求分析所有流程。 問題及算法描述 完成一個小型圖書管理系統,功能要求如下: 1) 能夠通過書籍基本信......

    圖書管理系統心得

    為期兩個星期的c#圖書管理系統實習終于結束了,總算松了一口氣,在這短短的兩周時間內承受了很大的壓力現在終于能夠得到“釋放”了,感覺到很輕松。回顧這兩周所做過的工作和努力......

    圖書管理系統(五篇模版)

    課程設計任務書一、題目:二、課程設計班級及小組成員: 三、課程設計起止時間: 四、原始數據及主要任務: 1、系統分析與設計:對系統進行調研,詳細分析系統,設計出圖書管理系統網絡版......

主站蜘蛛池模板: 国产精品对白刺激久久久| 日日碰日日摸日日澡视频播放| 欧美黑人又粗又大xxxx| 亚洲欧美另类久久久精品| 日韩熟妇| 国产亚洲欧洲日韩在线...| 免费国产又色又爽又黄的网站| 久久天天躁狠狠躁夜夜躁2012| 老司机香蕉久久久久久| 亚洲国产美国国产综合一区二区| 国产精品久久久久久久久岛| 国产黄在线观看免费观看不卡| 久久午夜无码鲁丝片午夜精品| 少妇扒开双腿自慰出白浆| 久久国产乱子伦免费精品| 久久精品伊人一区二区三区| 成人亚洲综合av天堂| 国产av无码专区亚洲av手机麻豆| 国产一区二区三区不卡av| 国产又黄又爽又刺激的免费网址| 亚洲乱亚洲乱少妇无码| 欧美丰满少妇xxxxx| 国产无av码在线观看| 欧美极品少妇性运交| 国产极品久久久久极品| 亚洲无亚洲人成网站77777| 中文字幕日韩精品有码视频| 歪歪爽蜜臀av久久精品人人| 国产精品久久久久久爽爽爽| 97国产婷婷综合在线视频| 久久久久国产精品人妻照片| 成人内射国产免费观看| 久久久久女教师免费一区| 日本三级吃奶头添泬无码苍井空| 搡老熟女老女人一区二区| 久久精品人人槡人妻人人玩av| 无码一区二区三区久久精品| 欧美精品a∨在线观看| 2019精品手机国产品在线| 综合 欧美 亚洲日本| 午夜精品久久久久久99热|