第一篇:瑞天圖書管理系統(tǒng)手冊(cè)
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
第1章 快速入門..............................................................................3 第1節(jié) 系統(tǒng)簡(jiǎn)介..................................................................................3 第2節(jié) 條碼知識(shí)..................................................................................4 第3節(jié) 解決方案..................................................................................6 第4節(jié) 操作流程..................................................................................8 第2章 各菜單功能介紹..................................................................9 第1節(jié) 主工具欄介紹...........................................................................9 第2節(jié) 系統(tǒng)設(shè)置................................................................................10 ??備份管理?????????????????????????????????????????????????????????????????????????????????????????????????? ??導(dǎo)入數(shù)據(jù)?????????????????????????????????????????????????????????????????????????????????????????????????? ??系統(tǒng)界面?????????????????????????????????????????????????????????????????????????????????????????????????? ??系統(tǒng)參數(shù)?????????????????????????????????????????????????????????????????????????????????????????????????? ??切換用戶?????????????????????????????????????????????????????????????????????????????????????????????????? ??修改密碼?????????????????????????????????????????????????????????????????????????????????????????????????? ??暫時(shí)離開?????????????????????????????????????????????????????????????????????????????????????????????????? ??用戶管理?????????????????????????????????????????????????????????????????????????????????????????????????? ??系統(tǒng)初始化?????????????????????????????????????????????????????????????????????????????????????????????? ??數(shù)據(jù)庫(kù)連接管理?????????????????????????????????????????????????????????????????????????????????????? ??讀卡器設(shè)置?????????????????????????????????????????????????????????????????????????????????????????????? ??退出系統(tǒng)?????????????????????????????????????????????????????????????????????????????????????????????????? 第3節(jié) 資料管理................................................................................25 ??類別資料維護(hù)?????????????????????????????????????????????????????????????????????????????????????????? ??書籍資料管理?????????????????????????????????????????????????????????????????????????????????????????? ??期刊資料管理?????????????????????????????????????????????????????????????????????????????????????????? ??其他物品管理?????????????????????????????????????????????????????????????????????????????????????????? ??讀者資料管理?????????????????????????????????????????????????????????????????????????????????????????? ??資料下架管理?????????????????????????????????????????????????????????????????????????????????????????? ??批量刪除管理?????????????????????????????????????????????????????????????????????????????????????????? ??快速新增資料??????????????????????????????????????????????????????????????????????????????????????????
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
??資料打印?????????????????????????????????????????????????????????????????????????????????????????????????? ??數(shù)據(jù)自動(dòng)生成?????????????????????????????????????????????????????????????????????????????????????????? 第4節(jié) 常用操作................................................................................46 ??借閱管理?????????????????????????????????????????????????????????????????????????????????????????????????? ??帳務(wù)管理?????????????????????????????????????????????????????????????????????????????????????????????????? ??會(huì)員管理?????????????????????????????????????????????????????????????????????????????????????????????????? ??辦卡管理?????????????????????????????????????????????????????????????????????????????????????????????????? ??押金充值?????????????????????????????????????????????????????????????????????????????????????????????????? ??備忘管理?????????????????????????????????????????????????????????????????????????????????????????????????? ??借閱查詢?????????????????????????????????????????????????????????????????????????????????????????????????? ??預(yù)借詳情?????????????????????????????????????????????????????????????????????????????????????????????????? ??借閱流水?????????????????????????????????????????????????????????????????????????????????????????????????? ??逾期列表?????????????????????????????????????????????????????????????????????????????????????????????????? ??統(tǒng)計(jì)分析?????????????????????????????????????????????????????????????????????????????????????????????????? ??數(shù)據(jù)盤點(diǎn)單?????????????????????????????????????????????????????????????????????????????????????????????????條碼驗(yàn)證???????????????????????????????????????????????????????????????????????????????????????????????????第3章 技術(shù)支持............................................................................60
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
第1章 快速入門
第1節(jié) 系統(tǒng)簡(jiǎn)介
《瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版》是一款功能非常強(qiáng)大的圖書管理軟件,本系統(tǒng)在繼承以往系統(tǒng)版本優(yōu)點(diǎn)的基礎(chǔ)上做了進(jìn)一步優(yōu)化;在功能上,本系統(tǒng)不僅包含圖書管理的常用功能(如書籍管理、期刊管理、物品管理、讀者管理、借、還、預(yù)借、續(xù)借圖書和統(tǒng)計(jì)分析等等功能),而且還增加了條碼的生成和打印功能(不僅為使用者省去了購(gòu)買價(jià)格昂貴的條碼專用打印機(jī)的費(fèi)用,而且條碼產(chǎn)生更方便,與系統(tǒng)結(jié)合更緊密)。
本系統(tǒng)具有操作簡(jiǎn)單,易學(xué)易用的特點(diǎn)。在開發(fā)過(guò)程中,我們總結(jié)了多年使用電腦管理圖書館業(yè)務(wù)的經(jīng)驗(yàn),注意到工作人員在使用電腦時(shí)容易發(fā)生的人為錯(cuò)誤,因而使系統(tǒng)具有較強(qiáng)的容錯(cuò)和排錯(cuò)功能,而且本系統(tǒng)自帶了一些常用的資料庫(kù)(如中圖分類庫(kù),出版社庫(kù)等,系統(tǒng)會(huì)自動(dòng)根據(jù)圖書的標(biāo)準(zhǔn)ISBN碼檢索出當(dāng)前圖書的出版社名稱和出版地點(diǎn)等,從而實(shí)現(xiàn)圖書的自動(dòng)錄入的功能),使得用戶在錄入圖書資料時(shí)更輕松;系統(tǒng)也自帶了通用數(shù)據(jù)導(dǎo)入功能,可以非常簡(jiǎn)單地把用戶以前的已有資料或者通過(guò)采集器采集到的數(shù)據(jù)資料導(dǎo)入到本系統(tǒng)中,避免了大量的重復(fù)勞動(dòng)。經(jīng)過(guò)長(zhǎng)時(shí)間的不斷測(cè)試和完善,系統(tǒng)的安全性和穩(wěn)定性得到保證。
本系統(tǒng)可以配合條碼掃描槍使用,操作會(huì)更流暢,更簡(jiǎn)單。
技術(shù)簡(jiǎn)介: 本系統(tǒng)采用Adaptive Server Anywhere數(shù)據(jù)庫(kù)、C/S結(jié)構(gòu),;可運(yùn)行于 Windows98/WindowsNT/2000/Xp/2003/vista/win7平臺(tái),有良好的兼容性、先進(jìn)性與擴(kuò)充性;可在線升級(jí)。
系統(tǒng)特點(diǎn):操作簡(jiǎn)單、界面清晰、功能強(qiáng)大、運(yùn)行穩(wěn)定快速、系統(tǒng)資源占用少。
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
第2節(jié) 條碼知識(shí)
條碼是由一組按一定編碼規(guī)則排列的條、空符號(hào),用以表示一定的字符、數(shù)字及符號(hào)組成的信息;是為實(shí)現(xiàn)對(duì)信息的自動(dòng)掃描而設(shè)計(jì)的;它是實(shí)現(xiàn)快速、準(zhǔn)確而可靠地采集數(shù)據(jù)的有效手段。
條形碼按碼制不同可分有很多種,這里只針對(duì)最常用的,也是與本系統(tǒng)所用條碼相關(guān)的一些條形碼進(jìn)行簡(jiǎn)要介紹說(shuō)明:
1、UPC碼:1973年,美國(guó)率先在國(guó)內(nèi)的商業(yè)系統(tǒng)中應(yīng)用于UPC碼之后加拿大也在商業(yè)系統(tǒng)中采用UPC碼。UPC碼是一種長(zhǎng)度固定的連續(xù)型數(shù)字式碼制,其字符集為數(shù)字0~9。它采用四種元素寬度,每個(gè)條或空是1、2、3或4倍單位元素寬度。UPC碼有兩種類型,即UPC-A碼和UPC-E碼。
2、EAN碼:1977年,歐洲經(jīng)濟(jì)共同體各國(guó)按照UPC碼的標(biāo)準(zhǔn)制定了歐洲物品編碼EAN碼,與UPC碼兼容,而且兩者具有相同的符號(hào)體系。EAN碼的字符編號(hào)結(jié)構(gòu)與UPC碼相同,也是長(zhǎng)度固定的、連續(xù)型的數(shù)字式碼制,其字符集是數(shù)字0~9。它采用四種元素寬度,每個(gè)條或空是1、2、3或4倍單位元素寬度。EAN碼有兩種類型,即EAN-13碼和EAN-8碼。3、39碼:39碼是第一個(gè)字母數(shù)字式碼制。1974年由Intermec公司推出。它是長(zhǎng)度可比的離散型自校驗(yàn)字母數(shù)字式碼制。其字符集為數(shù)字0—9,26個(gè)大寫字母和7特殊字符(“+”、“-”、“*”、“/”、“%”、“$”、“.”),共43個(gè)字符。每個(gè)字符由9個(gè)元素組成,其中有5個(gè)條(2個(gè)寬條,3個(gè)窄條)和4個(gè)空(1個(gè)寬空,3個(gè)窄空),是一種離散碼。
本系統(tǒng)所采用的條碼:
1、ISBN碼(10位):
國(guó)際標(biāo)準(zhǔn)書號(hào)(International Standard Book Number,簡(jiǎn)稱 ISBN),是為應(yīng)圖書出版、管理的需要,并便于國(guó)際間出版品的交流與統(tǒng)計(jì)所發(fā)展的一套國(guó)際統(tǒng)一的編號(hào)制度,由一組冠有[ISBN]代號(hào)(978)的十位數(shù)碼所組成,用以識(shí)別出版品所屬國(guó)別地區(qū)或語(yǔ)言、出版機(jī)構(gòu)、書名、版本及裝訂方式。這組號(hào)碼也可以說(shuō)是圖書的代表號(hào)碼。國(guó)際標(biāo)準(zhǔn)書號(hào)有助于簡(jiǎn)化圖書發(fā)行及管理手續(xù),便于出版品4 統(tǒng)計(jì)及國(guó)際交流。世界各地的出版機(jī)構(gòu)、書商、及圖書館都可以利用國(guó)際標(biāo)準(zhǔn)書
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
號(hào)迅速而有效的識(shí)別某一本書及其版本、裝訂形式。不論原書是以何種文字書寫,都可用電報(bào)或電話傳真訂購(gòu),并以電腦作業(yè)處理。
制作條碼時(shí),EAN碼中圖書類的代碼是978,即只要將EAN的國(guó)家代碼部分改為978,再重新計(jì)算檢查碼,即為ISBN條碼,其余處理均相同。簡(jiǎn)單來(lái)說(shuō),ISBN與EAN的對(duì)應(yīng)關(guān)系為:978 + ISBN前9碼 + EAN檢查碼。
2、ISSN碼(8位):
國(guó)際標(biāo)準(zhǔn)期刊號(hào)(International Standard Serial Number,簡(jiǎn)稱 ISSN),是根據(jù)國(guó)際標(biāo)準(zhǔn)組織 1975年制訂之 ISO-3297 的規(guī)定,由設(shè)于法國(guó)巴黎的國(guó)際期刊資料系統(tǒng)中心(International Serial Data System-ISDS International Center)所賦予申請(qǐng)登記的每一種刊物一個(gè)具有識(shí)別作用且通行國(guó)際間的統(tǒng)一編號(hào)。
「期刊」是指任何一系列定期或不定期連續(xù)出版的刊物,它們通常以一定的刊名發(fā)行,以「年月日」,「年月」或數(shù)字標(biāo)明卷、號(hào)、期數(shù)。市面上常見的期刊、雜志、叢刊、年刊等大都屬于國(guó)際標(biāo)準(zhǔn)期刊號(hào)的編號(hào)與編碼范圍。每一種期刊在注冊(cè)登記時(shí),就得到一個(gè)永久專屬的 ISSN,一個(gè) ISSN 只對(duì)應(yīng)一個(gè)刊名;而一個(gè)刊名也只有一個(gè) ISSN。所以當(dāng)該刊名變更時(shí),就得另申請(qǐng)一個(gè) ISSN。如果期刊???,那么被刪除的 ISSN 也不會(huì)被其他期刊再使用。因此,國(guó)際期刊資料系統(tǒng)中心在分配 ISSN 時(shí),必須為該期刊編訂一個(gè)有別于其他期刊刊名的識(shí)別題名(Key Title)。
每組 ISSN 系由八位數(shù)字構(gòu)成,分前后兩段,每段四位數(shù),其中后段的最末一位數(shù)字為檢查號(hào),如:ISSN 0211 9153。制作條碼時(shí),將ISBN碼中的「978」部份更改為「977」即為ISSN碼。ISSN與EAN的對(duì)應(yīng)關(guān)系為:977 + ISSN前7碼 + 00 + EAN檢查碼。
3、EAN13碼(13位):
標(biāo)準(zhǔn)碼共13位數(shù),系由「國(guó)家代碼」3位數(shù),「廠商代碼」4位數(shù),「產(chǎn)品代碼」5位數(shù),以及「檢查碼」1位數(shù)組成。
4、39碼(位數(shù)不限):
39碼是西元1974年發(fā)展出來(lái)的條碼系統(tǒng),是一種可供使用者雙向掃描的分散式條碼,也就是說(shuō)相臨兩資料碼之間,必須包含一個(gè)不具任何意義的空白(或細(xì)
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
白,其邏輯值為0),且其具有支援文數(shù)字的能力,故應(yīng)用較一般一維條碼廣泛,目前較主要利用于工業(yè)產(chǎn)品、商業(yè)資料及醫(yī)院用的保健資料,它的最大優(yōu)點(diǎn)是碼數(shù)沒有強(qiáng)制的限定,可用大寫英文字母碼,且檢查碼可忽略不計(jì)。
標(biāo)準(zhǔn)的39碼是由起始安全空間、起始碼、資料碼、可忽略不計(jì)的檢查碼、終止安全空間及終止碼所構(gòu)成。
特別提示:雖然按照對(duì)應(yīng)條碼的組合原理,本系統(tǒng)可以把用戶自定義的資料編碼轉(zhuǎn)變成正常ISBN、ISSN碼和EAN13碼,但是條碼本身并不同于正規(guī)的商品條碼,幾乎沒什么意義,所以它只能作為一種普通編碼(跟39碼一樣)來(lái)使用。
第3節(jié) 解決方案
使用本系統(tǒng)時(shí)有幾點(diǎn)方案可供參考
一、配合條碼掃描槍的情況:
1、當(dāng)前沒有現(xiàn)成的圖書資料和讀者資料庫(kù)檔案,所有資料均需錄入:
建議錄入圖書資料時(shí),可以利用本系統(tǒng)的條碼打印功能,設(shè)置成自己所需的自定義條形碼編號(hào),然后把條形碼打印在不干膠紙上,接著把條形碼貼在圖書上,最后再錄入書籍信息,這樣就可以確保每本圖書資料上都有唯一的條形碼,并且把這個(gè)唯一的條形碼編號(hào)作為書籍編號(hào);對(duì)于讀者資料,每個(gè)讀者均可按其編號(hào)或者卡號(hào)生成條形碼,打印到不干膠標(biāo)貼上,然后貼在借書證上即可。2、已經(jīng)有大量的現(xiàn)成資料:
在這種情況下,您可以利用本系統(tǒng)的“數(shù)據(jù)導(dǎo)入”功能把各種資料對(duì)應(yīng)地導(dǎo)入到我們的系統(tǒng)中.因?yàn)橐浜蠗l碼掃描槍使用,所以需要每個(gè)資料上都有條形碼,解決方案如下:假如原來(lái)的系統(tǒng)中所有資料的編號(hào)均是正規(guī)的條碼編號(hào)且條碼編號(hào)沒有重復(fù)(資料上本身自帶的),那您可以省去打印條碼的步驟;假如原先的資料編號(hào)是自定義的,那么也沒關(guān)系,可以利用本系統(tǒng)自帶的條碼生成和打印功能,把原先的所有資料的編號(hào)全部以條形碼的方式打印出來(lái),然后貼在對(duì)應(yīng)的資料上即可。6
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
3、假如您的圖書館對(duì)圖書編號(hào)有特殊要求,比如每本書(雖然其中可能有相同的書籍,即ISBN碼一樣)都要有自己唯一的編號(hào),這時(shí)候用資料自帶的條碼編號(hào)顯然是不能達(dá)到您的要求了;不過(guò)沒關(guān)系,您可以自行按照您的方式先定義,等所有資料錄入完成之后,再利用我們系統(tǒng)自帶的條碼生成和打印功能,把您所自定義的每一個(gè)資料編號(hào)都以條碼的方式打印出來(lái),然后您在對(duì)應(yīng)的帖在資料上,即可達(dá)到您所需要的效果了。
注意:因?yàn)楹戏ǖ模桑樱拢巍ⅲ桑樱樱位蛘撸牛粒危保炒a(39碼產(chǎn)生方式比較隨意一些,所以不在此范圍內(nèi))均有自己的一套組合原理(即有自己的數(shù)據(jù)位和驗(yàn)證位),不是隨便的一串字符串就可以稱為合法的ISBN、ISSN或者EAN13碼的;所以,若您需要合法的ISBN、ISSN或者EAN13碼做條碼時(shí),最好使用本系統(tǒng)的自定義條碼產(chǎn)生功能,這樣就可以產(chǎn)生大量合法的條形碼編碼,然后再用這些編碼作為資料的編碼,便可真正得到您所需要的類型條形碼??偨Y(jié):
按以上方法錄入完所有資料后,在日后的借閱管理時(shí),您只要用條碼掃描搶就可以完成借還工作了,而且出錯(cuò)頻率比手工操作要小幾萬(wàn)倍,從而達(dá)到效率高、速度快的效果。
二、無(wú)條碼掃描槍的情況:
因?yàn)槟院蟮慕栝喒芾聿僮骺赡苁鞘止ぽ斎?,所以假如需要自定義編碼時(shí),您可以讓編碼簡(jiǎn)單一點(diǎn),比如:0001、0002??,等輸入完成后,您就可以進(jìn)行操作了,而且在任何時(shí)候,只要您想配合條碼掃描槍使用的話,就可以使用我們系統(tǒng)自帶的條碼生成和打印功能,把資料編號(hào)以條碼的方式打印出來(lái),貼在對(duì)應(yīng)的資料上就可以了。其實(shí)本系統(tǒng)有很多人性化的設(shè)計(jì),比如自動(dòng)選擇功能等,即使您不配合條碼掃描槍使用,操作速度和效率同類的其他軟件高的多。
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
第4節(jié) 操作流程
初次正式投入使用本系統(tǒng)時(shí),為了能比較順利的使用本系統(tǒng),建議您最好按照以下步驟順序進(jìn)行操作:
1、界面設(shè)置
把系統(tǒng)的標(biāo)題和背景以及是否含租金功能等設(shè)置成您所喜歡的模式;
2、系統(tǒng)初始化
第一次使用時(shí)最好不要保留那些您不需要的數(shù)據(jù),即取消復(fù)選框的選中狀態(tài);
3、系統(tǒng)參數(shù)設(shè)置
設(shè)置好系統(tǒng)常用的信息,以便日后調(diào)用;
4、系統(tǒng)用戶管理
設(shè)置好系統(tǒng)的操作用戶、密碼及相關(guān)權(quán)限;
5、基礎(chǔ)資料類別管理
設(shè)置好讀者等級(jí)信息,否則相關(guān)讀者無(wú)法租借資料;添加或修改其他類別資料;
6、讀者資料管理
您可以逐一的輸入讀者信息,也可以通過(guò)系統(tǒng)的“數(shù)據(jù)導(dǎo)入”功能把現(xiàn)有的讀者資料導(dǎo)入到本系統(tǒng)中;
7、書籍、期刊資料管理
您可以逐一的輸入書籍資料、期刊資料、物品資料,也可以通過(guò)系統(tǒng)的“數(shù)據(jù)導(dǎo)入”功能把現(xiàn)有的資料導(dǎo)入到本系統(tǒng)中;
以上所有步驟完成后,您就可以正常的進(jìn)行圖書的借還管理了。北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
第2章 各菜單功能介紹
第1節(jié) 主工具欄介紹
顯示導(dǎo)航欄:顯示或隱藏系統(tǒng)左邊的導(dǎo)航控制窗口;
出借資料:將館內(nèi)的資料借出給讀者(對(duì)應(yīng)系統(tǒng)菜單項(xiàng)[常用操作]——>[借閱管理]——>[借出資料]);
歸還資料:將讀者所借出的資料歸還到館內(nèi)(對(duì)應(yīng)系統(tǒng)菜單項(xiàng)[常用操作]——>[借閱管理]——>[歸還資料]);
關(guān)閉子窗口:當(dāng)有很多子窗口打開時(shí),一次性關(guān)閉所有已經(jīng)打開的子窗口,可以用此按鈕來(lái)替代逐一關(guān)閉子窗口(對(duì)應(yīng)系統(tǒng)菜單項(xiàng)[窗口]——>[關(guān)閉所有]);
退出本系統(tǒng):關(guān)閉本圖書管理系統(tǒng)(對(duì)應(yīng)系統(tǒng)菜單項(xiàng)[系統(tǒng)設(shè)置]——>[退出系統(tǒng)]); 幫助:顯示系統(tǒng)操作幫助(對(duì)應(yīng)系統(tǒng)菜單項(xiàng)[幫助]——>[幫助])。
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
第2節(jié) 系統(tǒng)設(shè)置
? 備份管理
創(chuàng)建備份:給系統(tǒng)做一個(gè)完整的備份,方法如下:
用鼠標(biāo)點(diǎn)擊[創(chuàng)建備份]按鈕(或同時(shí)按[ALT+O]鍵),出現(xiàn)目錄選擇框: 北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
然后選擇您想要備份到的目錄(您可以自己事先創(chuàng)建好一個(gè)目錄,以便以后在需要此備份包時(shí)能很快找到自己備份文件在電腦中的位置),按[確定]后系統(tǒng)便自動(dòng)進(jìn)行數(shù)據(jù)備份。
導(dǎo)入備份:用鼠標(biāo)點(diǎn)擊[導(dǎo)入備份]按鈕(或同時(shí)按[ALT+I]鍵),出現(xiàn)如下文件選擇框:
選擇您想要導(dǎo)入的備份(此為您之前創(chuàng)建的備份包),然后按[打開]按鈕,系統(tǒng)便自動(dòng)進(jìn)行導(dǎo)入備份作業(yè)。返回:退出系統(tǒng)備份功能。
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
? 導(dǎo)入數(shù)據(jù)
如果您已經(jīng)有大量現(xiàn)成的資料數(shù)據(jù),可使用本系統(tǒng)的導(dǎo)入功能代替手工輸入。導(dǎo)入的數(shù)據(jù)可為多種電子格式,如Excel電子表格、文本文檔或者M(jìn)ARC等文件格式,若有一些特殊格式我們的軟件無(wú)法導(dǎo)入,您可以試著通過(guò)其自身功能把其導(dǎo)出成此軟件可以識(shí)別的格式(比如:文本格式、Excel格式或DBF格式等,軟件系統(tǒng)一般都支持導(dǎo)出成這些格式文件)。
當(dāng)選擇[導(dǎo)入數(shù)據(jù)]后出現(xiàn)如上對(duì)話框(解釋如下):
1、書籍資料導(dǎo)入:當(dāng)選擇此項(xiàng)后,按軟件提示操作后將會(huì)把您所選擇的數(shù)據(jù)文件(可以是Excel、Text、DBF等格式)導(dǎo)入到本系統(tǒng)的書籍資料中,從而減少了大量的人工錄入工作。
2、期刊資料導(dǎo)入:當(dāng)選擇此項(xiàng)后,按軟件提示操作后將會(huì)把您所選擇的數(shù)據(jù)文件(可以是Excel、Text、DBF等格式)導(dǎo)入到本系統(tǒng)的期刊資料中,從而減少了大量的人工錄入工作。北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
3、物品資料導(dǎo)入:當(dāng)選擇此項(xiàng)后,按軟件提示操作后將會(huì)把您所選擇的數(shù)據(jù)文件(可以是Excel、Text、DBF等格式)導(dǎo)入到本系統(tǒng)的其他資料中,從而減少了大量的人工錄入工作。
4、讀者資料導(dǎo)入:當(dāng)選擇此項(xiàng)后,按軟件提示操作后將會(huì)把您所選擇的數(shù)據(jù)文件(可以是Excel、Text、DBF等格式)導(dǎo)入到本系統(tǒng)的讀者資料中,從而減少了大量的人工錄入工作。
5、導(dǎo)入數(shù)據(jù)格式是Marc格式:如果所導(dǎo)入的數(shù)據(jù)是MARC格式,就一定要選擇此選項(xiàng),否則無(wú)法正常導(dǎo)入MARC格式的數(shù)據(jù);很多不同的圖書館之間一般比較習(xí)慣通過(guò)此種數(shù)據(jù)格式來(lái)達(dá)到數(shù)據(jù)共享的目的。
6、導(dǎo)入數(shù)據(jù)第一行是標(biāo)題:當(dāng)此復(fù)選框處于選中狀態(tài)時(shí),表示當(dāng)前所導(dǎo)入的數(shù)據(jù)中第一行是列標(biāo)題,將顯示在導(dǎo)入框的列標(biāo)題位置,但不會(huì)被導(dǎo)入到我們的系統(tǒng)中;當(dāng)此復(fù)選框處于非選中狀態(tài)時(shí),表示當(dāng)前所導(dǎo)入的數(shù)據(jù)中第一行不是列標(biāo)題,不會(huì)顯示在導(dǎo)入框的列標(biāo)題位置(列標(biāo)題會(huì)被初始化為形如:Value_1,Value_2...),而且第一行會(huì)被導(dǎo)入到本系統(tǒng)中。
所有的數(shù)據(jù)資料導(dǎo)入步驟其實(shí)比較類似,在此以[讀者資料導(dǎo)入]舉例說(shuō)明: 1、選中[讀者資料導(dǎo)入]單選框,并選中[導(dǎo)入文件包含標(biāo)題]復(fù)選框,點(diǎn)擊[下一步],出現(xiàn)[選擇要到入的文件]對(duì)話框:
按提示選擇您將要導(dǎo)入的文件(注意要預(yù)先在文件類型中選擇格式),然后按[打開]按鈕,進(jìn)入如下界面:
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
上圖是已導(dǎo)入數(shù)據(jù)的臨時(shí)存放形式,請(qǐng)您先審核導(dǎo)入數(shù)據(jù)文件是否正確.2、當(dāng)確認(rèn)所導(dǎo)入數(shù)據(jù)文件正確后,按[下一步]繼續(xù)進(jìn)入如下圖:
左邊字段是您將要導(dǎo)入的數(shù)據(jù)庫(kù)文件字段內(nèi)容,右邊字段是我們系統(tǒng)中對(duì)應(yīng)字段,在此步應(yīng)該確保字段的映射正確,因?yàn)槿绻成洳徽_可能會(huì)給后期的操作和使用帶來(lái)麻煩。
若映射正確,即可進(jìn)入[下一步]: 北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
3、此步是最后一次審核了(如上圖),您可以在某些內(nèi)容不妥的地方進(jìn)行適當(dāng)?shù)男薷模ó?dāng)列寬度不夠顯示時(shí),您可以讓鼠標(biāo)停留在該數(shù)據(jù)上,即可顯示內(nèi)容提示,當(dāng)然您可以通過(guò)調(diào)節(jié)列的寬度全部來(lái)看清數(shù)據(jù)內(nèi)容)。假如一切正常的話,您就可以按[完成]進(jìn)行最后導(dǎo)入工作了。如果映射正確的話,那么就會(huì)提示[導(dǎo)入完成],并且會(huì)提示已經(jīng)導(dǎo)入的記錄數(shù)量(若導(dǎo)入不成功,一般是因?yàn)閷?dǎo)入的資料編號(hào)重復(fù)或者跟已經(jīng)存在的資料編號(hào),請(qǐng)注意檢查)。
? 系統(tǒng)界面
此功能可以修改軟件的顯示屬性,包括軟件標(biāo)題、背景圖片、背景顏色等,以下將詳細(xì)介紹:
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
當(dāng)選擇界面設(shè)置后出現(xiàn)如上圖,以下將針對(duì)上圖的各項(xiàng)功能分別做解釋: 1、自定義本系統(tǒng)標(biāo)題:此項(xiàng)用于修改標(biāo)題,輸入后按[確定],本系統(tǒng)的標(biāo)題就會(huì)變成您剛剛設(shè)置的文字。
2、自定義背景圖路徑:設(shè)置背景圖片的路徑,您也可以按右邊的瀏覽按鈕進(jìn)行瀏覽,查找您所需要的圖片,此處背景圖片支持多種圖片格式。
3、顯示系統(tǒng)背景圖片:此處用于設(shè)置自定義的圖片是否顯示,如果要顯示圖片請(qǐng)選擇[是],否則選擇[否],當(dāng)圖片不顯示時(shí),將會(huì)顯示您所設(shè)置的背景顏色,否則將顯示圖片代替背景顏色。
4、背景顏色:設(shè)置當(dāng)前背景圖不顯示時(shí),本系統(tǒng)所顯示的背景顏色,點(diǎn)擊顏色框可以自定義顏色。
5、讀者界面類型設(shè)置:如果是學(xué)校使用此系統(tǒng),就設(shè)置成[學(xué)校版];如果是企業(yè)單位使用此系統(tǒng),則設(shè)置成[單位版];兩個(gè)版本的區(qū)別主要在于讀者的某些屬性不一樣,而在功能上沒有任何區(qū)別;比如在[學(xué)校版]中的讀者屬性有[讀者學(xué)校]、[讀者專業(yè)]等,如果是[單位版]則相應(yīng)的屬性變成了[單位名稱]和[單位科室]等等。
6、包含租金管理功能:如果選擇了“是”含有租金功能,然后就可以在“系統(tǒng)設(shè)置”里點(diǎn)擊“借閱參數(shù)”按鈕,那么就可以設(shè)置每逾期一天罰款金額、讀者預(yù)借資料有效期、書籍、期刊和物品的日租金。
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
? 系統(tǒng)參數(shù)
此功能可以設(shè)置和修改一些系統(tǒng)常用的參數(shù),以下將詳細(xì)介紹:
當(dāng)選擇系統(tǒng)參數(shù)設(shè)置后出現(xiàn)如上圖,以下將針對(duì)上圖的各項(xiàng)分別做解釋: 1、還書每逾期一天罰款:此項(xiàng)用于設(shè)置當(dāng)讀者持所借圖書過(guò)期歸還時(shí),每超過(guò)還書期限一天應(yīng)該罰款的金額。
2、讀者預(yù)借資料有效期:設(shè)置讀者預(yù)借某本書的有效時(shí)間,即從預(yù)借那天開始,過(guò)多少天后預(yù)借記錄自動(dòng)清除,以免預(yù)借讀者因種種原因長(zhǎng)期沒有借所預(yù)借的資料,從而耽誤其他讀者的對(duì)該資料的借閱操作。
3、每次啟動(dòng)本系統(tǒng)時(shí)自動(dòng)打開逾期列表:選中當(dāng)前的復(fù)選框,表示每當(dāng)打開本圖書管理系統(tǒng)時(shí)會(huì)自動(dòng)顯示那些已經(jīng)過(guò)期的借閱情況。
4、開機(jī)時(shí)自動(dòng)啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)器:若當(dāng)前系統(tǒng)為服務(wù)器端時(shí),每次啟動(dòng)計(jì)算機(jī)后,是否直接啟動(dòng)本系統(tǒng)的數(shù)據(jù)庫(kù)服務(wù)器(不是本系統(tǒng),而是本系統(tǒng)所連接的數(shù)據(jù)庫(kù)服務(wù)器),以便其他客戶端能正常的連接該計(jì)算機(jī)上的服務(wù)器。
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
5、無(wú)人操作自動(dòng)進(jìn)入離開狀態(tài):這是一個(gè)安全設(shè)置,當(dāng)自己離開后一段時(shí)間里(具體時(shí)間可以自己設(shè)定),系統(tǒng)自動(dòng)進(jìn)入離開狀態(tài),用于防止別人在未經(jīng)許可的情況下動(dòng)自己的系統(tǒng),本功能有點(diǎn)像屏幕保護(hù)程序,進(jìn)入離開狀態(tài)后需要密碼才能返回當(dāng)前系統(tǒng)。
? 切換用戶
用于更換當(dāng)前登陸者的身份。注意,假如是多用戶同時(shí)操作,請(qǐng)確保同一用戶名在不同客戶端不要重復(fù)登陸。
? 修改密碼
用于更換當(dāng)前登陸者的登陸密碼,按提示填入舊密碼和新密碼就可以實(shí)現(xiàn)密碼的修改操作。18
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
? 暫時(shí)離開
系統(tǒng)里有當(dāng)前正在查看或編輯的內(nèi)容,如果退出系統(tǒng)那么當(dāng)前內(nèi)容會(huì)丟失,所以不方便退出系統(tǒng),這時(shí)您可以利用該功能;并且此功能有屏幕保護(hù)的作用,可以有效的防止別人在未授權(quán)的情況下修改您的數(shù)據(jù)。
該功能主要用于用戶臨時(shí)離開時(shí),當(dāng)前用戶再次進(jìn)入系統(tǒng)時(shí),須輸入當(dāng)前用戶的密碼,如果密碼不對(duì)則不能進(jìn)入系統(tǒng)。
因?yàn)榇颂幑δ苁荹用戶暫時(shí)離開],即表示當(dāng)前用戶還會(huì)來(lái),里面的數(shù)據(jù)還需要用,所以在當(dāng)前狀態(tài)不能切換用戶,即進(jìn)入系統(tǒng)時(shí)只能輸入當(dāng)前用戶的密碼。
? 用戶管理
用于對(duì)用戶進(jìn)行添加、修改、刪除、權(quán)限修改等操作,此功能需要超級(jí)用戶權(quán)限才能使用。
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
下面分別介紹: a、添加用戶
單擊管理管理窗口中按鈕[添加用戶],即可出現(xiàn)下圖:
填好您需要的內(nèi)容,按[確定]即可完成用戶的添加工作。
b、修改用戶
選擇您想要修改的用戶名后,單擊管理管理窗口中按鈕[修改用戶],即可出現(xiàn)下圖: 20
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
修改好您需要的內(nèi)容,按[確定]即可完成用戶的修改工作。
c、刪除用戶
選擇您想要?jiǎng)h除的用戶名后,單擊管理管理窗口中按鈕[刪除用戶],即可完成刪除工作。
注意:不能刪除當(dāng)前正在登陸使用的用戶名。
d、修改權(quán)限
選擇您想要修改權(quán)限的用戶名后,單擊管理管理窗口中按鈕[修改權(quán)限],即可出現(xiàn)下圖:
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
設(shè)置相應(yīng)的權(quán)限,點(diǎn)擊[確定]即可完成權(quán)限設(shè)置。
這里注意,不能修改[超級(jí)用戶]和當(dāng)前用戶的權(quán)限。
? 系統(tǒng)初始化
進(jìn)行此步要求慎重,最好能事先備份系統(tǒng),以便防止有用數(shù)據(jù)永久丟失!
系統(tǒng)初始化時(shí),您可以有選擇的保留某些數(shù)據(jù),特別要注意是,選中的資料是表示需要保留的,如果您想刪除所有的資料信息,必須不選中所有的復(fù)選框(如上圖所示,是表示保留所有信息進(jìn)行初始化,這樣做的好處是只刪除系統(tǒng)中所有的資料借閱情況而不刪除任何基礎(chǔ)資料,因?yàn)榇蟛糠智闆r下用戶只是想初始化系統(tǒng)里面的借閱情況而并非想刪除以前辛辛苦苦錄入的數(shù)據(jù)資料,除非確定了該系統(tǒng)中的已有數(shù)據(jù)確實(shí)沒有用才會(huì)刪除)。如上圖,單擊[確定],系統(tǒng)提示輸入超級(jí)用戶的密碼,驗(yàn)證完成后即可進(jìn)行系統(tǒng)初始化工作。
用戶剛剛投入使用該系統(tǒng)時(shí)一般會(huì)使用本功能,以便清除系統(tǒng)中沒有用的數(shù)據(jù)。22
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
? 數(shù)據(jù)庫(kù)連接管理
A、單機(jī)版設(shè)置
假如您只需要在一臺(tái)機(jī)子上使用本系統(tǒng),無(wú)需聯(lián)網(wǎng)操作,您就可以使用該功能把本系統(tǒng)設(shè)置成[單機(jī)版],方法如下圖:
單擊[確定]即可完成設(shè)置。
說(shuō)明:作為單機(jī)版使用時(shí),您也可以把系統(tǒng)設(shè)置成服務(wù)器端,這樣系統(tǒng)可以正常運(yùn)行,但每次啟動(dòng)該系統(tǒng)的時(shí)間比單機(jī)版稍慢一些。
B、網(wǎng)絡(luò)版設(shè)置
假如您需要在多臺(tái)機(jī)子上聯(lián)網(wǎng)使用本系統(tǒng),您就可以使用該功能把本系統(tǒng)設(shè)置成[網(wǎng)絡(luò)版],其中網(wǎng)絡(luò)版設(shè)置又包括服務(wù)器端設(shè)置和客戶端設(shè)置,下面將分別介紹:
1、服務(wù)器端設(shè)置:
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
按上圖,選擇網(wǎng)絡(luò)版,第一個(gè)下拉列表選擇[服務(wù)器端],然后在“服務(wù)器名稱”處給您所設(shè)的服務(wù)器自定義取個(gè)名字(比如叫[ServerName],在客戶端的設(shè)置中將會(huì)引用此名稱),單擊[確定]即可完成設(shè)置。
(注:給服務(wù)器取名字時(shí)要注意,假如您所在的局域網(wǎng)內(nèi)同時(shí)有多臺(tái)服務(wù)器,請(qǐng)保證您所取的名稱不與其他服務(wù)器重名,否則您的設(shè)置將無(wú)法完成。)
至此,服務(wù)器端設(shè)置完成。
2、客戶端設(shè)置
按上圖,選擇網(wǎng)絡(luò)版,第一個(gè)下拉列表選擇[客戶端],然后在服務(wù)器名稱處寫上您想要連接的服務(wù)器名稱(比如叫[ServerName],在服務(wù)器端的設(shè)置的名稱),單擊[確定]即可完成設(shè)置(如果不在同一個(gè)局域網(wǎng)內(nèi)則需要輸入服務(wù)器的IP地址)。24
北創(chuàng)軟件
正在運(yùn)行,否則您的設(shè)置將無(wú)法完成。)
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
(注:填寫要連接的服務(wù)器名字時(shí)要注意,一定要保證所在的局域網(wǎng)存在該服務(wù)器名稱,且服務(wù)器至此,客戶端設(shè)置完成。
? 讀卡器設(shè)置
此功能是配合COM接口的讀卡器使用的。詳細(xì)設(shè)置情況按讀卡器實(shí)際情況設(shè)置就可以了。
? 退出系統(tǒng)
本功能是退出本圖書管理系統(tǒng)。
第3節(jié) 資料管理
? 類別資料維護(hù)
此處可以設(shè)置讀者資料或者借閱資料所引用的內(nèi)容,包括讀者等級(jí),出版社資料,圖書分類,以下分別介紹: 1、讀者等級(jí)管理:
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
在窗口的正下方有不同功能的按鈕,功能如下:
新增:增加一個(gè)讀者等級(jí)的內(nèi)容;
修改:修改一個(gè)已經(jīng)存在的讀者等級(jí)內(nèi)容;
刪除:刪除一個(gè)已經(jīng)存在的讀者等級(jí)內(nèi)容;
刷新:重新從庫(kù)中獲取等級(jí)內(nèi)容,以便查看其他客戶端是否正在更改此等級(jí)信息;
退出:退出當(dāng)前的類別管理界面,返回系統(tǒng)。
2、出版社資料管理: 北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
在窗口的正下方有不同功能的按鈕,功能如下:
新增:增加一個(gè)出版社的內(nèi)容;
修改:修改一個(gè)已經(jīng)存在的出版社內(nèi)容;
刪除:刪除一個(gè)已經(jīng)存在的出版社內(nèi)容;
刷新:重新從庫(kù)中獲取出版社內(nèi)容,以便查看其他客戶端是否正在更改此出版社信息;
退出:退出當(dāng)前的類別管理界面,返回系統(tǒng)。
3、圖書類別管理:
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
在窗口的右下方有不同功能的按鈕,功能如下:
增加同級(jí)類別:增加一個(gè)與指定類別同級(jí)的類別,即新增類別與當(dāng)前指定類別處于同一個(gè)目錄層次;
增加下級(jí)類別:增加一個(gè)指定類別的下級(jí)類別,即新增類別處于當(dāng)前指定類別的子類別;
修改當(dāng)前類別:修改當(dāng)前所指定的類別信息。
刪除當(dāng)前類別:刪除當(dāng)前所指定的類別;
退出當(dāng)前界面:退出當(dāng)前的類別管理界面,返回系統(tǒng)。
? 書籍資料管理
選擇此功能時(shí),出現(xiàn)下圖: 北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
在本窗口正上方的工具欄上有各種按鈕的圖標(biāo),這些按鈕所執(zhí)行的功能只作用于在其正下方的書籍資料內(nèi)容,在書籍資料內(nèi)容的下方是描述當(dāng)前書籍窗口中當(dāng)前書籍資料的詳細(xì)明細(xì)情況,可以點(diǎn)擊對(duì)應(yīng)的按鈕進(jìn)行相應(yīng)的操作。
針對(duì)每一條書籍資料記錄,下面都有詳細(xì)的明細(xì)窗口,包括:
1、當(dāng)前借閱狀態(tài):用于記錄當(dāng)前書籍被出借的情況; 2、借閱流水情況:用于記錄當(dāng)前書籍以往的所有借閱日志; 3、重要?dú)v史備忘:用于記錄當(dāng)前書籍相關(guān)的一些事情。
下面針對(duì)書籍管理的主工具條作一些說(shuō)明(如下圖):
北創(chuàng)軟件
1、添加:新增一條新的書籍資料記錄;
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
2、修改:修改一條已經(jīng)存在的書籍資料記錄; 3、刪除:刪除一條已經(jīng)存在的書籍資料記錄;
4、下架:當(dāng)庫(kù)內(nèi)有某些書籍因?yàn)槟承┨厥庠蚨鴷簳r(shí)停止外借時(shí),就可以用此處的下架功能。此功能不會(huì)刪除所選擇的書籍資料,所以在任何時(shí)候都可以將下架的書籍資料重新上架流通;
5、篩選:可以根據(jù)用戶設(shè)定的條件把需要的書籍資料過(guò)濾出來(lái);
6、刷新:在很多情況下(比如網(wǎng)絡(luò)操作),可能數(shù)據(jù)已經(jīng)更新了,但當(dāng)前系統(tǒng)不能及時(shí)顯示,您可以通過(guò)刷新來(lái)完全顯示;
7、列選:當(dāng)前如果資料的列項(xiàng)比較多,但是您不需要這么詳細(xì)的列資料,或者打印是不需要如此多的列,您可以通過(guò)此操作來(lái)設(shè)置您所需要的列項(xiàng); 8、預(yù)覽:查看打印效果,可以調(diào)節(jié)列寬,以便按您所需要的格式打?。蛔⒁?,如果系統(tǒng)沒有安裝打印機(jī)的話,預(yù)覽可能會(huì)不正常,而且打印預(yù)覽中的某些項(xiàng)可能設(shè)置不了;
9、導(dǎo)出:把當(dāng)前正在顯示的記錄導(dǎo)出成您所需要的格式(比如Excel格式等),注意,被隱藏的列也能被正常導(dǎo)出;10、退出:退出當(dāng)前書籍管理窗口。北創(chuàng)軟件
? 期刊資料管理
選擇此功能時(shí),出現(xiàn)下圖:
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
在本窗口正上方的工具欄上有各種按鈕的圖標(biāo),這些按鈕所執(zhí)行的功能只作用于在其正下方的期刊資料內(nèi)容,在期刊資料內(nèi)容的下方是描述當(dāng)前期刊窗口中當(dāng)前期刊資料的詳細(xì)明細(xì)情況,可以點(diǎn)擊對(duì)應(yīng)的按鈕進(jìn)行相應(yīng)的操作。
針對(duì)每一條期刊資料記錄,下面都有詳細(xì)的明細(xì)窗口,包括:
1、當(dāng)前借閱狀態(tài):用于記錄當(dāng)前期刊被出借的情況; 2、借閱流水情況:用于記錄當(dāng)前期刊以往的所有借閱日志; 3、重要?dú)v史備忘:用于記錄當(dāng)前期刊相關(guān)的一些事情。
因?yàn)槠诳芾碇鞴ぞ邨l的功能操作方法跟書籍管理非常類似,所以具體可以參考書籍管理中工具條的操作說(shuō)明,為了節(jié)省篇幅,這里略。
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
? 其他物品管理
選擇此功能時(shí),出現(xiàn)下圖:
在本窗口正上方的工具欄上有各種按鈕的圖標(biāo),這些按鈕所執(zhí)行的功能只作用于在其正下方的物品資料內(nèi)容,在物品資料內(nèi)容的下方是描述當(dāng)前物品窗口中當(dāng)前物品資料的詳細(xì)明細(xì)情況,可以點(diǎn)擊對(duì)應(yīng)的按鈕進(jìn)行相應(yīng)的操作。
針對(duì)每一條期刊資料記錄,下面都有詳細(xì)的明晰,包括:
4、前借閱狀態(tài):用于記錄當(dāng)前物品被出借的情況; 5、借閱流水情況:用于記錄當(dāng)前物品以往的所有借閱日志; 6、重要?dú)v史備忘:用于記錄當(dāng)前物品相關(guān)的一些事情。
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
因?yàn)槲锲饭芾碇鞴ぞ邨l的功能操作方法跟書籍管理非常類似,所以具體可以參考書籍管理中工具條的操作說(shuō)明,為了節(jié)省篇幅這里略。
? 讀者資料管理
選擇此功能時(shí),出現(xiàn)下圖:
在本窗口正上方的工具欄上有各種按鈕的圖標(biāo),這些按鈕所執(zhí)行的功能只作用于在其正下方的讀者資料內(nèi)容,在讀者資料內(nèi)容的下方是描述當(dāng)前讀者窗口中當(dāng)前讀者資料的詳細(xì)明細(xì)情況,可以點(diǎn)擊對(duì)應(yīng)的按鈕進(jìn)行相應(yīng)的操作。
針對(duì)每一條讀者資料記錄,下面都有詳細(xì)的明細(xì)窗口,包括:
1、當(dāng)前借閱狀態(tài):用于記錄當(dāng)前讀者借閱資料的情況; 2、借閱流水情況:用于記錄當(dāng)前讀者以往的所有借閱日志; 3、提前預(yù)借情況:用于記錄當(dāng)前讀者提前預(yù)定要借閱的資料信息; 4、重要?dú)v史備忘:用于記錄當(dāng)前期刊相關(guān)的一些事情。
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
下面針對(duì)讀者管理的主工具條作一些說(shuō)明(如下圖):
1、添加:新增一條新的讀者資料記錄; 2、修改:修改一條已經(jīng)存在的讀者資料記錄; 3、刪除:刪除一條已經(jīng)存在的讀者資料記錄;
4、篩選:可以根據(jù)用戶設(shè)定的條件把需要的讀者資料過(guò)濾出來(lái);
5、刷新:在很多情況下(比如網(wǎng)絡(luò)操作),可能數(shù)據(jù)已經(jīng)更新了,但當(dāng)前系統(tǒng)不能及時(shí)顯示,您可以通過(guò)刷新來(lái)完全顯示;
6、列選:當(dāng)前如果資料的列項(xiàng)比較多,但是您不需要這么詳細(xì)的列資料,或者打印是不需要如此多的列,您可以通過(guò)此操作來(lái)設(shè)置您所需要的列項(xiàng); 7、預(yù)覽:查看打印效果,可以調(diào)節(jié)列寬,以便按您所需要的格式打??;注意,如果系統(tǒng)沒有安裝打印機(jī)的話,預(yù)覽可能會(huì)不正常,而且打印預(yù)覽中的某些項(xiàng)可能設(shè)置不了;
8、導(dǎo)出:把當(dāng)前正在顯示的記錄導(dǎo)出成您所需要的格式(比如Excel格式等),注意,被隱藏的列也能被正常導(dǎo)出; 9、退出:退出當(dāng)前書籍管理窗口。
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
? 資料下架管理
相關(guān)解釋:
上架選中資料:將所有選中的資料重新上架,上架后的資料可以被讀者正常借閱;
刪除選中資料:將當(dāng)前所有選中的資料徹底從系統(tǒng)中刪除(當(dāng)確認(rèn)當(dāng)前所有選中的資料都沒有用了,就可以進(jìn)行此步操作);
篩選:可以根據(jù)用戶設(shè)定的條件把需要的讀者資料過(guò)濾出來(lái);
刷新:在很多情況下(比如網(wǎng)絡(luò)操作),可能數(shù)據(jù)已經(jīng)更新了,但當(dāng)前系統(tǒng)不能及時(shí)顯示,您可以通過(guò)刷新來(lái)完全顯示;
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
預(yù)覽:查看打印效果,可以調(diào)節(jié)列寬,以便按您所需要的格式打印;注意,如果系統(tǒng)沒有安裝打印機(jī)的話,預(yù)覽可能會(huì)不正常,而且打印預(yù)覽中的某些項(xiàng)可能設(shè)置不了;
導(dǎo)出:把當(dāng)前正在顯示的記錄導(dǎo)出成您所需要的格式(比如Excel格式等),注意,被隱藏的列也能被正常導(dǎo)出;
退出:退出當(dāng)前下架管理窗口。
?批量刪除管理
在[批量刪除管理]界面您可以根據(jù)自己的具體要求批量刪除書籍、期刊、物品、讀者以及借閱日志記錄。
北創(chuàng)軟件
?快速新增資料
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
此功能包括:新增讀者、新增書籍、新增期刊、新增物品,對(duì)應(yīng)的每個(gè)功能都有一個(gè)快捷鍵,因?yàn)楸竟δ軣o(wú)須打開相應(yīng)的資料管理窗口,從而避免了獲取大量資料信息的過(guò)程,節(jié)省了操作時(shí)間(數(shù)據(jù)量越大,效果越明顯),達(dá)到快速新增的目的。
? 資料打印
1、讀者當(dāng)前借閱打印
此功能用于打印讀者當(dāng)前借閱情況,可以篩選您需要的資料進(jìn)行打印輸出。2、讀者借閱日志
此功能用于打印讀者當(dāng)前借閱日志,可以篩選您需要的資料進(jìn)行打印輸出。
3、資料當(dāng)前借閱打印
此功能用于打印資料當(dāng)前被借閱的情況,可以篩選您需要的資料進(jìn)行打印輸出。
4、資料借閱日志
此功能用于打印資料借閱日志的情況,可以篩選您需要的資料進(jìn)行打印輸出。
5、庫(kù)資料條碼打印
選擇此功能時(shí),出現(xiàn)下圖:
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
您可以在本窗口中把對(duì)應(yīng)的資料編號(hào)轉(zhuǎn)換成您所需要的條形碼圖形(如39碼、ISBN碼等),然后就可以打印輸出了。在打印頁(yè)面設(shè)置中設(shè)置好條碼的寬度和相互距離,以便能更準(zhǔn)確的打印到輸出材料上。
6、自定義資料條碼打印
以下我們將對(duì)Code 39碼和EAN13碼的產(chǎn)生分別作說(shuō)明:
1、39碼的產(chǎn)生
在常用條碼條碼選擇中選擇“Code 39碼”,如下圖:
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
然后點(diǎn)擊[添加條碼],出現(xiàn)下圖,按要求填上數(shù)據(jù)后按[確定]即可進(jìn)行添加條碼的操作
[確定]后出現(xiàn):
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
至此,Code 39碼產(chǎn)生完成,剩下的就是打印輸出了。
2、Ean13碼(ISBN/ISSN)的產(chǎn)生
在常用條碼選擇中選擇“Code 39碼”,如下圖:
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
然后點(diǎn)擊[添加條碼],出現(xiàn)下圖,按要求填上數(shù)據(jù)后按[確定]即可進(jìn)行添加條碼的操作
[確定]后出現(xiàn):
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
至此,Ean13碼(ISBN/ISSN)的產(chǎn)生完成,剩下的就是打印輸出了。
7、庫(kù)資料書標(biāo)打印 選擇此功能時(shí),出現(xiàn)下圖:
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
您可以在本窗口中把對(duì)應(yīng)的資料書標(biāo)轉(zhuǎn)換成您喜歡的組合方式(如分類號(hào)與書架號(hào)、書架號(hào)與資料編號(hào)、書架號(hào)與出版年等組合而成),然后就可以打印輸出了。在打印書標(biāo)之前可以先設(shè)置好頁(yè)邊距、書標(biāo)的寬度和相互距離等以便能更準(zhǔn)確的打印到輸出材料上。書標(biāo)產(chǎn)生后您可以點(diǎn)擊[顏色]按鈕自定義設(shè)置書標(biāo)顏色。
8、自定義書標(biāo)打印
北創(chuàng)軟件
標(biāo)的操作。
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
點(diǎn)擊[添加新書標(biāo)],出現(xiàn)下圖,按自己要求填上數(shù)據(jù)后按[確定]即可進(jìn)行添加書
書標(biāo)生成后,您還可以點(diǎn)擊[顏色修改]按鈕自定義設(shè)置書標(biāo)顏色。
?數(shù)據(jù)自動(dòng)生成
注:此項(xiàng)操作會(huì)批量更改數(shù)據(jù),一般用于圖書館剛剛建庫(kù)并使用本系統(tǒng)的時(shí)候進(jìn)行操作。
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
相關(guān)解釋:
1.自動(dòng)生成書架位置:當(dāng)您選擇次功能,并且選擇了“索書號(hào)內(nèi)容”那么系統(tǒng)會(huì)自動(dòng)根據(jù)您選擇的索書號(hào)[內(nèi)容]批量產(chǎn)生索書號(hào)。
2.根據(jù)標(biāo)準(zhǔn)ISBN自動(dòng)生成出版社:當(dāng)您選擇此功能,那么系統(tǒng)會(huì)根據(jù)書籍的ISBN碼自動(dòng)批量產(chǎn)生出版社名稱和地點(diǎn)信息,您也可以選擇是否“覆蓋已有的出版社”。
3.根據(jù)分類號(hào)自動(dòng)生成類別名稱:當(dāng)您選擇此功能,那么系統(tǒng)會(huì)根據(jù)書籍的分類號(hào)自動(dòng)批量產(chǎn)生書籍的類別名稱。您也可以選擇是否覆蓋已有類別名稱。
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
第4節(jié) 常用操作
? 借閱管理
此功能包括借出資料、歸還資料、續(xù)借資料和預(yù)借資料功能,界面如下圖:
相關(guān)解釋:
執(zhí)行操作:執(zhí)行相應(yīng)的借閱操作;
清空數(shù)據(jù):清空當(dāng)前借閱窗口內(nèi)的所有數(shù)據(jù);
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
編號(hào)切換:借閱資料的編號(hào)和ISBN/ISSN碼進(jìn)行切換,以便用戶選擇一種比較適合自己管理的借閱方法(F2鍵或者用鼠標(biāo)單擊資料編號(hào)輸入框上方的小圖標(biāo)可以實(shí)現(xiàn)切換功能)。
卡號(hào)切換:當(dāng)前讀者編號(hào)和讀者卡號(hào)相互切換,以便操作(用鼠標(biāo)單擊讀者編號(hào)輸入框上方的小圖標(biāo)可以實(shí)現(xiàn)切換功能);
讀者列表:打開當(dāng)前讀者列表,以便用戶選擇; 資料列表:打開當(dāng)前資料列表,以便用戶選擇;
顯示讀者照片:如果讀者在入庫(kù)時(shí)添加了對(duì)應(yīng)的讀者相片,那么[顯示照片]復(fù)選框若選中,則會(huì)顯示對(duì)應(yīng)讀者的照片;
自定天數(shù):如果選中[自定天數(shù)]復(fù)選框,則借出資料時(shí)所借出的天數(shù)是按照自己設(shè)定的天數(shù)登記的;如果不選中[自定天數(shù)]復(fù)選框,則借出資料時(shí)所借出的天數(shù)是按照對(duì)應(yīng)讀者的等級(jí)所限制的最大天數(shù)登記的,若會(huì)員等級(jí)是無(wú)限制,則默認(rèn)的天數(shù)是9999天;
今日借還日志:記錄當(dāng)天當(dāng)前用戶的所有操作日志,如果想看其他的時(shí)間段,可以利用本系統(tǒng)的借閱流水查看功能。
暫時(shí)離開:打開暫時(shí)離開界面; 退出窗口:退出當(dāng)前界面.47 北創(chuàng)軟件
? 帳務(wù)管理
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
此處是進(jìn)行處理讀者支付款項(xiàng)事件的操作,讀者所有因借閱過(guò)期、資料丟失、資料損壞、讀者支付等所產(chǎn)生的款項(xiàng)記錄都可以在此進(jìn)行處理,界面如下圖:
點(diǎn)擊[罰款]按鈕后出現(xiàn):
北創(chuàng)軟件
當(dāng)于存款了)。
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
按要求可以做相應(yīng)的操作(假如選擇[其他原因],罰款金額是負(fù)數(shù)的話,那就相? 會(huì)員管理
此處主要用于對(duì)讀者進(jìn)行掛失、解掛失、停用、啟用和注銷等操作,界面如下圖:
按提示要求就可以做相應(yīng)的操作。
? 辦卡管理
此處是進(jìn)行辦卡、換卡和注銷卡等操作的功能,界面如下圖:
北創(chuàng)軟件
瑞天圖書管理系統(tǒng)標(biāo)準(zhǔn)版
按提示要求就可以做相應(yīng)的操作。
? 押金充值
此處是進(jìn)行押金充值操作的功能,界面如下圖
按提示要求就可以做相應(yīng)的操作。
第二篇:圖書管理系統(tǒng)
圖書管理系統(tǒng)源代碼
#include
Length();//計(jì)算鏈表長(zhǎng)度 DblNode
象,讀入圖書館書籍?dāng)?shù)據(jù) ofstream magFileOut;// 文件流對(duì)象,保存圖書館雜志數(shù)據(jù) ifstream magFileIn;// 文件流對(duì)象,讀入圖書館雜志數(shù)據(jù) ofstream readerFileOut;// 文件流對(duì)象,保存圖書館讀者數(shù)據(jù) ifstream readerFileIn;// 文件流對(duì)象,讀入圖書館讀者數(shù)據(jù) ofstream loanFileOut;// 文件流對(duì)象,保存圖書館借閱信息數(shù)據(jù) ifstream loanFileIn;// 文件流對(duì)象,讀入圖書館借閱信息 ofstream managerFileOut;// 文件流對(duì)象,保存圖書館管理員數(shù)據(jù) ifstream managerFileIn;// 文件流對(duì)象,讀入圖書館管理員數(shù)據(jù) public: Library();// 構(gòu)造函數(shù) ~Library();//析構(gòu)函數(shù) void Run();// 圖書館類的運(yùn)行函數(shù) void CreateBibliotheca();// 創(chuàng)建書目 void CreateReader();// 創(chuàng)建讀者庫(kù) void CreateManager();// 創(chuàng)建管理員信息 int ShowMainMenu();// 顯示主菜單函數(shù) void Borrow();// 借書操作 void Return();// 還書操作 void Require();// 查詢操作 void SaveInfo();// 保存圖書館信息 void OpenInfo();// 讀入圖書館信息 };
第三篇:圖書管理系統(tǒng)
目錄
第一章 緒論.....................................................................................................................................1 第二章 需求分析..............................................................................................................................2
2.1任務(wù)概述............................................................................................................................2
2.1.1 圖書管理系統(tǒng)完成的主要目標(biāo)...........................................................................2 2.1.2用戶的特點(diǎn)............................................................................................................3 2.2需求規(guī)定............................................................................................................................3
2.2.1對(duì)功能的規(guī)定........................................................................................................3 2.2.2讀者管理功能........................................................................................................4 2.2.3系統(tǒng)管理功能........................................................................................................4
第三章 概要設(shè)計(jì).............................................................................................................................4
3.1總體設(shè)計(jì)............................................................................................................................4
3.1.1系統(tǒng)目標(biāo)設(shè)計(jì)........................................................................................................4 3.1.2系統(tǒng)功能分析........................................................................................................5 3.2系統(tǒng)設(shè)計(jì)思想.....................................................................................................................5 3.3 系統(tǒng)模塊功能解析............................................................................................................5 第四章 詳細(xì)設(shè)計(jì).............................................................................................................................6
4.1程序設(shè)計(jì)說(shuō)明....................................................................................................................6
4.1.1用戶登錄模塊........................................................................................................6 4.1.2用戶添加模塊........................................................................................................7 4.1.3書籍查詢模塊........................................................................................................8 4.1.4圖書借閱模塊........................................................................................................9 4.1.5圖書歸還模塊......................................................................................................10 4.1.6新書入庫(kù)模塊......................................................................................................11 第五章 編碼與測(cè)試.......................................................................................................................13 5.1各功能模塊的實(shí)現(xiàn)...........................................................................................................13 5.2 測(cè)試.................................................................................................................................19 5.2.1借閱卡管理測(cè)試..................................................................................................19 5.2.2書籍管理測(cè)試......................................................................................................19 5.2.3系統(tǒng)管理測(cè)試......................................................................................................19 結(jié)束語(yǔ).............................................................................................................................................20 致
謝...........................................................................................................................................21 參考文獻(xiàn).........................................................................................................................................21
圖書管理系統(tǒng)
摘要:本文介紹了在VB6.0環(huán)境下采用“自上而下地總體規(guī)劃,自下而上地應(yīng)用開發(fā)”的策略開發(fā)一個(gè)管理信息系統(tǒng)的過(guò)程。通過(guò)分析傳統(tǒng)的人工管理圖書館的不足,創(chuàng)建了一套行之有效的計(jì)算機(jī)管理圖書館的方案。文章詳細(xì)介紹了圖書管理信息系統(tǒng)的系統(tǒng)分析部分,包括可行性分析、組織機(jī)構(gòu)分析、管理職能分析、業(yè)務(wù)流程分析、數(shù)據(jù)流程分析、數(shù)據(jù)字典、處理描述等等;系統(tǒng)設(shè)計(jì)部分主要介紹了系統(tǒng)功能設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì);系統(tǒng)實(shí)現(xiàn)部分列出了幾個(gè)主要的程序框圖,并附帶了一些主要的窗口和程序。關(guān)鍵字:圖書管理系統(tǒng),VB6.0,sqlserver2000,信息系統(tǒng)
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
第一章 緒論
隨著人類社會(huì)的發(fā)展,人類對(duì)知識(shí)的需求也不斷地增長(zhǎng)。在這種形勢(shì)下,書籍就漸漸地成為人們獲取并增長(zhǎng)知識(shí)的主要途徑,而圖書館就自然而然地在人們的生活中占據(jù)了一定的位置,如何科學(xué)地管理圖書館不但關(guān)系到讀者求知的方便程度,也關(guān)系到圖書館的發(fā)展,因此,開發(fā)一套完善的圖書館管理系統(tǒng)就必不可
少了。
圖書館管理系統(tǒng)是典型的信息管理系統(tǒng),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端的應(yīng)用程序的開發(fā)兩個(gè)方面。對(duì)于前者要求建立數(shù)據(jù)的一致性和完整性,對(duì)于后者則要求應(yīng)用程序功能的完備,易用等的特點(diǎn)?;谏鲜隹紤]本系統(tǒng)主要利用VB6.0作前端的應(yīng)用開發(fā)工具,利用sqlsever 作為后臺(tái)的數(shù)據(jù)庫(kù),利用WINDOWS作為系統(tǒng)平臺(tái)開發(fā)的圖書管理系統(tǒng)。另外本圖書館管理系統(tǒng)利用軟件工程化思想和方法,總體上是采用結(jié)構(gòu)化生命法進(jìn)行系統(tǒng)分析和設(shè)計(jì)的,而系統(tǒng)實(shí)現(xiàn)等步驟則采用了原型法和面對(duì)對(duì)象的方法
系統(tǒng)開發(fā)的總目標(biāo)是實(shí)現(xiàn)內(nèi)部圖書借閱管理的系統(tǒng)化、規(guī)范化和自動(dòng)化。能夠?qū)D書進(jìn)行注冊(cè)登記,也就是將圖書的基本信息(如:書名、作者、價(jià)格等)預(yù)先存入數(shù)據(jù)庫(kù)中,供以后檢索。能夠?qū)栝喨诉M(jìn)行注冊(cè)登記,包括記錄借閱人的姓名、地址、電話等信息。提供方便的查詢方法。如:以書名、作者、出版社、出版時(shí)間(確切的時(shí)間、時(shí)間段、某一時(shí)間之前、某一時(shí)間之后)等信息進(jìn)行圖書檢索,并能反映出圖書的借閱情況;以借閱人編號(hào)對(duì)借閱人信息進(jìn)行檢索;以出版社名稱查詢出版社聯(lián)系方式信息。提供統(tǒng)計(jì)分析功能??梢哉宫F(xiàn)出圖書類型比例、庫(kù)存與借出比例。提供舊書銷毀功能,對(duì)于淘汰、損壞、丟失的書目可及時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改。能夠?qū)κ褂迷摴芾硐到y(tǒng)的用戶進(jìn)行管理,按照不同的工作職能提供不同的功能授權(quán)。提供較為完善的差錯(cuò)控制與友好的用戶界面,盡量避免誤操作。圖書館的基本功能就是為讀者提供借閱服務(wù),讀者通過(guò)借閱這一過(guò)程,可以把圖書帶出圖書館,從而使讀者能夠更方便的瀏覽圖書。借書過(guò)程中,圖書管理員要對(duì)讀者的借書資格進(jìn)行審查,對(duì)符合借書條件的讀者,允許其借書,對(duì)其借書記錄進(jìn)行登記;對(duì)沒有借書資格的讀者,禁止其借書。
在VB6.0環(huán)境下采用“自上而下地總體規(guī)劃,自下而上地應(yīng)用開發(fā)”的策略開發(fā)一個(gè)管理信息系統(tǒng)的過(guò)程。通過(guò)分析傳統(tǒng)的人工管理圖書館的不足,創(chuàng)建了一套行之有效的計(jì)算機(jī)管理圖書館的方案。文章詳細(xì)介紹了圖書管理信息系統(tǒng)的系統(tǒng)分析部分,包括可行性分析、組織機(jī)構(gòu)分析、管理職能分析、業(yè)務(wù)流程分析、數(shù)據(jù)流程分析、數(shù)據(jù)字典、處理描述等等;系統(tǒng)設(shè)計(jì)部分主要介紹了系統(tǒng)功能設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì);系統(tǒng)實(shí)現(xiàn)部分列出了幾個(gè)主要的程序框圖,并附帶了一些主要的窗口和程序。
第二章 需求分析
2.1任務(wù)概述
2.1.1 圖書管理系統(tǒng)完成的主要目標(biāo)
進(jìn)入系統(tǒng)前需要身份認(rèn)證、用戶名、密碼、輸入正確方可進(jìn)入。用戶可以根據(jù)需要進(jìn)行書庫(kù)管理。用戶可以進(jìn)行借書證的辦理、查詢、掛失等操作。用戶可
以添加賬戶和修改密碼。2.1.2用戶的特點(diǎn)
最終用戶包括讀者(具有借閱卡的人)、圖書管理員,鑒于此軟件應(yīng)用于大學(xué)圖書管理,讀者基本都是在校大學(xué)生即校職工和領(lǐng)導(dǎo),圖書管理員都是接受過(guò)高等教育的職工,因此他們都懂得運(yùn)用基本的計(jì)算機(jī)知識(shí)。大學(xué)圖書管理系統(tǒng)的使用頻度很高,假如一個(gè)一萬(wàn)人的大學(xué)來(lái)講,每天圖書館的平均日流量為1.5萬(wàn)。因此,該軟件的可靠性、可用性、可維護(hù)性顯得尤為重要。
2.2需求規(guī)定
2.2.1對(duì)功能的規(guī)定
1、圖書信息查詢/借書信息查詢:圖書館主要向讀者提供圖書借閱的服務(wù)。讀者為了借閱圖書,一般情況下,需要在借書之前查詢所要借閱的圖書情況,所以圖書館需要為讀者提供圖書查詢功能。例如,讀者可能想借閱某方面的書,但不知道圖書館在該方面有哪些圖書可供借閱,所以需要對(duì)圖書館的圖書進(jìn)行查詢;或者,讀者知道想借閱的圖書信息,但不知道該圖書館是否有該書或不知道圖書在圖書館的位置、是否被借出、是否可以借閱等信息,這也需要使用圖書查詢功能。一般的圖書查詢中,讀者是通過(guò)圖書登記卡、瀏覽圖書登記卡中的信息得到圖書信息的。經(jīng)過(guò)圖書查詢,讀者獲得圖書館是否有自己想要的圖書,該圖書的簡(jiǎn)單信息以及圖書在圖書館的借閱位置等信息。
2、新書入庫(kù):為了能正常運(yùn)行,圖書館要及時(shí)更新館藏圖書。對(duì)于新書,要購(gòu)進(jìn),供讀者借閱;所以要設(shè)計(jì)到圖書的批量入庫(kù)。對(duì)于批量入庫(kù),圖書管理員要批量登記圖書的信息,包括書名ID、ISBN、圖書名稱、作者、出版社、單價(jià)、入庫(kù)時(shí)間、圖書總量、現(xiàn)存總量等。
3、借閱圖書/歸還圖書:圖書館的基本功能之一就是為讀者提供借閱服務(wù),讀者通過(guò)借閱這一過(guò)程,可以把圖書帶出圖書館,從而使讀者能夠更方便的瀏覽圖書。借書過(guò)程中,圖書管理員要對(duì)讀者的借書資格進(jìn)行審查,對(duì)符合借書條件的讀者,允許其借書,對(duì)其借書記錄進(jìn)行登記;對(duì)沒有借書資格的讀者,禁止其借書。具體的步驟如下:讀者向圖書管理員提交請(qǐng)求和圖書借閱卡,圖書管理員檢查讀者提供的借閱卡,如果該借閱證真實(shí)準(zhǔn)確,讀者已經(jīng)借閱的圖書并沒有超過(guò)允許借書量,而且讀者沒有逾期未還的圖書,則允許讀者借書,否則,讀者不能從圖書館借書。讀者拿到要借閱的圖書,同時(shí)拿到自己的借閱卡,借書過(guò)程完畢。當(dāng)借閱圖書的數(shù)量超過(guò)5本或者出現(xiàn)未按期歸還圖書的情況,則不好進(jìn)行借閱處理。圖書館的另一基本功能就是為讀者提供還書服務(wù),讀者在一本圖書借閱期滿之前把該圖書還給圖書館,一般的還書步驟如下:讀者把所借的圖書和自己的借閱卡交給圖書管理員。圖書管理員對(duì)圖書進(jìn)行檢查,看有無(wú)損壞,如果出現(xiàn)圖書的損壞情況,讀者應(yīng)進(jìn)行相應(yīng)的賠償。圖書管理員查看是否超過(guò)規(guī)定借閱期限,如果已經(jīng)過(guò)期,則讀者要按規(guī)定交納罰金。圖書管理員進(jìn)行登記,同時(shí)把還書信息記入借閱卡。讀者拿回自己的借閱卡,還書過(guò)程借書。讀者逾期未歸還圖書超過(guò)三天,將按照每本每天進(jìn)行一定的罰款。
4、書籍掛失:對(duì)圖書由于丟失而不能即時(shí)還書的情況,讀者要即時(shí)到圖書管理員進(jìn)行登記,確保圖書信息的更新。進(jìn)行書籍掛失的步驟一般如下:讀者將所丟圖書信息告訴圖書管理員并將借閱卡交給圖書管理員。圖書管理員對(duì)該圖書信息進(jìn)行登記,并按圖書的價(jià)格,要求讀者進(jìn)行相應(yīng)賠償。圖書管理員將信息記入借閱卡。讀者拿回自己的借閱卡,掛失功能結(jié)束。
2.2.2讀者管理功能
1、辦理借閱卡:圖書館向讀者提供借閱服務(wù),讀者必須具有有效憑證方可借閱。因此,讀者必須辦理借閱卡獲取有效憑證。讀者在辦理借閱卡時(shí),必須輸入個(gè)人有關(guān)注冊(cè)信息,包括讀者姓名、性別、出生日期、家庭住址、身份證號(hào)碼、電話號(hào)碼等信息。系統(tǒng)根據(jù)讀者提供的信息,辦理借閱卡并生成個(gè)人帳號(hào)、讀者可自行修改密碼。
2、借閱卡信息查詢;圖書館在正常運(yùn)營(yíng)中要面對(duì)大量的讀者信息,需要掌握每個(gè)讀者的信息,即時(shí)準(zhǔn)確的掌握讀者的基本情況,這些是圖書館運(yùn)營(yíng)的保證。讀者要進(jìn)行信息查詢,可以通過(guò)系統(tǒng)將自己的借閱卡賬戶、密碼輸入系統(tǒng),系統(tǒng)通過(guò)核對(duì)找到讀者的信息。如果讀者的信息正確,系統(tǒng)將讀者的信息包括讀者姓名、性別、出生日期、家庭住址、身份證號(hào)碼、電話號(hào)碼等信息。如果讀者的信息不正確,系統(tǒng)將提示錯(cuò)誤,并且系統(tǒng)設(shè)定,當(dāng)錯(cuò)誤次數(shù)超過(guò)5次時(shí),系統(tǒng)將不予查詢。
3、借閱卡掛失:對(duì)借閱卡的丟失要即時(shí)進(jìn)行掛失處理,以防止其他人盜用自己的有效信息并出現(xiàn)私自借書等行為。借閱卡掛失的一般步驟可分為:讀者將掛失情況即時(shí)到圖書管理員處進(jìn)行登記,并填寫登記單。圖書管理員將讀者情況進(jìn)行登記掛失,注銷借閱卡的信息,并咨詢讀者是否重新辦理。若讀者需重新辦理,則重新填寫相關(guān)信息,系統(tǒng)自動(dòng)生成心的借閱卡信息記錄,讀者重新設(shè)置帳號(hào)即密碼,并交納相應(yīng)的費(fèi)用。若讀者不需辦理,則系統(tǒng)將信息注銷。讀者獲得新的圖書借閱卡。
2.2.3系統(tǒng)管理功能
1、注冊(cè)管理員:為了對(duì)圖書館管理系統(tǒng)進(jìn)行管理,圖書館需要若干名圖書管理員進(jìn)行管理,在圖書管理員對(duì)系統(tǒng)進(jìn)行管理之前必須進(jìn)行注冊(cè)功能,以確定管理員身份。對(duì)管理員進(jìn)行注冊(cè),系統(tǒng)生成相應(yīng)信息。其中管理員的基本信息包括:成員ID、密碼等。系統(tǒng)管理員每次登陸前輸入自己的ID與密碼,系統(tǒng)對(duì)其信息進(jìn)行核實(shí),如基本信息正確,則系統(tǒng)管理員可進(jìn)行系統(tǒng)管理功能,若系統(tǒng)檢查不正確,則系統(tǒng)管理員不可以進(jìn)行相應(yīng)的操作。
2、修改密碼:服務(wù)圖書館管理員可能由于某些原因,如電腦中毒導(dǎo)致管理員密碼的泄露,為避免圖書管理信息遭到破壞,系統(tǒng)具有修改密碼的功能,確保圖書管理功能的安全性。
3、退出功能:系統(tǒng)管理員每次離開必須進(jìn)行退出功能,確保管理功能不被他人所用,這樣更方便圖書管理系統(tǒng)出現(xiàn)問(wèn)題時(shí),找到責(zé)任人。
第三章 概要設(shè)計(jì)
3.1總體設(shè)計(jì)
3.1.1系統(tǒng)目標(biāo)設(shè)計(jì)
系統(tǒng)開發(fā)的總目標(biāo)是實(shí)現(xiàn)內(nèi)部圖書借閱管理的系統(tǒng)化、規(guī)范化和自動(dòng)化。能夠?qū)D書進(jìn)行注冊(cè)登記,也就是將圖書的基本信息(如:書名、作者、價(jià)格等)
預(yù)先存入數(shù)據(jù)庫(kù)中,供以后檢索。能夠?qū)栝喨诉M(jìn)行注冊(cè)登記,包括記錄借閱人的姓名、地址、電話等信息。提供方便的查詢方法。如:以書名、作者、出版社、出版時(shí)間(確切的時(shí)間、時(shí)間段、某一時(shí)間之前、某一時(shí)間之后)等信息進(jìn)行圖書檢索,并能反映出圖書的借閱情況;以借閱人編號(hào)對(duì)借閱人信息進(jìn)行檢索;以出版社名稱查詢出版社聯(lián)系方式信息。提供統(tǒng)計(jì)分析功能??梢哉宫F(xiàn)出圖書類型比例、庫(kù)存與借出比例。提供舊書銷毀功能,對(duì)于淘汰、損壞、丟失的書目可及時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改。能夠?qū)κ褂迷摴芾硐到y(tǒng)的用戶進(jìn)行管理,按照不同的工作職能提供不同的功能授權(quán)。提供較為完善的差錯(cuò)控制與友好的用戶界面,盡量避免誤操作。3.1.2系統(tǒng)功能分析
根據(jù)以上功能,將圖書管理系統(tǒng)的數(shù)據(jù)分為:數(shù)據(jù)輸入部分:主要包括圖書基本信息的錄入、借閱人基本信息的錄入、用戶基本信息的錄入。數(shù)據(jù)輸出部分:主要是各種統(tǒng)計(jì)查詢,包括:根據(jù)圖書信息(如書名、作者、出版社等)查閱圖書及其借閱信息、統(tǒng)計(jì)輸出圖書類型比例等。數(shù)據(jù)處理部分:主要涉及借閱和歸還的處理,如一本書借出后,必須在數(shù)據(jù)
庫(kù)中將該書標(biāo)記為已借出,以防出現(xiàn)數(shù)據(jù)庫(kù)中有書但圖書館無(wú)書的情況;一本書歸還后,同樣必須在數(shù)據(jù)庫(kù)中將其標(biāo)記為已經(jīng)歸還,以便再次借出。
概念設(shè)計(jì)階段主要任務(wù)和目標(biāo)是根據(jù)需求分析的結(jié)果,包括一般聯(lián)系實(shí)體,畫出對(duì)應(yīng)的ER圖。對(duì)于復(fù)雜的系統(tǒng),通常首先要對(duì)它的各功能模進(jìn)行分析,然后再把它的功能結(jié)構(gòu)圖畫出來(lái),便是設(shè)計(jì)和優(yōu)化。功能分析之后,再根據(jù)各個(gè)崗位、各個(gè)用戶對(duì)數(shù)據(jù)和使用權(quán)限的不同要求作出局部ER圖,然后再把各個(gè)局部ER圖綜合起來(lái)形成統(tǒng)一的整體ER圖。
3.2系統(tǒng)設(shè)計(jì)思想
1、圖書管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。圖書管理系統(tǒng)使用的是SQL Server2000的數(shù)據(jù)管理系統(tǒng)和以Visual Basic6.0為開發(fā)工具。
2、首先進(jìn)行系統(tǒng)設(shè)計(jì)分析,系統(tǒng)設(shè)計(jì)主要包括系統(tǒng)功能分析、系統(tǒng)模塊設(shè)計(jì)以及運(yùn)行環(huán)境的選擇、系統(tǒng)實(shí)現(xiàn)過(guò)程。
3、然后根據(jù)系統(tǒng)功能分析設(shè)計(jì)出需要的數(shù)據(jù)庫(kù),繪制系統(tǒng)數(shù)據(jù)流圖與總結(jié)數(shù)據(jù)字典、設(shè)計(jì)數(shù)據(jù)庫(kù)結(jié)構(gòu)。
4、最后在實(shí)現(xiàn)各個(gè)功能模塊時(shí),采用先模塊后系統(tǒng)集成的方式,即各系統(tǒng)功能模塊分別獨(dú)立設(shè)計(jì)和調(diào)試,在創(chuàng)建系統(tǒng)主窗體時(shí)才將各個(gè)功能模塊通過(guò)主窗體菜單系統(tǒng)集成到一起,最后進(jìn)行系統(tǒng)整體的設(shè)計(jì)和調(diào)試。
3.3 系統(tǒng)模塊功能解析
(1)系統(tǒng)設(shè)計(jì)分析
本圖書管理系統(tǒng)主要有以下功能: 圖書征訂:包括圖書征訂數(shù)據(jù)的錄入、修改、刪除與審校等功能。圖書編目:包括圖書數(shù)目信息的錄入、修改、刪除功能。圖書典藏:包括新書分配、庫(kù)室調(diào)配等功能。
圖書流通:包括圖書借閱、續(xù)借、圖書返還,圖書書目的查詢的功能。系統(tǒng)用戶管理:包括系統(tǒng)用戶數(shù)據(jù)的錄入、修改與刪除等功能。
讀者數(shù)據(jù)管理:包括讀者類別管理,讀者個(gè)人數(shù)據(jù)的錄入、修改和刪除功能。(2)系統(tǒng)功能分析
權(quán)限功能:權(quán)限功能設(shè)置的對(duì)象為高級(jí)管理員、普通管理員、讀者。高級(jí)管 刪除所有信息;普通管理員只能對(duì)授權(quán)范圍內(nèi)進(jìn)行相應(yīng)修改及刪除;讀者 只能查詢借閱記錄和圖書書目不能修改。
錄入功能:為普通管理員提供相應(yīng)的錄入功能,為高級(jí)管理員提供對(duì)所有信息的錄入功能。
查詢功能:為所有用戶提供查詢的功能,可查詢?cè)试S范圍內(nèi)的所有信息。維護(hù)功能:為普通管理員提供查詢及相應(yīng)的修改,刪除功能,為高級(jí)管理提 供對(duì)所有信息的修改刪除功能。
打印功能:可打印圖書征訂計(jì)劃。
退出功能:各個(gè)功能模塊和主窗體都設(shè)有關(guān)閉命令按鈕,可方便地退出各模 塊或系統(tǒng)。
第四章 詳細(xì)設(shè)計(jì)
4.1程序設(shè)計(jì)說(shuō)明
4.1.1用戶登錄模塊
1.程序描述:此程序用于用戶登陸的至用戶界面,程序通過(guò)輸入用戶的ID,用戶密碼的正確性來(lái)實(shí)現(xiàn)對(duì)驗(yàn)證用戶的真實(shí)性。2.功能:實(shí)現(xiàn)用戶的登錄功能
3.性能:用戶通過(guò)輸入用戶ID,用戶名和密碼進(jìn)行用戶登陸,通過(guò)認(rèn)證后,用戶
即可進(jìn)入用戶界面。
4.輸入項(xiàng):輸入用戶ID,用戶名,密碼5.輸出項(xiàng):用戶主頁(yè)面。流程邏輯如圖所示:
輸入用戶名和密碼N數(shù)據(jù)庫(kù)是否打開Y連接失敗返回N用戶名和密碼是否正確Y輸入次數(shù)是否超過(guò)5次YN重新輸入密碼關(guān)閉數(shù)據(jù)庫(kù)返回登陸成功進(jìn)入主界面
圖4-1用戶登錄流程邏輯
4.1.2用戶添加模塊
1.程序描述:此程序用于添加新的用戶,用戶通過(guò)向數(shù)據(jù)庫(kù)內(nèi)輸入必要的信息來(lái)注冊(cè)成為新的用戶,才通過(guò)一系列的驗(yàn)證之后,即注冊(cè)成為真正的用戶。
2.功能:實(shí)現(xiàn)對(duì)用戶的添加功能。
3.性能:查詢新用戶的用戶名是否存在,若存在則停止添加返還數(shù)據(jù)庫(kù);若用戶不存在,則進(jìn)行添加,并進(jìn)行注冊(cè),注冊(cè)成功后返回。
4.輸入項(xiàng):輸入用戶的詳細(xì)信息,包括姓名,出生日期,性別,地址,身份證號(hào)碼,電話號(hào)碼等信息。
5.輸出項(xiàng):若添加成功,則輸出提示用戶注冊(cè)成功界面;若未成功,則提示輸出未成功原因界面。
6.流程邏輯如下圖所示:
輸入用戶信息N判斷數(shù)據(jù)庫(kù)是否打開提示連接失敗返回Y查詢數(shù)據(jù)庫(kù)中是否有該用戶Y提示已經(jīng)存在該用戶關(guān)閉數(shù)據(jù)庫(kù)并返回N向數(shù)據(jù)庫(kù)中添加新用戶提示注冊(cè)成功返回
圖4-2用戶添加模塊流程邏輯
4.1.3書籍查詢模塊
1.程序描述:此程序用于實(shí)現(xiàn)用戶對(duì)想要借閱的查詢功能。用戶通過(guò)輸入相應(yīng)的圖書信息來(lái)查詢,數(shù)據(jù)庫(kù)根據(jù)用戶提供的信息來(lái)搜索,最后給出客戶相應(yīng)的圖書信息。
2.功能:實(shí)現(xiàn)圖書查詢功能。
3.性能:對(duì)進(jìn)行想要查詢的書籍進(jìn)行搜索,若存在此書則顯示該書的詳細(xì)信息;若不存在此書,則提示沒有此書并返回。
4.輸入項(xiàng):輸入圖書的詳細(xì)信息,包括圖書名稱,書籍ID,圖書作者,出版社,單價(jià)等信息。
5.輸出項(xiàng):若輸入的圖書存在即輸出圖書詳細(xì)信息界面;若輸入的圖書不存在則顯示圖書不存在界面。
6.流程邏輯如下圖所示:
輸入圖書信息判斷數(shù)據(jù)庫(kù)是否打開Y查詢是否有該書YN連接失敗返回N關(guān)閉數(shù)據(jù)庫(kù)返回顯示該書的信息關(guān)閉數(shù)據(jù)庫(kù)返回 圖4-3圖書查詢模塊流程
4.1.4圖書借閱模塊
1.程序描述:此程序用于圖書的借閱,用戶通過(guò)登錄自己的借閱ID后,對(duì)需要借閱的圖書進(jìn)行借閱操作,如果符合借閱的要求,則可進(jìn)行借閱。2.功能:實(shí)現(xiàn)對(duì)圖書的書籍借閱功能。
3.性能:首先驗(yàn)證借閱者輸入的借閱ID是否存在,若存在進(jìn)行下一步;若不存在則返回。
4.若借閱ID存在,則檢查此借閱ID是否借閱書籍超出4本,若超出則提示超出借閱數(shù)目,返回;若沒有超出,則進(jìn)行下一操作。
5.對(duì)想要借閱的圖書ID進(jìn)行搜索,若此書不存在,則提示此書不存在;若此書存在則進(jìn)行下一步操作。
將借閱者借閱的數(shù)量増一,將數(shù)據(jù)庫(kù)中此書數(shù)量減一,同時(shí)提醒借閱成功,然后返回。
6.輸入項(xiàng):輸入借閱證的ID,圖書ID 7.輸出項(xiàng):若借閱證ID正確且圖書ID正確且符合借閱要求,則輸出提示借閱成功界面;若存在借閱ID或圖書ID或不符合借閱要求等問(wèn)題,則輸出提示沒有借閱成功原因的界面。8.流程邏輯如下圖
輸入書籍ID和借閱IDN數(shù)據(jù)庫(kù)是否打開YN借閱卡ID是否存在YY判斷借閱ID是否借書超出4本提示超出最大借書數(shù)量關(guān)閉數(shù)據(jù)庫(kù)返回提示不存在該借閱者關(guān)閉數(shù)據(jù)庫(kù)返回?cái)?shù)據(jù)庫(kù)連接失敗返回NN數(shù)據(jù)庫(kù)中是否存在書籍IDY將借閱者的借書數(shù)量加1提示不存在該書籍關(guān)閉數(shù)據(jù)庫(kù)返回將書籍的數(shù)量減1提示借書成功關(guān)閉數(shù)據(jù)庫(kù)返回 圖4-4圖書借閱模塊
4.1.5圖書歸還模塊
1.程序描述:此程序用于圖書的歸還,用戶在登錄自己的ID之后,用戶可以對(duì)需要?dú)w還的圖書進(jìn)行操作,如果符合歸還要求,則可以將圖書歸還。2.功能:實(shí)現(xiàn)對(duì)圖書的書籍歸還功能。
3.性能:首先驗(yàn)證借閱者輸入的借閱ID是否存在,若存在進(jìn)行下一步;若不存在則返回。
對(duì)想要?dú)w還的圖書ID進(jìn)行搜索,若此書不存在,則提示此書不存在;若此書存在則進(jìn)行下一步操作。將借閱者借閱的數(shù)量減一,將數(shù)據(jù)庫(kù)中此書數(shù)量加一,同時(shí)提醒借閱歸還,然后返回。
4.輸入項(xiàng):輸入借閱證ID和圖書ID 5.輸出項(xiàng):若借閱證ID和圖書ID正確,則輸出提示圖書歸還成功界面;若借閱證ID或圖書ID不正確,則輸出提示沒有成功原因的界面。
6.流程邏輯如下圖:
輸入書籍ID和借閱IDN數(shù)據(jù)庫(kù)是否打開YN借閱卡ID是否存在YN提示不存在該書籍關(guān)閉數(shù)據(jù)庫(kù)返回提示不存在該借閱者關(guān)閉數(shù)據(jù)庫(kù)返回?cái)?shù)據(jù)庫(kù)連接失敗返回?cái)?shù)據(jù)庫(kù)中是否存在書籍IDY將借閱者的借書數(shù)量減1將書籍的數(shù)量加1提示還書成功關(guān)閉數(shù)據(jù)庫(kù)返回 圖4-5圖書歸還模塊
4.1.6新書入庫(kù)模塊
1.程序描述:此程序用戶對(duì)新進(jìn)圖書的入口登記處理。用戶可以將新書的詳細(xì)信息進(jìn)行輸入,保存在數(shù)據(jù)庫(kù)中后,新書即登記成功。
2.功能;實(shí)現(xiàn)新進(jìn)圖書入庫(kù)功能。
3.性能:對(duì)數(shù)據(jù)庫(kù)查詢是否已存在此書,若存在則將此書數(shù)量加一,提示添加成功;若沒有此書,則將此書的基本信息存入數(shù)據(jù)庫(kù),并提示添加書籍成功。
4.輸入項(xiàng):輸入新書的書籍ID,書名,作者,出版社,單價(jià)等信息。
5.輸出項(xiàng):若添加成功,則輸出提示新書添加成功界面;若沒有添加成功,輸出提示未成功原因界面。
6.流程邏輯如下圖
輸入書籍信息N數(shù)據(jù)庫(kù)是否打開關(guān)閉數(shù)據(jù)庫(kù)返回Y是否已經(jīng)存在Y該書將該書的數(shù)量加1提示添加書籍成功關(guān)閉數(shù)據(jù)庫(kù)N將該書信息存入數(shù)據(jù)庫(kù)是否是第一條N記錄提示添加書籍成功關(guān)閉數(shù)據(jù)庫(kù)返回Y提示添加第一本書籍關(guān)閉數(shù)據(jù)庫(kù)返回圖4-6新書入庫(kù)模塊
返回
第五章 編碼與測(cè)試
5.1各功能模塊的實(shí)現(xiàn)
(1)用戶登錄窗體
圖5-1 用戶登錄窗體
用戶登錄代碼:
Const MaxLogTimes As Integer = 3 Private Sub cmdcancel_Click()
If MsgBox(“是否真的退出系統(tǒng)登錄?”, vbYesNo, “登錄驗(yàn)證”)= vbYes Then
Unload Me
End If End Sub Private Sub cmdok_Click()
Static intLogTimes As Integer
intLogTimes = intLogTimes + 1
If intLogTimes > MaxLogTimes Then
MsgBox “超過(guò)登錄次數(shù)!”, vbCritical, “登錄驗(yàn)證”
Else
With Library_Manage.rsSysUsers
.Open
If.RecordCount > 0 Then
.MoveFirst
.Find “編號(hào)=” & Trim(txtLog(0))& “"
If.EOF Then
MsgBox Trim(txtLog(0))& ”不是系統(tǒng)用戶,請(qǐng)檢查輸入!“, vbCritical, ”登錄驗(yàn)證“
txtLog(0).SetFocus
txtLog(0).SelStart = 0
txtLog(0).SelLength = Len(txtLog(0))
ElseIf.Fields(”口令“)<> Trim(txtLog(1))Then
MsgBox ”口令錯(cuò)誤,請(qǐng)檢查輸入口令!“, vbCritical, ”登錄驗(yàn)證“
txtLog(1).SetFocus: txtLog(1)= ”“
Else
CurrentUserNum =.Fields(編號(hào))
CurrentUserPassword =.Fields(”口令“)
CurrentUserStatus =.Fields(”權(quán)限“)
MsgBox ”歡迎使用常州信息學(xué)院管理系統(tǒng)!“, 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, ”系統(tǒng)用戶管理“
txtNum.SetFocus
txtNum.SelStart = 0
txtNum.SelLength = Len(txtNum)
ElseIf Len(Trim(txtPwd))<> 6 Then
MsgBox ”用戶口令須為6位字符串!“, vbCritical, ”系統(tǒng)用戶管理“
txtPwd.SetFocus
txtPwd.SelStart = 0
txtPwd.SelLength = Len(txtPwd)ElseIf Not txtAuth Like ”[0,1]“ Then
MsgBox ”用戶權(quán)限必須為0或1“, vbCritical, ”系統(tǒng)用戶管理“
txtAuth = ”“
txtAuth.SetFocus Else
Set objcopy = Library_Manage.rsSysUsers.Clone '對(duì)錯(cuò)?
With objcopy
If.RecordCount > 0 Then
.MoveFirst
.Find ”編號(hào)“ & Trim(txtNum)& ”“
If Not.EOF And.AbsolutePosition <> Library_Manage.rsSysUsers.AbsolutePosition Then
MsgBox ”編號(hào):“ & Trim(txtNum)& ”已被使用,請(qǐng)選擇其他編號(hào)!“, vbCritical, ”系統(tǒng)用戶管理“
txtNum.SetFocus
txtNum.SelStart = 0
txtNum.SelLength = Len(txtNum)
Exit Sub
Else
'保存記錄
Library_Manage.rsSysUsers.Update
MsgBox ”數(shù)據(jù)保存成功!“, vbInformation, ”系統(tǒng)用戶管理“
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)讀者數(shù)據(jù)管理窗體界面
圖5-3 讀者數(shù)據(jù)管理窗體
讀者數(shù)據(jù)管理窗體代碼
Library_Manage.Library_Manage_Con.Execute ”TRUNCATE TABLE 讀者類別“
With Library_Manage.ReaderType
If.State = adStateClosed Then.Open
.AddNew
.Fields(”編號(hào)“)= ”0“
.Fields(”名稱“)= ”特殊“
.Fields(”借書量“)= Val(txtSp(1))
.Fields(”借書期“)= Val(txtSp(2))
.Fields(”有效期“)= Val(txtSp(3))
.Update
.AddNew
.Fields(”編號(hào)“)= ”1“
.Fields(”名稱“)= ”館員“
.Fields(”借書量“)= Val(txtL(1))
.Fields(”借書期“)= Val(txtL(2))
.Fields(”有效期“)= Val(txtL(3))
.Update
.AddNew
.Update
.AddNew
.Fields(”編號(hào)“)= ”2“
.Fields(”名稱“)= ”教師“
.Fields(”借書量“)= Val(txtT(1))
.Fields(”借書期“)= Val(txtT(2))
.Fields(”有效期“)= Val(txtT(3))
.Update
.AddNew
.Fields(”編號(hào)“)= ”3“
.Fields(”名稱“)= ”學(xué)生“
.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 ”正的數(shù)量無(wú)效!“, 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 ”數(shù)據(jù)保存成功!“, 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)'選擇當(dāng)前條碼
ListItem_Add lstPre(Index), LstIn(Index), Index, False End Sub Private Sub cmdExit_Click()
If LstIn(0).ListCount > 0 Then
If MsgBox(”你選定了部分新書準(zhǔn)備入庫(kù),但沒執(zhí)行保存操作“ & vbCr & ”是否要執(zhí)行保存操作?“, vbCritical + vbYesNo, ”圖書典藏管理“)= vbYes Then
SSTab1.Tab = 0
cmdSave.Value = True
End If
ElseIf LstIn(1).ListCount > 0 Then
If MsgBox(”你選定了部分新書準(zhǔn)備入庫(kù),但沒執(zhí)行保存操作“ & vbCr & ”是否要執(zhí)行保存操作?“, vbCritical + vbYesNo, ”圖書典藏管理“)= vbYes Then
SSTab1.Tab = 1
cmdSave.Value = True
End If
End If
Unload Me End Sub '刷新新書或調(diào)出庫(kù)室條碼列表
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 '刷新庫(kù)室條碼列表
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 ”當(dāng)前無(wú)待分配新書"
End If End With End Sub 5.2 測(cè)試
5.2.1 借閱卡管理測(cè)試
進(jìn)度安排測(cè)試辦理借閱證信息,檢查個(gè)人賬號(hào)、讀者可自行修改密碼。測(cè)試查詢借閱卡信息的正確性,包括輸入的讀者信息等。測(cè)試借閱卡掛失功能,包括讀者信息等。
5.2.2 書籍管理測(cè)試
進(jìn)度安排:測(cè)試新書入庫(kù)信息的正確性。測(cè)試借書、還書功能信息正確性。測(cè)試書籍掛失信息的正確性。測(cè)試圖書信息查詢的正確性。測(cè)試借書信息查詢的正確性。
5.2.3 系統(tǒng)管理測(cè)試
進(jìn)度安排測(cè)試注冊(cè)管理員信息的正確性。測(cè)試修改密碼信息的正確性。
結(jié)束語(yǔ)
對(duì)于這篇論文我有不少心得體會(huì)。這次是對(duì)我們掌握所學(xué)知識(shí)的一次考核。它可以讓我們了解自己一學(xué)期里的學(xué)習(xí)情況,有助于在今后的學(xué)習(xí)中加以改進(jìn)。通過(guò)這次上機(jī)實(shí)驗(yàn),我發(fā)現(xiàn)了自己對(duì)數(shù)據(jù)庫(kù)和vb語(yǔ)言掌握的并不牢,有的知識(shí)點(diǎn)根本就不懂。這都要怪自己在平時(shí)的學(xué)習(xí)過(guò)程中不夠用心,不懂的地方也沒有及時(shí)的去搞懂,課后也沒怎么花時(shí)間去研究。這次實(shí)驗(yàn)我覺得自己不僅學(xué)到了很多軟件設(shè)計(jì)方面的知識(shí),也讓我鞏固了以前所學(xué)的知識(shí)以及看到了自己以前學(xué)習(xí)中的不足之處。
在今后的學(xué)習(xí)過(guò)程中,我一定會(huì)認(rèn)真學(xué)習(xí)專業(yè)課程,再也不能像以前那樣迷迷糊糊的,課后要多花時(shí)間去研究一些有關(guān)編程方面的題目,不懂的地方及時(shí)把它弄懂。以后自己還要多動(dòng)手編寫一些程序。在這里我要感謝學(xué)校能提供這么一個(gè)寶貴的機(jī)會(huì),我們可以把課堂上所學(xué)的理論知識(shí)運(yùn)用到實(shí)踐中去,把書上的東西變成我們自己的。這個(gè)機(jī)會(huì)既讓我們學(xué)習(xí)鞏固了知識(shí),也讓我們發(fā)現(xiàn)了自己的不足之處。特別要感謝我們的指導(dǎo)老師,正因?yàn)橛辛四膸椭覀儾趴梢酝瓿蓪?shí)驗(yàn)。我也希望今后還會(huì)有更多的機(jī)會(huì)讓我們?nèi)?shí)踐,去充實(shí)自己。
致 謝
在本次設(shè)計(jì)的過(guò)程中,老師們給了我們很大的幫助。不僅使我們?cè)谝?guī)定時(shí)間內(nèi)完成了系統(tǒng)的設(shè)計(jì),同時(shí)還使我們學(xué)到了很多有益的知識(shí)和寶貴的經(jīng)驗(yàn)在此,我謹(jǐn)向他們表示最衷心的感謝。感謝老師的指導(dǎo),使我們充分利用軟件工程,VB,數(shù)據(jù)庫(kù)原理開發(fā)出自己的項(xiàng)目.在開發(fā)的過(guò)程中使我體會(huì)到了工程化開發(fā)方法和瀑布模型利用的重要性,在此還要感謝所有合作參與項(xiàng)目開發(fā)的同學(xué)們這次畢業(yè)設(shè)計(jì)的成功離不開所有參與的同學(xué)們的幫助和支持,是他們讓我知道了團(tuán)隊(duì)工作的重要.參考文獻(xiàn)
1、陶宏才.數(shù)據(jù)庫(kù)原理及設(shè)計(jì)[M].北京:清華大學(xué)出版社.2004.2、陸麗娜.軟件工程 [M].北京:經(jīng)濟(jì)科學(xué)出版社.1999
3、郝志恒、劉舫.Visual Basic 6.0 編程篇[M] 北京:電子工業(yè)出版社 2004
4、劉世峰.數(shù)據(jù)庫(kù)基礎(chǔ)與應(yīng)用[M] 北京: 中央電大出版社 2003
5、吳斌、魯大林.Visual Basic+SQL Sever數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā)[M] 北京:機(jī)械工程出版社 2008
6、邱李華.SQL Server 2000 數(shù)據(jù)庫(kù)應(yīng)用教程[M] 北京:人民郵電出版社 2007
7、鐘軍.Visual Basic數(shù)據(jù)庫(kù)高級(jí)實(shí)例導(dǎo)航[M] 北京:清華大學(xué)出版社 2003
8、趙松濤.Visual Basic+SQL Server 2000 系統(tǒng)開發(fā)實(shí)錄[M] 北京: 機(jī)械工業(yè)出版社 2007
第四篇:圖書管理系統(tǒng)
圖書管理系統(tǒng)
背景:當(dāng)今時(shí)代是飛速發(fā)展的信息時(shí)代,在各行各業(yè)中離不開信息處理,這正是計(jì)算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計(jì)算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。使用計(jì)算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大提高了其安全性。
隨著圖書館的藏書、管理人員、讀者數(shù)量的不斷增多,如何對(duì)書籍以及讀者信息、讀者借閱信息進(jìn)行管理成為一個(gè)難題。圖書涉及大量的數(shù)據(jù)處理,如果用手工來(lái)完成龐大的數(shù)據(jù)處理,不僅費(fèi)時(shí)費(fèi)力,還容易出錯(cuò)。為了滿足圖書管理的需要,急需要一套圖書管理系統(tǒng)來(lái)完成這項(xiàng)工作。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)圖書信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn)。例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高圖書管理的效率,也是圖書館信息的科學(xué)化、正規(guī)化管理的重要條件。因此將詳細(xì)分析一個(gè)圖書館系統(tǒng)地實(shí)現(xiàn)過(guò)程。從需求分析、架構(gòu)設(shè)計(jì)、系統(tǒng)建模、詳細(xì)設(shè)計(jì)、代碼實(shí)現(xiàn)逐步展開分析,整個(gè)過(guò)程按照軟件實(shí)際流程進(jìn)行。
意義:通過(guò)學(xué)習(xí)JAVA語(yǔ)言,又加深對(duì)面向?qū)ο蠓治?,確定問(wèn)題域中的對(duì)象及對(duì)象間關(guān)系,并建立起問(wèn)題域的對(duì)象模型。面向?qū)ο蟮脑O(shè)計(jì)方法是一種進(jìn)行程序設(shè)計(jì)的新方法,它吸取了結(jié)構(gòu)化程序設(shè)計(jì)的先進(jìn)思想,為解決程序結(jié)構(gòu)過(guò)于復(fù)雜而產(chǎn)生。它的思想是在進(jìn)行程序設(shè)計(jì)時(shí),把整個(gè)問(wèn)題分成由相關(guān)部分組成的組,每個(gè)組考慮和組相關(guān)的代碼和數(shù)據(jù),同時(shí)這些分組將按層次關(guān)系組織起來(lái),每個(gè)分組轉(zhuǎn)換為對(duì)象的獨(dú)立單元。面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言都具有多態(tài)性、繼承性、封裝性等特點(diǎn)。學(xué)習(xí)以后對(duì)JAVA程序設(shè)計(jì)有了深入的了解,JAVA語(yǔ)言程序設(shè)計(jì)要求結(jié)構(gòu)緊湊,概念準(zhǔn)確。
實(shí)踐項(xiàng)目:圖書管理系統(tǒng)。
主要完成這個(gè)項(xiàng)目的,可以實(shí)現(xiàn)圖書系統(tǒng)的系統(tǒng)化和自動(dòng)化,幫助圖書管理人員更好更高效地完成圖書管理工作。需求分析:圖書管理系統(tǒng)需要滿足三方面的需求,這三個(gè)方面分別是圖書借閱者、圖書館工作人員和圖書館管理人員。圖書借閱者的需求是查詢圖書館所存的圖書、個(gè)人借閱情況及個(gè)人信息的修改;圖書館工作人員對(duì)圖書借閱者的借閱及還書要求進(jìn)行操作,同時(shí)形成借書或還書記錄;圖書館管理人員的功能最復(fù)雜,包括對(duì)圖書借閱者、圖書進(jìn)行管理和維護(hù),及系統(tǒng)狀態(tài)的查看、維護(hù)。
圖書借閱者可直接查看圖書館圖書情況,如果圖書借閱者根據(jù)本人借書證號(hào)和密碼登錄系統(tǒng),還可以進(jìn)行本人借書情況的查詢并維護(hù)部分個(gè)人信息。一般情況下,圖書借閱者只應(yīng)該查詢和維護(hù)本人的借書情況和信息,若查詢和維護(hù)其他借閱者的借書情況和信息,就要知道其他圖書借閱者的借書證號(hào)和密碼。這些是很難得到的,特別是密碼,所以不但滿足了圖書借閱者的要求,還保護(hù)了圖書借閱者的個(gè)人隱私。
圖書館工作人員有修改圖書借閱者借書和還書記錄的權(quán)限,在此模塊中,圖書館工作人員可以為圖書借閱者加入借書記錄或是還書記錄。
圖書館管理人員功能的信息量大,數(shù)據(jù)安全性和保密性要求最高。本功能實(shí)現(xiàn)對(duì)圖書信息、借閱者信息、總體借閱情況信息的管理和信息查看及維護(hù)。圖書館管理員可以瀏覽、查詢、添加、刪除、修改圖書的基本信息;瀏覽、查詢、添加、刪除和修改圖書借閱者的基本信息,但不能添加、刪除和修改借閱信息,這部分功能應(yīng)該由圖書館工作人員執(zhí)行,但是,刪除某條圖書借閱者基本信息記錄時(shí),應(yīng)實(shí)現(xiàn)對(duì)該圖書借閱者借閱記錄的級(jí)聯(lián)刪除。
功能如下:⑴書籍管理部分:主要包括讀者類別和書籍信息管理兩部分。其中,書籍類別管理包括添加書籍類別、修改書籍類別等;書籍信息管理包括書籍信息的添加、書籍信息的修改、書籍信息的查詢、書籍信息的刪除等。
⑵讀者管理部分:主要包括讀者類別管理和讀者信息管理兩部分。其中,讀者類別管理包括添加讀者類
別、修改讀者類別等;讀者信息管理包括添加讀者信息、修改讀者信息、刪除讀者信息、查詢讀者信息等。
⑶借閱管理部分:主要包括借書信息管理和還書信息管理兩部分。其中,借書信息管理包括借書信息的添加、借書信息的修改、借書信息的查詢等;還書信息管理部分包括還書信息的添加、還書信息的修改、還書信息的查詢等。
⑷系統(tǒng)管理部分:包括修改系統(tǒng)用戶密碼、增加新用戶以及退出系統(tǒng)等
所以,該圖書管理系統(tǒng)能夠是圖書管理員方便地管理圖書館內(nèi)的多種事務(wù),讓圖書館工作人員更有效地
為讀者提供借閱、歸還書籍的服務(wù),也能夠?yàn)樽x者提供查詢書籍信息、個(gè)人借閱信息。
數(shù)據(jù)庫(kù)流程分析:
1.?dāng)?shù)據(jù)處理流程
數(shù)據(jù)庫(kù)或數(shù)據(jù)表結(jié)構(gòu)確定之后,在實(shí)際的數(shù)據(jù)處理程序設(shè)計(jì)之前需要對(duì)所處理的數(shù)據(jù)處理流程作必要的分析。所謂對(duì)數(shù)據(jù)處理流程作必要的分析是指找出各數(shù)據(jù)之間的主要關(guān)系,數(shù)據(jù)存取的主要走向。另外,在實(shí)際的數(shù)據(jù)處理過(guò)程中還會(huì)有些細(xì)節(jié)問(wèn)題。在遇到這些細(xì)節(jié)問(wèn)題時(shí),及時(shí)處理即可。并且,有些細(xì)節(jié)問(wèn)題不是在做數(shù)據(jù)處理流程分析時(shí)事先都能預(yù)料的。對(duì)于現(xiàn)在這個(gè)數(shù)據(jù)處理系統(tǒng)來(lái)說(shuō),最主要的工作實(shí)際就是三項(xiàng):
1)讀者信息的基本情況及時(shí)錄入數(shù)據(jù)庫(kù);
2)要將讀者查詢情況及時(shí)錄入數(shù)據(jù)庫(kù);
3)對(duì)讀者操作情況進(jìn)行匯總。
整體數(shù)據(jù)流:管理員通過(guò)密碼進(jìn)入系統(tǒng),分別對(duì)上述幾大功能逐一實(shí)現(xiàn)。
在數(shù)據(jù)關(guān)系簡(jiǎn)單的情況下對(duì)數(shù)據(jù)處理,可以在將數(shù)據(jù)庫(kù)設(shè)計(jì)好之后直接設(shè)計(jì)程序。但是按正規(guī)的數(shù)據(jù)庫(kù)管理系統(tǒng)的設(shè)計(jì)程序,無(wú)論要處理的數(shù)據(jù)關(guān)系復(fù)雜與否都應(yīng)在做程序設(shè)計(jì)之前做好數(shù)據(jù)的流程分析。
2.管理窗體
創(chuàng)建該窗體,根據(jù)相關(guān)操作可以完成個(gè)人信息、圖書信息、管理操作、系統(tǒng)設(shè)置等功能實(shí)現(xiàn),在圖書信息里可以進(jìn)行圖書查詢、圖書借閱、圖書歸還、圖書續(xù)借等功能。
總結(jié):圖書管理系統(tǒng)可以有效的省去很多的認(rèn)為登記錯(cuò)誤,并且能夠節(jié)省廣大的師生寶貴時(shí)間。另一方面,圖書
館里系統(tǒng)具有界面清晰,操作方便,功能少而使用,實(shí)現(xiàn)圖書館工作的自動(dòng)化,減少手工勞動(dòng)量帶來(lái)的數(shù)據(jù)遺漏,誤報(bào)等人為因素,提高工作效率,也增強(qiáng)系統(tǒng)的通用性。但是完善的系統(tǒng)也會(huì)有所弊處,有計(jì)算機(jī)操控的系統(tǒng),一旦系統(tǒng)出現(xiàn)問(wèn)題,整個(gè)圖書館的借閱系統(tǒng)也會(huì)跟著癱瘓,帶來(lái)不便。所以,也要經(jīng)常的去維護(hù)系統(tǒng),這樣才能給我們提供一個(gè)安全的信息處理方法。
管理信息系統(tǒng)創(chuàng)建,首先數(shù)據(jù)庫(kù)在一個(gè)管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系
統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,以確保數(shù)據(jù)的完整性和一致性。設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí)應(yīng)該首先充分了解用戶各個(gè)方面的需求,包括現(xiàn)有的以及將來(lái)可能增加的需求。數(shù)據(jù)庫(kù)設(shè)計(jì)一般包括如下幾個(gè)步驟:數(shù)據(jù)庫(kù)需求分析;數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì);數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì);數(shù)據(jù)庫(kù)物理設(shè)計(jì)。設(shè)計(jì)中詳細(xì)的總結(jié)了該系統(tǒng)的系統(tǒng)設(shè)計(jì)部分,包括功能模塊設(shè)計(jì)、數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)等。系統(tǒng)設(shè)計(jì)為整個(gè)程序構(gòu)建了骨架,各個(gè)功能模塊實(shí)現(xiàn)各個(gè)細(xì)節(jié)部分。通過(guò)本次課程設(shè)計(jì)知道了各種數(shù)據(jù)之間的相互關(guān)系,并在操作中用適當(dāng)?shù)腟QL語(yǔ)句和存儲(chǔ)過(guò)程實(shí)現(xiàn)。本系統(tǒng)還實(shí)現(xiàn)了VB通過(guò)ODBC對(duì)SQL的數(shù)據(jù)庫(kù)快遞、高效訪問(wèn)和更新功能。
通過(guò)這次課程設(shè)計(jì)懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,通過(guò)這次課程設(shè)計(jì)之后,一定把以前所學(xué)過(guò)的知識(shí)重新溫故。
在程序設(shè)計(jì)與代碼編寫階段我們遇到了很多的問(wèn)題,由于我們組中的人大部分都是第一次開發(fā)數(shù)據(jù)庫(kù)系統(tǒng),所以對(duì)數(shù)據(jù)庫(kù)開發(fā)的流程不熟息,而且在數(shù)據(jù)庫(kù)的與編程系統(tǒng)的連接方面也遇到了很多的問(wèn)題。
第五篇:圖書管理系統(tǒng)
七個(gè)文件
1.book.txt存放書籍
2.borrower.txt存放借閱信息
3.chenwen.txt 存放開始信息
4.mima.txt存放密碼 5.qianyan.txt前言
6.student.txt存放學(xué)生信息
7.yuyue.txt 存放預(yù)約信息
#include
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(“█┃******************歡迎進(jìn)入河南工業(yè)大學(xué)圖書管理系統(tǒng)********************* ┃▉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(“■┃〓〓〓〓〓〓〓對(duì)不起,你尚未同意該協(xié)議,不能使用該系統(tǒng)〓〓〓〓〓〓〓〓〓┃█n”);
printf(“█┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛█n”);
printf(“█ ▓▓▓▓▓▓▓▓▓▓我已閱讀并同意該協(xié)議?(是/否)▓▓▓▓▓▓▓▓▓▓▓▓ ▉n”);
printf(“████████████▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉█▉n”);
} } getchar();system(“cls”);while(n==0){ printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);printf(“ ┃ ▼▲▼▲▼▲▼▲▼歡迎進(jìn)入河南工業(yè)大學(xué)圖書管理系統(tǒng) ▼▲▼▲▼▲▼▲▼
┃n”);printf(“ ┣━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━┫n”);printf(“ ┃
★(0)退出
┃
★(1)管理員登錄
┃
★(2)學(xué)生登錄
┃n”);printf(“ ┣━━━━━━━━━━━┻━━━━━━━━━━━━━┻━━━━━━━━━━┫n”);printf(“ ┃
▂▃▄▅▆▇█▉▊▋▌●●● 請(qǐng)輸入選擇●●●▌▋▊█▉▇▆▅▄▃▂
┃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(“█┃******************謝謝使用河南工業(yè)大學(xué)圖書管理系統(tǒng)********************* ┃▉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(“
┃▁▂▃▄▅▆▇█▉▊▋▌▌?wù)堓斎朊艽a▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);printf(“
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);printf(“
┃ ▓▓▓▓▓▓▓▓▓▓★你一共有3次機(jī)會(huì)★▓▓▓▓▓▓▓▓▓▓▓┃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)返回上級(jí) ★(1)創(chuàng)建列表 ★(2)插入(借還)★(3)刪除(借還)★(4)遍歷
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★(5)排序
★(6)搜索
★(7)修改密碼
★(8)保存
★(9)清空文件
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▉▉▉▉▉▉▉▉▉▉▉▉▉●●●請(qǐng)輸入選擇●●●▉▉▉▉▉▉▉▉▉▉▉▉┃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)返回上級(jí)
★(1)創(chuàng)建圖書鏈表 ★(2)創(chuàng)建學(xué)生鏈表 ★(3)創(chuàng)建借閱鏈表
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▉▉▉▉▉▉▉▉▉▉▉▉▉●●●請(qǐng)輸入選擇●●●▉▉▉▉▉▉▉▉▉▉▉▉┃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(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓對(duì)不起,您的輸入有誤▓▓▓▓▓▓▓▓▓▓▓▓┃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)返回上級(jí)
★(1)插入圖書信息 ★(2)插入學(xué)生信息
★(3)插入借閱信息 ┃n”);
printf(“ ┃________________________________________________________________________┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▉▉▉▉▉▉▉▉▉▉▉▉▉●●●請(qǐng)輸入選擇●●●▉▉▉▉▉▉▉▉▉▉▉▉┃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(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓圖書鏈表為空,請(qǐng)先創(chuàng)建圖書鏈表〓〓〓〓〓〓〓〓〓〓┃n”);
}
else{
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃*****************************您享有的操作*******************************┃n”);
printf(“ ┃************************************************************************┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃████████████請(qǐng)輸入你要插入的圖書信息████████████┃|n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★1.編號(hào)
★2.書名
★3.作者
★4.類型
★5.出版社
★(6)庫(kù)存
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▲▼●◆■★▼▲★■◆請(qǐng)依次輸入(用空格隔開)▍▌▋▊▉█▇▆▅▄▃▂▁┃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(“ ┃
██████████學(xué)生鏈表為空,請(qǐng)先創(chuàng)建學(xué)生鏈表██████████ ┃n”);
}
else{
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃*****************************您享有的操作*******************************┃n”);
printf(“ ┃************************************************************************┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃████████████請(qǐng)輸入你要插入的學(xué)生信息████████████┃|n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★1.學(xué)號(hào)★
★2.姓名★
★3.學(xué)院★
★4.身份證★
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▲▼●◆■★▼▲★■◆請(qǐng)依次輸入(用空格隔開)▍▌▋▊▉█▇▆▅▄▃▂▁┃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(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓對(duì)不起,該學(xué)號(hào)已存在▓▓▓▓▓▓▓▓▓▓▓▓▓┃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(“ ┃
██████████借閱鏈表為空,請(qǐng)先創(chuàng)建借閱鏈表██████████ ┃n”);
}
else{
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃*****************************您享有的操作*******************************┃n”);
printf(“ ┃************************************************************************┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃████████████請(qǐng)輸入你要插入的借閱信息████████████┃|n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★★1.學(xué)號(hào)★★
★★2.書編★★
★★3.時(shí)間★★
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃***********請(qǐng)注意:(時(shí)間格式 年月日 比如1992年08月13日為920813)**********┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▲▼●◆■★▼▲★■◆請(qǐng)依次輸入(用空格隔開)▍▌▋▊▉█▇▆▅▄▃▂▁┃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(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓對(duì)不起,該學(xué)號(hào)不存在▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
free(pc);
system(“pause”);
system(“cls”);
break;
}
if(chenwensousou11(chenwenxie1(),pc->book)==NULL){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓對(duì)不起,該書編不存在▓▓▓▓▓▓▓▓▓▓▓▓▓┃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(“ ┃████████████請(qǐng)輸入你要?jiǎng)h除的借閱信息████████████┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃ ★(0)返回上級(jí)
★(1)刪除圖書信息
★(2)刪除學(xué)生信息
★(3)刪除借閱信息 ┃n ”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▉▉▉▉▉▉▉▉▉▉▉▉▉●●●請(qǐng)輸入選擇●●●▉▉▉▉▉▉▉▉▉▉▉▉┃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(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓圖書鏈表為空,請(qǐng)先創(chuàng)建圖書鏈表〓〓〓〓〓〓〓〓〓〓┃n”);
}
else
{
system(“cls”);
while(n==0)
{
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃*****************************您享有的操作*******************************┃n”);
printf(“ ┃************************************************************************┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃━━━━━━━━━━━請(qǐng)輸入你要?jiǎng)h除的圖書信息的━━━━━━━━━━━━┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★0.返回上級(jí)
★1.編號(hào)
★2.書名
★3.位置
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▉▉▉▉▉▉▉▉▉▉▉▉▉●●●請(qǐng)輸入選擇●●●▉▉▉▉▉▉▉▉▉▉▉▉┃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(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請(qǐng)先創(chuàng)建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
system(“cls”);
tishi1();
printf(“ ┃
輸入編號(hào)●●●●●●
┃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(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請(qǐng)先創(chuàng)建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃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(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請(qǐng)先創(chuàng)建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃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(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請(qǐng)先創(chuàng)建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃◆◆◆◆◆◆◆◆◆◆◆◆你要?jiǎng)h除的信息是這些嘛?◆◆◆◆◆◆◆◆◆◆◆◆┃n”);
printf(“ ┣━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┫n”);
printf(“ ┃
①編號(hào)┃
②書名┃
③作者 ┃n”);
printf(“ ┣━━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━━━━━━━┫n”);
printf(“ ┃ %21d ┃ %21s┃ %20s ┃n”,pa->numbers,pa->name,pa->author);
printf(“ ┣━━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━┳━━━━━┫n”);
printf(“ ┃
④類型┃
⑤出版社┃
⑥位置┃
⑦庫(kù)存量┃n”);
printf(“ ┣━━━━━━━━━━━━╋━━━━━━━━━━━╋━━━━━╋━━━━━┫n”);
printf(“ ┃ %23s┃ %21s┃%10d┃%10d┃n”,pa->type,pa->publisher,pa->sum,pa->cun);
printf(“ ┣━━━━━━━━━━━━┻━━━━━━━━━━━┻━━━━━┻━━━━━┫n”);
printf(“ ┃
★(0)不刪除,返回上級(jí)
★(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(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請(qǐng)先創(chuàng)建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
}
else
{
system(“cls”);
while(n==0)
{
tishi1();
printf(“ ┃━━━━━━━━━━━━請(qǐng)輸入你要?jiǎng)h的學(xué)生信息的━━━━━━━━━━━┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★0.返回上級(jí)
★1.學(xué)號(hào)
★2.名字
★3.位置
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
請(qǐng)輸入選擇●●●●●●
┃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(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請(qǐng)先創(chuàng)建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
system(“cls”);
tishi1();
printf(“ ┃
輸入學(xué)號(hào)●●●●●●
┃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(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請(qǐng)先創(chuàng)建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃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(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請(qǐng)先創(chuàng)建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃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(“ ┃▓▓▓▓▓▓▓▓▓▓對(duì)不起,沒有找到你想刪除的信息▓▓▓▓▓▓▓▓▓▓▓┃n”);
}
else
{
if(headstudent==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請(qǐng)先創(chuàng)建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃◆◆◆◆◆◆◆◆◆◆◆◆你要?jiǎng)h除的信息是這些嘛?◆◆◆◆◆◆◆◆◆◆◆◆┃n”);
printf(“ ┣━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━┳━━━━━┫n”);
printf(“ ┃
學(xué)號(hào)
┃
姓名
┃
學(xué)院
┃
位置 ┃n”);
printf(“ ┣━━━━━━━━━╋━━━━━━━━━╋━━━━━━━━━━╋━━━━━┫n”);
printf(“ ┃%18d┃ %17s┃ %19s┃ %8d ┃n”,pb->numbers,pb->name,pb->xueyuan,pb->sum);
printf(“ ┣━━━━━━━━━┻━━━━━━━━━┻━━━━━━━━━━┻━━━━━┫n”);
printf(“ ┃
★(0)不刪除,返回上級(jí)
★(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(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請(qǐng)先創(chuàng)建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
}
else
{
system(“cls”);
while(n==0)
{
tishi1();
printf(“ ┃━━━━━━━━━━━━請(qǐng)輸入你要?jiǎng)h的借閱信息的━━━━━━━━━━━┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★0.返回上級(jí)
★1.學(xué)號(hào)
★2.書編
★3.位置
★4.時(shí)間
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃*******請(qǐng)注意:(時(shí)間格式 年月日 比如1992年08月13日 為 920813)*********┃ n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
請(qǐng)輸入選擇●●●●●●
┃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(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請(qǐng)先創(chuàng)建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
system(“cls”);
tishi1();
printf(“ ┃
輸入學(xué)號(hào)●●●●●●
┃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(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請(qǐng)先創(chuàng)建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
system(“cls”);
tishi1();
printf(“ ┃
輸入編號(hào)●●●●●●
┃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(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請(qǐng)先創(chuàng)建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃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(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請(qǐng)先創(chuàng)建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
system(“cls”);
tishi1();
printf(“ ┃
輸入時(shí)間●●●●●●
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃********請(qǐng)注意:(時(shí)間格式 年月日 比如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(“ ┃▓▓▓▓▓▓▓▓▓▓對(duì)不起,沒有找到你想刪除的信息▓▓▓▓▓▓▓▓▓▓▓┃n”);
}
else
{
if(headborrower==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓〓〓鏈表為空,請(qǐng)先創(chuàng)建鏈表〓〓〓〓〓〓〓〓〓〓〓〓┃n”);
break;
}
if(choice1=='2'||choice1=='3'){
system(“cls”);
pb=chenwensousou21(headstudent,pc->stu);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃◆◆◆◆◆◆◆◆◆◆◆◆你要?jiǎng)h除的信息是這些嘛?◆◆◆◆◆◆◆◆◆◆◆◆┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
姓名:”);
printf(“
%20s
┃n”,pb->name);
printf(“ ┣━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━┫n”);
printf(“ ┃
學(xué)號(hào)
┃
書編
┃
時(shí)間
┃
位置
┃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)不刪除,返回上級(jí)
★(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(“ ┃◆◆◆◆◆◆◆◆◆◆◆◆你要?jiǎng)h除的信息是這些嘛?◆◆◆◆◆◆◆◆◆◆◆◆┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
姓名:”);
printf(“
%20s
┃n”,pb->name);
printf(“ ┣━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━━┫n”);
printf(“ ┃
學(xué)號(hào)
┃
書編
┃
時(shí)間
┃
位置
┃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)不刪除,返回上級(jí)
★(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(“ ┃
請(qǐng)輸入新密碼●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
scanf(“%s”,ppp);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃
請(qǐng)?jiān)俅屋斎朊艽a●●●●●●
┃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)返回上級(jí)
★(1)繼續(xù)修改
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
請(qǐng)輸入選擇●●●●●●
┃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).返回上級(jí)
★(1).保存圖書信息
★(2).保存學(xué)生信息
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★(3).保存借閱信息
★(4).保存所有信息
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
請(qǐng)輸入選擇●●●●●●
┃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(“ ┃〓〓〓〓〓〓〓〓〓〓圖書鏈表為空,請(qǐng)先創(chuàng)建圖書鏈表〓〓〓〓〓〓〓〓〓〓〓 ┃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(“ ┃〓〓〓〓〓〓〓〓〓〓學(xué)生鏈表為空,請(qǐng)先創(chuàng)建學(xué)生鏈表〓〓〓〓〓〓〓〓〓〓〓 ┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
break;
}
chenwendu2(headstudent);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓保存學(xué)生鏈表完成▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
system(“pause”);
system(“cls”);
break;
case '3':
system(“cls”);
if(headborrower==NULL){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃〓〓〓〓〓〓〓〓〓〓借閱鏈表為空,請(qǐng)先創(chuàng)建借閱鏈表〓〓〓〓〓〓〓〓〓〓〓 ┃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(“ ┃〓〓〓〓〓〓〓〓〓〓圖書鏈表為空,請(qǐng)先創(chuàng)建圖書鏈表〓〓〓〓〓〓〓〓〓〓〓 ┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
}
else{
chenwendu1(headbook);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓保存圖書鏈表完成▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
}
if(headstudent==NULL){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃〓〓〓〓〓〓〓〓〓〓學(xué)生鏈表為空,請(qǐng)先創(chuàng)建學(xué)生鏈表〓〓〓〓〓〓〓〓〓〓〓 ┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
}
else{
chenwendu2(headstudent);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓保存學(xué)生鏈表完成▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
}
if(headborrower==NULL){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃〓〓〓〓〓〓〓〓〓〓借閱鏈表為空,請(qǐng)先創(chuàng)建借閱鏈表〓〓〓〓〓〓〓〓〓〓〓 ┃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ī)會(huì)★▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃”,j);
printf(“
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
請(qǐng)輸入密碼●●●●●●
┃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(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓對(duì)不起,學(xué)生現(xiàn)在不能登錄▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
return;} while(xue!=0){
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃
★★(0).返回上級(jí)★★
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
請(qǐng)輸入學(xué)號(hào)●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
if(scanf(“%d”,&xue)){
getchar();
if(xue==0){
system(“cls”);
return;
}
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃
★ ★ ★請(qǐng)輸入登錄密碼(初始密碼為身份證號(hào)碼)
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
scanf(“%s”,ppp);
getchar();
p1=chenwensousou21(chenwenxie2(),xue);
if(p1==NULL){
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓對(duì)不起,該學(xué)號(hào)不存在▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
continue;
}
if(p1->numbers==xue&&strcmp(ppp,p1->mark)==0){
break;
}
else{
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓★★密碼錯(cuò)誤★★▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
continue;
}
}
else{
system(“cls”);
system(“cls”);
scanf(“%c”,&ch);
while(ch!='n'){
scanf(“%c”,&ch);
}
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓★★對(duì)不起,學(xué)號(hào)不能為字符,請(qǐng)輸入數(shù)字★★▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
} } system(“cls”);
while(n==0){
tishi1();
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃████████████████歡迎學(xué)生進(jìn)入██████████████┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★(0)返回上級(jí)
★(1)遍歷
★(2)搜索
★(3)排序
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★(4)借書預(yù)約
★(5)修改密碼
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
請(qǐng)輸入選擇●●●●●●
┃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(“ ┃█████████████請(qǐng)輸入你要預(yù)約的信息█████████████┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★★1.書編★★
★★2.時(shí)間★★
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃***********請(qǐng)注意:(時(shí)間格式 年月日 比如1992年08月13日為920813)**********┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▲▼●◆■★▼▲★■◆請(qǐng)依次輸入(用空格隔開)▍▌▋▊▉█▇▆▅▄▃▂▁┃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(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓對(duì)不起,該書編不存在▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
free(pc);
system(“pause”);
system(“cls”);
break;
}
getchar();
headyuyue=insertborrower(headyuyue,yu);
yuyuedu(headyuyue);
system(“cls”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓恭喜你,預(yù)約成功▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃n”);
l=1;
break;
}
if(l==0){
tishi2();
getchar();
}
l=0;
break;
case '5':
system(“cls”);
while(1){
tishi1();
printf(“ ┃
請(qǐng)輸入新密碼●●●●●●
┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛nn”);
scanf(“%s”,pp);
printf(“ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓n”);
printf(“ ┃
請(qǐng)?jiān)俅屋斎朊艽a●●●●●●
┃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)返回上級(jí)
★(1)繼續(xù)修改
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
請(qǐng)輸入選擇●●●●●●
┃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.返回上級(jí)
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★1.編號(hào)
★2.書名
★3.作者
★4.類型
★5.出版社
★(6)庫(kù)存
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▲▼●◆■★▼▲★■◆請(qǐng)依次輸入(用空格隔開)▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
while(scanf(“%d”,&num)==0){
getchar();
system(“cls”);
tishi2();
tishi1();
printf(“ ┃
★0.返回上級(jí)
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★1.編號(hào)
★2.書名
★3.作者
★4.類型
★5.出版社
★(6)庫(kù)存
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▲▼●◆■★▼▲★■◆請(qǐng)依次輸入(用空格隔開)▍▌▋▊▉█▇▆▅▄▃▂▁┃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.返回上級(jí)★
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★1.學(xué)號(hào)★
★2.姓名★
★3.學(xué)院★
★4.身份證 ★
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▲▼●◆■★▼▲★■◆請(qǐng)依次輸入(用空格隔開)▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);
printf(“ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛n”);
while(scanf(“%d”,&num)==0){
getchar();
system(“cls”);
tishi2();
tishi1();
printf(“ ┃
★0.返回上級(jí)★
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃
★★1.學(xué)號(hào)★★
★★2.姓名★★
★★3.學(xué)院★★
┃n”);
printf(“ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫n”);
printf(“ ┃▲▼●◆■★▼▲★■◆請(qǐng)依次輸入(用空格隔開)▍▌▋▊▉█▇▆▅▄▃▂▁┃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);