亚洲一区爱区精品无码_无码熟妇人妻AV_日本免费一区二区三区最新_国产AV寂寞骚妇

圖書(shū)管理系統(tǒng)客戶訪談3篇 圖書(shū)管理系統(tǒng)客戶訪談文章

時(shí)間:2022-11-04 19:55:26 綜合范文

  下面是范文網(wǎng)小編分享的圖書(shū)管理系統(tǒng)客戶訪談3篇 圖書(shū)管理系統(tǒng)客戶訪談文章,以供借鑒。

圖書(shū)管理系統(tǒng)客戶訪談3篇 圖書(shū)管理系統(tǒng)客戶訪談文章

圖書(shū)管理系統(tǒng)客戶訪談1

  目錄

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

  任務(wù)概述............................................................................................................................2

圖書(shū)管理系統(tǒng)完成的主要目標(biāo)...........................................................................2 用戶的特點(diǎn)............................................................................................................3 需求規(guī)定............................................................................................................................3

  對(duì)功能的規(guī)定........................................................................................................3 讀者管理功能........................................................................................................4 系統(tǒng)管理功能........................................................................................................4

  第三章 概要設(shè)計(jì).............................................................................................................................4

  總體設(shè)計(jì)............................................................................................................................4

  系統(tǒng)目標(biāo)設(shè)計(jì)........................................................................................................4 系統(tǒng)功能分析........................................................................................................5 系統(tǒng)設(shè)計(jì)思想.....................................................................................................................5 系統(tǒng)模塊功能解析............................................................................................................5 第四章 詳細(xì)設(shè)計(jì).............................................................................................................................6

  程序設(shè)計(jì)說(shuō)明....................................................................................................................6

  用戶登錄模塊........................................................................................................6 用戶添加模塊........................................................................................................7 書(shū)籍查詢模塊........................................................................................................8 圖書(shū)借閱模塊........................................................................................................9 圖書(shū)歸還模塊......................................................................................................10 新書(shū)入庫(kù)模塊......................................................................................................11 第五章 編碼與測(cè)試.......................................................................................................................13 各功能模塊的實(shí)現(xiàn)...........................................................................................................13 測(cè)試.................................................................................................................................19 借閱卡管理測(cè)試..................................................................................................19 書(shū)籍管理測(cè)試......................................................................................................19 系統(tǒng)管理測(cè)試......................................................................................................19 結(jié)束語(yǔ).............................................................................................................................................20 致

  謝...........................................................................................................................................21 參考文獻(xiàn).........................................................................................................................................21

  圖書(shū)管理系統(tǒng)

  摘要:本文介紹了在環(huán)境下采用“自上而下地總體規(guī)劃,自下而上地應(yīng)用開(kāi)發(fā)”的策略開(kāi)發(fā)一個(gè)管理信息系統(tǒng)的過(guò)程。通過(guò)分析傳統(tǒng)的人工管理圖書(shū)館的不足,創(chuàng)建了一套行之有效的計(jì)算機(jī)管理圖書(shū)館的方案。文章詳細(xì)介紹了圖書(shū)管理信息系統(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)鍵字:圖書(shū)管理系統(tǒng),,sqlserver2000,信息系統(tǒng)

  Library Management System Abstract:This article introduces the detailed process of exploring a management information system under the environment of , utilizing “Top-Bottom” overall plan and a strategy according to “Bottom-Top” application and is to establish a set of effective scheme for library management by computer, through analyzing disadvantages of traditional library management by human article emphasizes on three 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 system design section mainly focuses on system function design and data base the system realization section has provided several major program charts, together with the main windows and words: library management system, ,information system

  第一章 緒論

  隨著人類社會(huì)的發(fā)展,人類對(duì)知識(shí)的需求也不斷地增長(zhǎng)。在這種形勢(shì)下,書(shū)籍就漸漸地成為人們獲取并增長(zhǎng)知識(shí)的主要途徑,而圖書(shū)館就自然而然地在人們的生活中占據(jù)了一定的位置,如何科學(xué)地管理圖書(shū)館不但關(guān)系到讀者求知的方便程度,也關(guān)系到圖書(shū)館的發(fā)展,因此,開(kāi)發(fā)一套完善的圖書(shū)館管理系統(tǒng)就必不可

  少了。

  圖書(shū)館管理系統(tǒng)是典型的信息管理系統(tǒng),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端的應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前者要求建立數(shù)據(jù)的一致性和完整性,對(duì)于后者則要求應(yīng)用程序功能的完備,易用等的特點(diǎn)。基于上述考慮本系統(tǒng)主要利用作前端的應(yīng)用開(kāi)發(fā)工具,利用sqlsever 作為后臺(tái)的數(shù)據(jù)庫(kù),利用WINDOWS作為系統(tǒng)平臺(tái)開(kāi)發(fā)的圖書(shū)管理系統(tǒng)。另外本圖書(shū)館管理系統(tǒng)利用軟件工程化思想和方法,總體上是采用結(jié)構(gòu)化生命法進(jìn)行系統(tǒng)分析和設(shè)計(jì)的,而系統(tǒng)實(shí)現(xiàn)等步驟則采用了原型法和面對(duì)對(duì)象的方法

  系統(tǒng)開(kāi)發(fā)的總目標(biāo)是實(shí)現(xiàn)內(nèi)部圖書(shū)借閱管理的系統(tǒng)化、規(guī)范化和自動(dòng)化。能夠?qū)D書(shū)進(jìn)行注冊(cè)登記,也就是將圖書(shū)的基本信息(如:書(shū)名、作者、價(jià)格等)預(yù)先存入數(shù)據(jù)庫(kù)中,供以后檢索。能夠?qū)栝喨诉M(jìn)行注冊(cè)登記,包括記錄借閱人的姓名、地址、電話等信息。提供方便的查詢方法。如:以書(shū)名、作者、出版社、出版時(shí)間(確切的時(shí)間、時(shí)間段、某一時(shí)間之前、某一時(shí)間之后)等信息進(jìn)行圖書(shū)檢索,并能反映出圖書(shū)的借閱情況;以借閱人編號(hào)對(duì)借閱人信息進(jìn)行檢索;以出版社名稱查詢出版社聯(lián)系方式信息。提供統(tǒng)計(jì)分析功能??梢哉宫F(xiàn)出圖書(shū)類型比例、庫(kù)存與借出比例。提供舊書(shū)銷毀功能,對(duì)于淘汰、損壞、丟失的書(shū)目可及時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改。能夠?qū)κ褂迷摴芾硐到y(tǒng)的用戶進(jìn)行管理,按照不同的工作職能提供不同的功能授權(quán)。提供較為完善的差錯(cuò)控制與友好的用戶界面,盡量避免誤操作。圖書(shū)館的基本功能就是為讀者提供借閱服務(wù),讀者通過(guò)借閱這一過(guò)程,可以把圖書(shū)帶出圖書(shū)館,從而使讀者能夠更方便的瀏覽圖書(shū)。借書(shū)過(guò)程中,圖書(shū)管理員要對(duì)讀者的借書(shū)資格進(jìn)行審查,對(duì)符合借書(shū)條件的讀者,允許其借書(shū),對(duì)其借書(shū)記錄進(jìn)行登記;對(duì)沒(méi)有借書(shū)資格的讀者,禁止其借書(shū)。

  在環(huán)境下采用“自上而下地總體規(guī)劃,自下而上地應(yīng)用開(kāi)發(fā)”的策略開(kāi)發(fā)一個(gè)管理信息系統(tǒng)的過(guò)程。通過(guò)分析傳統(tǒng)的人工管理圖書(shū)館的不足,創(chuàng)建了一套行之有效的計(jì)算機(jī)管理圖書(shū)館的方案。文章詳細(xì)介紹了圖書(shū)管理信息系統(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è)主要的程序框圖,并附帶了一些主要的窗口和程序。

  第二章 需求分析

  任務(wù)概述

圖書(shū)管理系統(tǒng)完成的主要目標(biāo)

  進(jìn)入系統(tǒng)前需要身份認(rèn)證、用戶名、密碼、輸入正確方可進(jìn)入。用戶可以根據(jù)需要進(jìn)行書(shū)庫(kù)管理。用戶可以進(jìn)行借書(shū)證的辦理、查詢、掛失等操作。用戶可

  以添加賬戶和修改密碼。用戶的特點(diǎn)

  最終用戶包括讀者(具有借閱卡的人)、圖書(shū)管理員,鑒于此軟件應(yīng)用于大學(xué)圖書(shū)管理,讀者基本都是在校大學(xué)生即校職工和領(lǐng)導(dǎo),圖書(shū)管理員都是接受過(guò)高等教育的職工,因此他們都懂得運(yùn)用基本的計(jì)算機(jī)知識(shí)。大學(xué)圖書(shū)管理系統(tǒng)的使用頻度很高,假如一個(gè)一萬(wàn)人的大學(xué)來(lái)講,每天圖書(shū)館的平均日流量為萬(wàn)。因此,該軟件的可靠性、可用性、可維護(hù)性顯得尤為重要。

  需求規(guī)定

  對(duì)功能的規(guī)定

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

  2、新書(shū)入庫(kù):為了能正常運(yùn)行,圖書(shū)館要及時(shí)更新館藏圖書(shū)。對(duì)于新書(shū),要購(gòu)進(jìn),供讀者借閱;所以要設(shè)計(jì)到圖書(shū)的批量入庫(kù)。對(duì)于批量入庫(kù),圖書(shū)管理員要批量登記圖書(shū)的信息,包括書(shū)名ID、ISBN、圖書(shū)名稱、作者、出版社、單價(jià)、入庫(kù)時(shí)間、圖書(shū)總量、現(xiàn)存總量等。

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

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

  讀者管理功能

  1、辦理借閱卡:圖書(shū)館向讀者提供借閱服務(wù),讀者必須具有有效憑證方可借閱。因此,讀者必須辦理借閱卡獲取有效憑證。讀者在辦理借閱卡時(shí),必須輸入個(gè)人有關(guān)注冊(cè)信息,包括讀者姓名、性別、出生日期、家庭住址、身份證號(hào)碼、電話號(hào)碼等信息。系統(tǒng)根據(jù)讀者提供的信息,辦理借閱卡并生成個(gè)人帳號(hào)、讀者可自行修改密碼。

  2、借閱卡信息查詢;圖書(shū)館在正常運(yùn)營(yíng)中要面對(duì)大量的讀者信息,需要掌握每個(gè)讀者的信息,即時(shí)準(zhǔn)確的掌握讀者的基本情況,這些是圖書(shū)館運(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ū)等行為。借閱卡掛失的一般步驟可分為:讀者將掛失情況即時(shí)到圖書(shū)管理員處進(jìn)行登記,并填寫(xiě)登記單。圖書(shū)管理員將讀者情況進(jìn)行登記掛失,注銷借閱卡的信息,并咨詢讀者是否重新辦理。若讀者需重新辦理,則重新填寫(xiě)相關(guān)信息,系統(tǒng)自動(dòng)生成心的借閱卡信息記錄,讀者重新設(shè)置帳號(hào)即密碼,并交納相應(yīng)的費(fèi)用。若讀者不需辦理,則系統(tǒng)將信息注銷。讀者獲得新的圖書(shū)借閱卡。

  系統(tǒng)管理功能

  1、注冊(cè)管理員:為了對(duì)圖書(shū)館管理系統(tǒng)進(jìn)行管理,圖書(shū)館需要若干名圖書(shū)管理員進(jìn)行管理,在圖書(shū)管理員對(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ù)圖書(shū)館管理員可能由于某些原因,如電腦中毒導(dǎo)致管理員密碼的泄露,為避免圖書(shū)管理信息遭到破壞,系統(tǒng)具有修改密碼的功能,確保圖書(shū)管理功能的安全性。

  3、退出功能:系統(tǒng)管理員每次離開(kāi)必須進(jìn)行退出功能,確保管理功能不被他人所用,這樣更方便圖書(shū)管理系統(tǒng)出現(xiàn)問(wèn)題時(shí),找到責(zé)任人。

  第三章 概要設(shè)計(jì)

  總體設(shè)計(jì)

  系統(tǒng)目標(biāo)設(shè)計(jì)

  系統(tǒng)開(kāi)發(fā)的總目標(biāo)是實(shí)現(xiàn)內(nèi)部圖書(shū)借閱管理的系統(tǒng)化、規(guī)范化和自動(dòng)化。能夠?qū)D書(shū)進(jìn)行注冊(cè)登記,也就是將圖書(shū)的基本信息(如:書(shū)名、作者、價(jià)格等)

  預(yù)先存入數(shù)據(jù)庫(kù)中,供以后檢索。能夠?qū)栝喨诉M(jìn)行注冊(cè)登記,包括記錄借閱人的姓名、地址、電話等信息。提供方便的查詢方法。如:以書(shū)名、作者、出版社、出版時(shí)間(確切的時(shí)間、時(shí)間段、某一時(shí)間之前、某一時(shí)間之后)等信息進(jìn)行圖書(shū)檢索,并能反映出圖書(shū)的借閱情況;以借閱人編號(hào)對(duì)借閱人信息進(jìn)行檢索;以出版社名稱查詢出版社聯(lián)系方式信息。提供統(tǒng)計(jì)分析功能。可以展現(xiàn)出圖書(shū)類型比例、庫(kù)存與借出比例。提供舊書(shū)銷毀功能,對(duì)于淘汰、損壞、丟失的書(shū)目可及時(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改。能夠?qū)κ褂迷摴芾硐到y(tǒng)的用戶進(jìn)行管理,按照不同的工作職能提供不同的功能授權(quán)。提供較為完善的差錯(cuò)控制與友好的用戶界面,盡量避免誤操作。系統(tǒng)功能分析

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

  庫(kù)中將該書(shū)標(biāo)記為已借出,以防出現(xiàn)數(shù)據(jù)庫(kù)中有書(shū)但圖書(shū)館無(wú)書(shū)的情況;一本書(shū)歸還后,同樣必須在數(shù)據(jù)庫(kù)中將其標(biāo)記為已經(jīng)歸還,以便再次借出。

  概念設(shè)計(jì)階段主要任務(wù)和目標(biāo)是根據(jù)需求分析的結(jié)果,包括一般聯(lián)系實(shí)體,畫(huà)出對(duì)應(yīng)的ER圖。對(duì)于復(fù)雜的系統(tǒng),通常首先要對(duì)它的各功能模進(jìn)行分析,然后再把它的功能結(jié)構(gòu)圖畫(huà)出來(lái),便是設(shè)計(jì)和優(yōu)化。功能分析之后,再根據(jù)各個(gè)崗位、各個(gè)用戶對(duì)數(shù)據(jù)和使用權(quán)限的不同要求作出局部ER圖,然后再把各個(gè)局部ER圖綜合起來(lái)形成統(tǒng)一的整體ER圖。

  系統(tǒng)設(shè)計(jì)思想

  1、圖書(shū)管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開(kāi)發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。圖書(shū)管理系統(tǒng)使用的是SQL Server2000的數(shù)據(jù)管理系統(tǒng)和以Visual 為開(kāi)發(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)試。

系統(tǒng)模塊功能解析

(1)系統(tǒng)設(shè)計(jì)分析

  本圖書(shū)管理系統(tǒng)主要有以下功能: 圖書(shū)征訂:包括圖書(shū)征訂數(shù)據(jù)的錄入、修改、刪除與審校等功能。圖書(shū)編目:包括圖書(shū)數(shù)目信息的錄入、修改、刪除功能。圖書(shū)典藏:包括新書(shū)分配、庫(kù)室調(diào)配等功能。

  圖書(shū)流通:包括圖書(shū)借閱、續(xù)借、圖書(shū)返還,圖書(shū)書(shū)目的查詢的功能。系統(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)修改及刪除;讀者 只能查詢借閱記錄和圖書(shū)書(shū)目不能修改。

  錄入功能:為普通管理員提供相應(yīng)的錄入功能,為高級(jí)管理員提供對(duì)所有信息的錄入功能。

  查詢功能:為所有用戶提供查詢的功能,可查詢?cè)试S范圍內(nèi)的所有信息。維護(hù)功能:為普通管理員提供查詢及相應(yīng)的修改,刪除功能,為高級(jí)管理提 供對(duì)所有信息的修改刪除功能。

  打印功能:可打印圖書(shū)征訂計(jì)劃。

  退出功能:各個(gè)功能模塊和主窗體都設(shè)有關(guān)閉命令按鈕,可方便地退出各模 塊或系統(tǒng)。

  第四章 詳細(xì)設(shè)計(jì)

  程序設(shè)計(jì)說(shuō)明

  用戶登錄模塊

  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ù)是否打開(kāi)Y連接失敗返回N用戶名和密碼是否正確Y輸入次數(shù)是否超過(guò)5次YN重新輸入密碼關(guān)閉數(shù)據(jù)庫(kù)返回登陸成功進(jìn)入主界面

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

  用戶添加模塊

  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ù)是否打開(kāi)提示連接失敗返回Y查詢數(shù)據(jù)庫(kù)中是否有該用戶Y提示已經(jīng)存在該用戶關(guān)閉數(shù)據(jù)庫(kù)并返回N向數(shù)據(jù)庫(kù)中添加新用戶提示注冊(cè)成功返回

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

  書(shū)籍查詢模塊

  1.程序描述:此程序用于實(shí)現(xiàn)用戶對(duì)想要借閱的查詢功能。用戶通過(guò)輸入相應(yīng)的圖書(shū)信息來(lái)查詢,數(shù)據(jù)庫(kù)根據(jù)用戶提供的信息來(lái)搜索,最后給出客戶相應(yīng)的圖書(shū)信息。

  2.功能:實(shí)現(xiàn)圖書(shū)查詢功能。

  3.性能:對(duì)進(jìn)行想要查詢的書(shū)籍進(jìn)行搜索,若存在此書(shū)則顯示該書(shū)的詳細(xì)信息;若不存在此書(shū),則提示沒(méi)有此書(shū)并返回。

  4.輸入項(xiàng):輸入圖書(shū)的詳細(xì)信息,包括圖書(shū)名稱,書(shū)籍ID,圖書(shū)作者,出版社,單價(jià)等信息。

  5.輸出項(xiàng):若輸入的圖書(shū)存在即輸出圖書(shū)詳細(xì)信息界面;若輸入的圖書(shū)不存在則顯示圖書(shū)不存在界面。

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

  輸入圖書(shū)信息判斷數(shù)據(jù)庫(kù)是否打開(kāi)Y查詢是否有該書(shū)YN連接失敗返回N關(guān)閉數(shù)據(jù)庫(kù)返回顯示該書(shū)的信息關(guān)閉數(shù)據(jù)庫(kù)返回 圖4-3圖書(shū)查詢模塊流程

  圖書(shū)借閱模塊

  1.程序描述:此程序用于圖書(shū)的借閱,用戶通過(guò)登錄自己的借閱ID后,對(duì)需要借閱的圖書(shū)進(jìn)行借閱操作,如果符合借閱的要求,則可進(jìn)行借閱。2.功能:實(shí)現(xiàn)對(duì)圖書(shū)的書(shū)籍借閱功能。

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

  4.若借閱ID存在,則檢查此借閱ID是否借閱書(shū)籍超出4本,若超出則提示超出借閱數(shù)目,返回;若沒(méi)有超出,則進(jìn)行下一操作。

  5.對(duì)想要借閱的圖書(shū)ID進(jìn)行搜索,若此書(shū)不存在,則提示此書(shū)不存在;若此書(shū)存在則進(jìn)行下一步操作。

  將借閱者借閱的數(shù)量増一,將數(shù)據(jù)庫(kù)中此書(shū)數(shù)量減一,同時(shí)提醒借閱成功,然后返回。

  6.輸入項(xiàng):輸入借閱證的ID,圖書(shū)ID 7.輸出項(xiàng):若借閱證ID正確且圖書(shū)ID正確且符合借閱要求,則輸出提示借閱成功界面;若存在借閱ID或圖書(shū)ID或不符合借閱要求等問(wèn)題,則輸出提示沒(méi)有借閱成功原因的界面。8.流程邏輯如下圖

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

  圖書(shū)歸還模塊

  1.程序描述:此程序用于圖書(shū)的歸還,用戶在登錄自己的ID之后,用戶可以對(duì)需要?dú)w還的圖書(shū)進(jìn)行操作,如果符合歸還要求,則可以將圖書(shū)歸還。2.功能:實(shí)現(xiàn)對(duì)圖書(shū)的書(shū)籍歸還功能。

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

  對(duì)想要?dú)w還的圖書(shū)ID進(jìn)行搜索,若此書(shū)不存在,則提示此書(shū)不存在;若此書(shū)存在則進(jìn)行下一步操作。將借閱者借閱的數(shù)量減一,將數(shù)據(jù)庫(kù)中此書(shū)數(shù)量加一,同時(shí)提醒借閱歸還,然后返回。

  4.輸入項(xiàng):輸入借閱證ID和圖書(shū)ID 5.輸出項(xiàng):若借閱證ID和圖書(shū)ID正確,則輸出提示圖書(shū)歸還成功界面;若借閱證ID或圖書(shū)ID不正確,則輸出提示沒(méi)有成功原因的界面。

  6.流程邏輯如下圖:

  輸入書(shū)籍ID和借閱IDN數(shù)據(jù)庫(kù)是否打開(kāi)YN借閱卡ID是否存在YN提示不存在該書(shū)籍關(guān)閉數(shù)據(jù)庫(kù)返回提示不存在該借閱者關(guān)閉數(shù)據(jù)庫(kù)返回?cái)?shù)據(jù)庫(kù)連接失敗返回?cái)?shù)據(jù)庫(kù)中是否存在書(shū)籍IDY將借閱者的借書(shū)數(shù)量減1將書(shū)籍的數(shù)量加1提示還書(shū)成功關(guān)閉數(shù)據(jù)庫(kù)返回 圖4-5圖書(shū)歸還模塊

  新書(shū)入庫(kù)模塊

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

  2.功能;實(shí)現(xiàn)新進(jìn)圖書(shū)入庫(kù)功能。

  3.性能:對(duì)數(shù)據(jù)庫(kù)查詢是否已存在此書(shū),若存在則將此書(shū)數(shù)量加一,提示添加成功;若沒(méi)有此書(shū),則將此書(shū)的基本信息存入數(shù)據(jù)庫(kù),并提示添加書(shū)籍成功。

  4.輸入項(xiàng):輸入新書(shū)的書(shū)籍ID,書(shū)名,作者,出版社,單價(jià)等信息。

  5.輸出項(xiàng):若添加成功,則輸出提示新書(shū)添加成功界面;若沒(méi)有添加成功,輸出提示未成功原因界面。

  6.流程邏輯如下圖

  輸入書(shū)籍信息N數(shù)據(jù)庫(kù)是否打開(kāi)關(guān)閉數(shù)據(jù)庫(kù)返回Y是否已經(jīng)存在Y該書(shū)將該書(shū)的數(shù)量加1提示添加書(shū)籍成功關(guān)閉數(shù)據(jù)庫(kù)N將該書(shū)信息存入數(shù)據(jù)庫(kù)是否是第一條N記錄提示添加書(shū)籍成功關(guān)閉數(shù)據(jù)庫(kù)返回Y提示添加第一本書(shū)籍關(guān)閉數(shù)據(jù)庫(kù)返回圖4-6新書(shū)入庫(kù)模塊

  返回

  第五章 編碼與測(cè)試

  各功能模塊的實(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_

.Open

> 0 Then

.MoveFirst

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

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))

(”口令“)<> 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()

= 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)用戶管理“

= 0

= Len(txtNum)

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

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

= 0

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

  MsgBox ”用戶權(quán)限必須為0或1“, vbCritical, ”系統(tǒng)用戶管理“

  txtAuth = ”“

Else

  Set objcopy = Library_ '對(duì)錯(cuò)?

  With objcopy

> 0 Then

.MoveFirst

.Find ”編號(hào)“ & Trim(txtNum)& ”“

  If <> Library_ Then

  MsgBox ”編號(hào):“ & Trim(txtNum)& ”已被使用,請(qǐng)選擇其他編號(hào)!“, vbCritical, ”系統(tǒng)用戶管理“

= 0

= Len(txtNum)

  Exit Sub

  Else

'保存記錄

  Library_

  MsgBox ”數(shù)據(jù)保存成功!“, vbInformation, ”系統(tǒng)用戶管理“

= True

= True

  IsAdding = False: = 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_ ”TRUNCATE TABLE 讀者類別“

  With Library_

= adStateClosed

.AddNew

.Fields(”編號(hào)“)= ”0“

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

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

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

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

.Update

.AddNew

.Fields(”編號(hào)“)= ”1“

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

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

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

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

.Update

.AddNew

.Update

.AddNew

.Fields(”編號(hào)“)= ”2“

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

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

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

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

.Update

.AddNew

.Fields(”編號(hào)“)= ”3“

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

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

.Fields(”借書(shū)期“)= 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)圖書(shū)征訂管理窗體

  圖5-4 圖書(shū)征訂管理窗體

  圖書(shū)征訂管理代碼

= Len(txtPubDate)

  ElseIf Trim(txtAuthor)= ”“ Then

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

= 0

= Len(txtAuthor)

  ElseIf Val(txtNum)= ”“ Then

  MsgBox ”正的數(shù)量無(wú)效!“, vbCritical, ”圖書(shū)征訂管理“

= 0

= Len(txtNum)

  ElseIf Not IsDate(txtDate)= ”“ Then

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

= 0

= Len(txtDate)

  Else

'保存記錄

  Library_

  MsgBox ”數(shù)據(jù)保存成功!“, vbInformation, ”圖書(shū)征訂管理“

= True: = True

= True: = True

  IsAdding = False: = 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(”你選定了部分新書(shū)準(zhǔn)備入庫(kù),但沒(méi)執(zhí)行保存操作“ & vbCr & ”是否要執(zhí)行保存操作?“, vbCritical + vbYesNo, ”圖書(shū)典藏管理“)= vbYes Then

= 0

= True

  End If

  ElseIf LstIn(1).ListCount > 0 Then

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

= 1

= True

  End If

  End If

  Unload Me End Sub '刷新新書(shū)或調(diào)出庫(kù)室條碼列表

  Private Sub cmdRefresh_Click(Index As Integer)

  Select Case Index

  Case 0 '刷新新書(shū)列表

  With Library_

= adStateClosed

.Requery

  End With

  AddListNew

  Case 1 '刷新庫(kù)室條碼列表

  With Library_

= adStateClosed

.Requery

  End With

  AddListOut

  End Select End Sub Public Sub AddListNew()

  LstPre(0).Clear

  With Library_

= adStateClosed

> 0 Then

.MoveFirst

  While

  LstPre(0).(”條碼“)

.MoveNext

  Wend

  Else

  LstPre(0).AddItem ”當(dāng)前無(wú)待分配新書(shū)"

  End If End With End Sub 測(cè)試

借閱卡管理測(cè)試

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

書(shū)籍管理測(cè)試

  進(jìn)度安排:測(cè)試新書(shū)入庫(kù)信息的正確性。測(cè)試借書(shū)、還書(shū)功能信息正確性。測(cè)試書(shū)籍掛失信息的正確性。測(cè)試圖書(shū)信息查詢的正確性。測(cè)試借書(shū)信息查詢的正確性。

系統(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ò)程中不夠用心,不懂的地方也沒(méi)有及時(shí)的去搞懂,課后也沒(méi)怎么花時(shí)間去研究。這次實(shí)驗(yàn)我覺(jué)得自己不僅學(xué)到了很多軟件設(shè)計(jì)方面的知識(shí),也讓我鞏固了以前所學(xué)的知識(shí)以及看到了自己以前學(xué)習(xí)中的不足之處。

  在今后的學(xué)習(xí)過(guò)程中,我一定會(huì)認(rèn)真學(xué)習(xí)專業(yè)課程,再也不能像以前那樣迷迷糊糊的,課后要多花時(shí)間去研究一些有關(guān)編程方面的題目,不懂的地方及時(shí)把它弄懂。以后自己還要多動(dòng)手編寫(xiě)一些程序。在這里我要感謝學(xué)校能提供這么一個(gè)寶貴的機(jī)會(huì),我們可以把課堂上所學(xué)的理論知識(shí)運(yùn)用到實(shí)踐中去,把書(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ù)原理開(kāi)發(fā)出自己的項(xiàng)目.在開(kāi)發(fā)的過(guò)程中使我體會(huì)到了工程化開(kāi)發(fā)方法和瀑布模型利用的重要性,在此還要感謝所有合作參與項(xiàng)目開(kāi)發(fā)的同學(xué)們這次畢業(yè)設(shè)計(jì)的成功離不開(kāi)所有參與的同學(xué)們的幫助和支持,是他們讓我知道了團(tuán)隊(duì)工作的重要.參考文獻(xiàn)

  1、陶宏才.數(shù)據(jù)庫(kù)原理及設(shè)計(jì)[M].北京:清華大學(xué)出版社.、陸麗娜.軟件工程 [M].北京:經(jīng)濟(jì)科學(xué)出版社.1999

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

  4、劉世峰.數(shù)據(jù)庫(kù)基礎(chǔ)與應(yīng)用[M] 北京: 中央電大出版社 2003

  5、吳斌、魯大林.Visual Basic+SQL Sever數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開(kāi)發(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)開(kāi)發(fā)實(shí)錄[M] 北京: 機(jī)械工業(yè)出版社 2007

圖書(shū)管理系統(tǒng)客戶訪談2

  圖書(shū)管理系統(tǒng)源代碼

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

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

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

圖書(shū)管理系統(tǒng)客戶訪談3

  七個(gè)文件

  存放書(shū)籍

  存放借閱信息

存放開(kāi)始信息

  存放密碼 前言

  存放學(xué)生信息

存放預(yù)約信息

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

  Int times;

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

  Char name[40];

  Char xueyuan[40];

  Int sum;

  Struct stus *next;

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

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

  Printf(“█┃******************歡迎進(jìn)入河南工業(yè)大學(xué)圖書(shū)管理系統(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é)圖書(shū)管理系統(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é)圖書(shū)管理系統(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)建圖書(shū)鏈表 ★(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)插入圖書(shū)信息 ★(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(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓圖書(shū)鏈表為空,請(qǐng)先創(chuàng)建圖書(shū)鏈表〓〓〓〓〓〓〓〓〓〓┃n”);

}

  Else{

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

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

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

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

  Printf(“ ┃████████████請(qǐng)輸入你要插入的圖書(shū)信息████████████┃|n”);

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

  Printf(“ ┃

★1.編號(hào)

★2.書(shū)名

★3.作者

★4.類型

★5.出版社

★(6)庫(kù)存

┃n”);

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

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

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

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

  Printf(“Not able to allocate ”);

  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)依次輸入(用空格隔開(kāi))▍▌▋▊▉█▇▆▅▄▃▂▁┃n”);

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

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

  Printf(“Not able to allocate ”);

  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.書(shū)編★★

★★3.時(shí)間★★

┃n”);

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

  Printf(“ ┃***********請(qǐng)注意:(時(shí)間格式 年月日 比如1992年08月13日為)**********┃n”);

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

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

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

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

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

  Printf(“Not able to allocate ”);

  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ì)不起,該書(shū)編不存在▓▓▓▓▓▓▓▓▓▓▓▓▓┃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)刪除圖書(shū)信息

★(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(“ ┃ 〓〓〓〓〓〓〓〓〓〓〓圖書(shū)鏈表為空,請(qǐng)先創(chuàng)建圖書(shū)鏈表〓〓〓〓〓〓〓〓〓〓┃n”);

}

  Else

{

  System(“cls”);

  While(n==0)

{

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

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

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

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

  Printf(“ ┃━━━━━━━━━━━請(qǐng)輸入你要?jiǎng)h除的圖書(shū)信息的━━━━━━━━━━━━┃n”);

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

  Printf(“ ┃

★0.返回上級(jí)

★1.編號(hào)

★2.書(shū)名

★3.位置

┃n”);

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

  Printf(“ ┃▉▉▉▉▉▉▉▉▉▉▉▉▉●●●請(qǐng)輸入選擇●●●▉▉▉▉▉▉▉▉▉▉▉▉┃n”);

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

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

{

  Printf(“Not able to allocate ”);

  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(“ ┃

  輸入書(shū)名●●●●●●

┃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(“ ┃〓〓〓〓〓〓〓〓〓〓〓〓沒(méi)有找到你想刪除的信息〓〓〓〓〓〓〓〓〓〓〓〓〓┃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)┃

②書(shū)名┃

③作者 ┃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 ”);

  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ì)不起,沒(méi)有找到你想刪除的信息▓▓▓▓▓▓▓▓▓▓▓┃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.書(shū)編

★3.位置

★4.時(shí)間

┃n”);

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

  Printf(“ ┃*******請(qǐng)注意:(時(shí)間格式 年月日 比如1992年08月13日 為 )*********┃ n”);

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

  Printf(“ ┃

  請(qǐng)輸入選擇●●●●●●

┃n”);

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

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

{

  Printf(“Not able to allocate ”);

  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日 為 )********┃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ì)不起,沒(méi)有找到你想刪除的信息▓▓▓▓▓▓▓▓▓▓▓┃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ū)編

  時(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ū)編

  時(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).保存圖書(shū)信息

★(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(“ ┃〓〓〓〓〓〓〓〓〓〓圖書(shū)鏈表為空,請(qǐng)先創(chuàng)建圖書(shū)鏈表〓〓〓〓〓〓〓〓〓〓〓 ┃n”);

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

  break;

}

  Chenwendu1(headbook);

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

  Printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓保存圖書(shū)鏈表完成▓▓▓▓▓▓▓▓▓▓▓▓▓┃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(“ ┃〓〓〓〓〓〓〓〓〓〓圖書(shū)鏈表為空,請(qǐng)先創(chuàng)建圖書(shū)鏈表〓〓〓〓〓〓〓〓〓〓〓 ┃n”);

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

}

  Else{

  Chenwendu1(headbook);

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

  Printf(“ ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓保存圖書(shū)鏈表完成▓▓▓▓▓▓▓▓▓▓▓▓▓┃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)借書(shū)預(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.書(shū)編★★

★★2.時(shí)間★★

┃n”);

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

  Printf(“ ┃***********請(qǐng)注意:(時(shí)間格式 年月日 比如1992年08月13日為)**********┃n”);

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

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

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

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

  If((yu=(Borr *)malloc(sizeof(Borr)))==NULL){

  Printf(“Not able to allocate ”);

  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ì)不起,該書(shū)編不存在▓▓▓▓▓▓▓▓▓▓▓▓▓┃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 ”);

  Exit(1);} head=begin,begin->front=NULL,begin->sum=0;if((p=(Books *)malloc(n))==NULL){

  Printf(“Not able to allocate ”);

  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.書(shū)名

★3.作者

★4.類型

★5.出版社

★(6)庫(kù)存

┃n”);

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

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

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

  While(scanf(“%d”,&num)==0){

  getchar();

  System(“cls”);

  tishi2();

  tishi1();

  Printf(“ ┃

★0.返回上級(jí)

┃n”);

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

  Printf(“ ┃

★1.編號(hào)

★2.書(shū)名

★3.作者

★4.類型

★5.出版社

★(6)庫(kù)存

┃n”);

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

  Printf(“ ┃▲▼●◆■★▼▲★■◆請(qǐng)依次輸入(用空格隔開(kāi))▍▌▋▊▉█▇▆▅▄▃▂▁┃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 ”);

  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 ”);

  Exit(1);} head=begin;

  If((p=(Stus *)malloc(n))==NULL){

  Printf(“Not able to allocate ”);

  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)依次輸入(用空格隔開(kāi))▍▌▋▊▉█▇▆▅▄▃▂▁┃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)依次輸入(用空格隔開(kāi))▍▌▋▊▉█▇▆▅▄▃▂▁┃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 ”);

  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 ”);

  Exit(1);

圖書(shū)管理系統(tǒng)客戶訪談3篇 圖書(shū)管理系統(tǒng)客戶訪談文章相關(guān)文章:

銀行客戶經(jīng)理工作心得4篇 如何做好銀行客戶經(jīng)理心得體會(huì) 銀行

銀行客戶經(jīng)理年度的工作總結(jié)范文4篇(銀行客戶經(jīng)理年度總結(jié)報(bào)告范文大全)

省衛(wèi)生系統(tǒng)先進(jìn)集體申報(bào)材料3篇(公共衛(wèi)生先進(jìn)集體申報(bào)材料)

關(guān)于給客戶的道歉信范文3篇(給客戶的道歉信怎么寫(xiě))

閉路監(jiān)控系統(tǒng)安裝合同2篇(網(wǎng)絡(luò)監(jiān)控安裝合同)

寫(xiě)給客戶感謝信范文3篇(一封寫(xiě)給客戶感謝的信)

淺析城市綠地系統(tǒng)規(guī)劃的生態(tài)策略3篇(城市規(guī)劃與城市綠地系統(tǒng)規(guī)劃)

給客戶的感謝信12篇 一封給客戶的感謝信

客戶的道歉信12篇 給客戶的歉意信

圖書(shū)室工作計(jì)劃6篇 學(xué)校圖書(shū)室工作發(fā)展計(jì)劃