版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上C/C+語(yǔ)言程序設(shè)計(jì)大型實(shí)驗(yàn)報(bào)告-圖書(shū)管理系統(tǒng)浙江工業(yè)大學(xué)軟件學(xué)院二零零九年五月目錄第一章 概述1.1 實(shí)驗(yàn)意義1.2 說(shuō)明1.3 實(shí)驗(yàn)內(nèi)容第二章 簡(jiǎn)單的LMS功能及設(shè)計(jì)思路2.1 功能描述 2.1.1 讀者管理模式功能 2.1.2 工作人員管理模式功能 2.1.3 管理員管理模式功能2.2 基本設(shè)計(jì)思路第三章 用戶(hù)類(lèi)3.1 用戶(hù)類(lèi)的定義3.2 用戶(hù)的登陸3.3 修改用戶(hù)信息3.4 查詢(xún)圖書(shū)信息第四章 讀者管理模式4.1查看個(gè)人信息4.2查找館藏圖書(shū)信息第五章 工作人員管理模式5.1查詢(xún)讀者信息(個(gè)人信息和讀者借書(shū)情況)5.2還書(shū)5.3借書(shū)5.4查詢(xún)圖書(shū)信息第六章 管
2、理員管理模式6.1添加、刪除圖書(shū)信息 6.1.1 添加圖書(shū)信息 6.1.2 刪除圖書(shū)信息6.2添加、刪除用戶(hù)信息6.3查詢(xún)圖書(shū)信息第七章 圖書(shū)類(lèi)第八章 建立數(shù)據(jù)庫(kù)8.1 數(shù)據(jù)儲(chǔ)存文件說(shuō)明8.2 數(shù)據(jù)庫(kù)操作說(shuō)明第九章 主程序結(jié)構(gòu)附:在VC6環(huán)境下的測(cè)試截圖第一章 概述1.1 實(shí)驗(yàn)意義本實(shí)驗(yàn)通過(guò)分析并實(shí)現(xiàn)一個(gè)簡(jiǎn)單的系統(tǒng)以圖書(shū)管理系統(tǒng),讓學(xué)生從一個(gè)參與項(xiàng)目開(kāi)發(fā)的角度全新的體驗(yàn)項(xiàng)目開(kāi)發(fā)的全過(guò)程。學(xué)生在獨(dú)立完成一個(gè)簡(jiǎn)單的系統(tǒng)的開(kāi)發(fā)的過(guò)程中,不但真正的學(xué)到程序設(shè)計(jì)的實(shí)戰(zhàn)知識(shí),更為重要的是能夠體驗(yàn)開(kāi)發(fā)的樂(lè)趣并培養(yǎng)程序開(kāi)發(fā)的興趣。選擇圖書(shū)管理系統(tǒng)作為實(shí)驗(yàn)的目的是因?yàn)閳D書(shū)管理系統(tǒng)學(xué)生能經(jīng)常接觸到,對(duì)其功能有一定
3、的了解,能夠在使用中提出自己的一些需求的系統(tǒng)。圖書(shū)管理系統(tǒng)雖然簡(jiǎn)單,但是隨著需求功能的不斷增加,開(kāi)發(fā)的難度也不斷增加,不僅能滿(mǎn)足初學(xué)編程的需求,也能讓更高年級(jí)的學(xué)生通過(guò)將學(xué)到的知識(shí)直接用于該系統(tǒng)的開(kāi)發(fā)而鞏固和提高編程水平。1.2 說(shuō)明本實(shí)驗(yàn)報(bào)告分為三個(gè)部分,第一部分為概述,介紹圖書(shū)管理系統(tǒng)的實(shí)驗(yàn)基本內(nèi)容以及對(duì)圖書(shū)管理系統(tǒng)的功能描述,以及基本設(shè)計(jì)思路;第二部分為具體的類(lèi)定義及實(shí)現(xiàn)的介紹,是本實(shí)驗(yàn)報(bào)告的重點(diǎn)部分;第三部分為主程序設(shè)計(jì)部分,包括對(duì)數(shù)據(jù)庫(kù)的操作以及主程序登錄界面的說(shuō)明。1.3 實(shí)驗(yàn)內(nèi)容開(kāi)發(fā)一個(gè)基于DOS界面的圖書(shū)館管理系統(tǒng),通過(guò)命令的方式進(jìn)行借書(shū)還書(shū)等圖書(shū)館需要的功能;用戶(hù)界面友好,讓
4、非計(jì)算機(jī)人員通過(guò)簡(jiǎn)短的培訓(xùn)即可使用;系統(tǒng)的可擴(kuò)展性良好,可以在此基礎(chǔ)上方面的增加其他的功能模塊。第二章 簡(jiǎn)單的LMS功能及設(shè)計(jì)思路2.1 功能描述圖書(shū)管理系統(tǒng)(LMS)用于圖書(shū)館進(jìn)行圖書(shū)的管理,主要的功能包括借書(shū)、還書(shū)、查找等。不同的使用對(duì)象具有不同的權(quán)限,包括讀者管理、工作人員管理、管理員管理等三種模式。選擇登錄模式(讀者、工作人員、管理員),輸入用戶(hù)名和密碼,成功后進(jìn)行相應(yīng)的功能模塊。2.1.1 讀者管理模式功能讀者可以查找館藏書(shū)目,了解圖書(shū)館有哪些書(shū),是否可借。讀者可以查看個(gè)人借書(shū)情況和修改基本個(gè)人信息、修改密碼。2.1.2 工作人員管理模式功能可以查找館藏書(shū)目,了解圖書(shū)館有哪些書(shū),是否
5、可借。根據(jù)讀者號(hào)查詢(xún)讀者信息,顯示該讀者基本信息,和借書(shū)情況(借了哪里書(shū))。讀者信息高級(jí)查找可以根據(jù)姓名等其他信息進(jìn)行查找。借書(shū)功能:首先輸入讀者號(hào),在該狀態(tài)下依次輸入該讀者借的書(shū),完成圖書(shū)的借閱工作。還書(shū)功能:直接輸入圖書(shū)ID號(hào),將該書(shū)的信息改為入庫(kù),并修改讀者的借書(shū)記錄。2.1.3 管理員管理模式功能可以查找館藏書(shū)目,了解圖書(shū)館有哪些書(shū),是否可借。維護(hù)圖書(shū)信息:添加:進(jìn)入添加狀態(tài),根據(jù)提示依次輸入圖書(shū)的基本信息,默認(rèn)狀態(tài)下為繼續(xù)輸入,當(dāng)輸入-1回到上一層。修改:首先進(jìn)行查找,列出所有符合條件的圖書(shū),根據(jù)列出的需要選擇要修改的圖書(shū),如果只有一條記錄則直接進(jìn)入修改。根據(jù)提示選擇該圖書(shū)需要修改的
6、字段,并進(jìn)行修改。選擇“完成”回到上一層。刪除:維護(hù)讀者信息:添加、刪除、編輯讀者信息。維護(hù)人員信息:添加、刪除、編輯工作人員信息。2.2 基本設(shè)計(jì)思路采用面向?qū)ο蟮姆绞綄?shí)現(xiàn)圖書(shū)管理系統(tǒng),根據(jù)不同的使用權(quán)限,使用對(duì)象分為讀者、工作人員和管理員。圖 21 系統(tǒng)主要類(lèi)結(jié)構(gòu)圖分別設(shè)計(jì)讀者類(lèi)、工作人員類(lèi)、管理員類(lèi)(如上圖),用戶(hù)類(lèi)為基類(lèi)實(shí)現(xiàn)通用的功能(登錄,查詢(xún)圖書(shū)信息,修改用戶(hù)信息)。用數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)的保存,需要保存的數(shù)據(jù)主要包括圖書(shū)數(shù)據(jù)、用戶(hù)數(shù)據(jù)(包括讀者、工作人員、管理員)、借閱索引表。設(shè)置數(shù)據(jù)操作類(lèi),實(shí)現(xiàn)所有的數(shù)據(jù)庫(kù)操作相關(guān)的功能。設(shè)計(jì)圖書(shū)類(lèi),顯示圖書(shū)信息,記錄、更新借閱信息。第三章 用戶(hù)類(lèi)3
7、.1 用戶(hù)類(lèi)的定義用戶(hù)類(lèi)的公開(kāi)定義中,包括6個(gè)構(gòu)造函數(shù),重載不同類(lèi)型的用戶(hù)構(gòu)造,登陸函數(shù)(userLogin(void))用于用戶(hù)登陸,圖書(shū)查詢(xún)函數(shù)(searchBook()),用戶(hù)密碼修改函數(shù)(resetPassWord(void)),用戶(hù)信息修改函數(shù)(resetInfo)。另有四個(gè)虛函數(shù),分別用于判斷用戶(hù)是否存在(isExisted(void))、從鍵盤(pán)讀取用戶(hù)信息(getFromStdin (void))、將信息存入數(shù)據(jù)庫(kù)(addToData(void))以及顯示信息(showInfo(void)),用于被不同模式的用戶(hù)繼承。用戶(hù)類(lèi)的保護(hù)定義中,包括編號(hào)(no)、姓名(name)、密碼(
8、passWord)以及用戶(hù)類(lèi)型(usertype)四個(gè)成員變量。3.2 用戶(hù)的登陸bool User:userLogin()若登陸成功,返回true,否則返回fasle判斷用戶(hù)是否存在,若不存在,返回false否則判斷密碼是否正確,若錯(cuò)誤,返回false否則返回true3.3 修改用戶(hù)信息bool User:resetPassWord(void)修改用戶(hù)密碼,修改成功返回true,返回菜單返回false1.讀取新密碼和確認(rèn)密碼2.若新密碼和確認(rèn)密碼相同,密碼修改成功,返回true 否則詢(xún)問(wèn)重新輸入或者返回菜單 重新輸入則再次執(zhí)行該函數(shù) 返回菜單,返回faslebool User:resetIn
9、fo(const std:string &_name, const std:string &_passWord, UserType _type)重新設(shè)置用戶(hù)名,密碼,用戶(hù)類(lèi)型3.4 查詢(xún)圖書(shū)信息void User:searchBook()1. 讀取根據(jù)何種方式進(jìn)行查找2. 讀取關(guān)鍵字3. 調(diào)用sqlOpenConnection函數(shù)打開(kāi)數(shù)據(jù)庫(kù)4. 調(diào)用getDataRecord函數(shù)按照指定方式和關(guān)鍵詞在數(shù)據(jù)庫(kù)中搜索5. 若數(shù)據(jù)不存在,輸出提示,返回否則顯示圖書(shū)信息6. 關(guān)閉數(shù)據(jù)庫(kù)第四章 讀者管理模式4.1查看個(gè)人信息void BookReader:showInfo(void)虛繼
10、承自User類(lèi),調(diào)用User類(lèi)的showInfo(void)函數(shù)顯示該工作人員的序號(hào)、姓名、權(quán)限,并且顯示借書(shū)數(shù)目。4.2查找館藏圖書(shū)信息直接調(diào)用User類(lèi)的searchBook()函數(shù)第五章 工作人員管理模式5.1查詢(xún)讀者信息(個(gè)人信息和讀者借書(shū)情況)void Worker:showInfo(void)虛繼承自User類(lèi),調(diào)用User類(lèi)的showInfo(void)函數(shù)顯示該工作人員的序號(hào),姓名、權(quán)限,并且顯示性別和部門(mén)。void Worker:showReaderInfo(BookReader* reader) 將BookReader類(lèi)型的指針reader指向showInfo(void)函
11、數(shù),即調(diào)用BookReader類(lèi)的showInfo(void)函數(shù)以顯示讀者借書(shū)情況。5.2還書(shū)bool Worker:returnBook(const string& bno, const string& rno)5.3借書(shū)bool Worker:borrowBook(const string& bno, const string& rno)首先調(diào)用圖書(shū)類(lèi)和讀者類(lèi)的isExisted檢查5.4查詢(xún)圖書(shū)信息直接調(diào)用User類(lèi)的searchBook()函數(shù)第六章 管理員管理模式6.1添加、刪除圖書(shū)信息6.1.1添加圖書(shū)信息bool LAdmin:AddBook(v
12、oid)添加圖書(shū)函數(shù),添加成功返回true,返回上層返回false1.新建Book類(lèi)型的指針。2.用該指針調(diào)用Book類(lèi)的getFromStdin()函數(shù)以及addToData()函數(shù),獲取圖書(shū)信息并添加入數(shù)據(jù)庫(kù)。3.提示成功添加圖書(shū),返回true4.若失敗,提示選擇重新輸入或者返回上層 重新輸入則再次調(diào)用該函數(shù) 返回上層則返回false。6.1.2 刪除圖書(shū)信息bool LAdmin:DeleteBook(Book* aBook, bool warning)刪除圖書(shū)函數(shù),刪除成功返回true,若圖書(shū)不存在,或者數(shù)據(jù)庫(kù)出錯(cuò),或者操作被取消返回false1.用aBook指針調(diào)用Book類(lèi)的isE
13、xisted()判斷圖書(shū)是否存在。若不存在,返回false2.用aBook指針調(diào)用showInfo()顯示圖書(shū)信息。3.詢(xún)問(wèn)是否要?jiǎng)h除該書(shū),若取消,返回false 否則調(diào)用DBManager類(lèi)的sqlOperate函數(shù)對(duì)數(shù)據(jù)庫(kù)進(jìn)行刪除圖書(shū)操作,操作成功返回true,失敗返回false6.2添加、刪除用戶(hù)信息bool LAdmin:AddMember(void)添加用戶(hù)函數(shù),添加成功返回true,返回上層返回false1.新建User類(lèi)型的指針。2.選擇具體人員類(lèi)型,并新建對(duì)應(yīng)類(lèi)型的指針2.用該指針調(diào)用該類(lèi)類(lèi)的getFromStdin()函數(shù)以及addToData()函數(shù),獲取用戶(hù)信息并添加入數(shù)
14、據(jù)庫(kù)。3.提示成功添加用戶(hù),返回true4.若失敗,提示選擇重新輸入或者返回上層 重新輸入則再次調(diào)用該函數(shù) 返回上層則返回false。bool LAdmin:deleteMember(User *aUser, int _type, bool warning)刪除用戶(hù)函數(shù),刪除成功返回true,若用戶(hù)不存在,或者數(shù)據(jù)庫(kù)出錯(cuò),或者操作被取消返回false1.用aUser指針調(diào)用User類(lèi)的isExisted()判斷用戶(hù)是否存在。若不存在,返回false2.用aUser指針調(diào)用showInfo()顯示用戶(hù)信息。3.詢(xún)問(wèn)是否要?jiǎng)h除該用戶(hù),若取消,返回false 否則調(diào)用DBManager類(lèi)的sqlOp
15、erate函數(shù)對(duì)數(shù)據(jù)庫(kù)進(jìn)行刪除用戶(hù)操作,操作成功返回true,失敗返回false6.3查詢(xún)圖書(shū)信息直接調(diào)用User類(lèi)的searchBook()函數(shù)第七章 圖書(shū)類(lèi)圖書(shū)類(lèi)的公開(kāi)定義中,包括2個(gè)構(gòu)造函數(shù),重載不同類(lèi)型的圖書(shū)構(gòu)造,重設(shè)借書(shū)數(shù)量函數(shù)(setNewBorrowNum(const string& newNum))用于設(shè)置圖書(shū)借出數(shù)量,更新數(shù)據(jù)函數(shù)(updateData(void))。另有四個(gè)函數(shù),同用戶(hù)類(lèi)的虛函數(shù)一樣,分別用于判斷圖書(shū)是否存在(isExisted(void))、從鍵盤(pán)讀取圖書(shū)信息(getFromStdin (void))、將信息存入數(shù)據(jù)庫(kù)(addToData(void
16、))以及顯示信息(showInfo(void))。用戶(hù)類(lèi)的保護(hù)定義中,包括編號(hào)(no),書(shū)名(name),作者(author),出版社(press),庫(kù)存量(storenum),借出量(borrownum)等六個(gè)成員變量。#ifndef BOOK_H#define BOOK_H#include <iostream>#include <string>#include "DBManage.h"using namespace std;class Bookpublic:Book(void);Book(const string& _no);bool i
17、sExisted(void);bool getFromStdin(void);bool addToData(void) const;void showInfo(void) const;string getNo(void) const;string getBorrowNum(void) const;string getStoreNum(void) const;void setNewBorrowNum(const string& newNum);bool updateData(void) const;private:string no, name, author, press, store
18、num, borrownum;#endif第八章 建立數(shù)據(jù)庫(kù)8.1 數(shù)據(jù)儲(chǔ)存文件說(shuō)明8.2 數(shù)據(jù)庫(kù)操作說(shuō)明讀、存、查找、刪除數(shù)據(jù)的函數(shù)全部寫(xiě)在DBManage.h和DBManage.cpp文件中。DBManage.h放所有的數(shù)據(jù)操作函數(shù)的聲明,在DBManage.cpp文件中放置數(shù)據(jù)操作函數(shù)的實(shí)現(xiàn)。#ifndef DBMANAGE_H#define DBMANAGE_H#import "c:program filescommon filessystemadomsado15.dll" no_namespace rename ("EOF", "ad
19、oEOF")#include <iostream>#include <map>#include <vector>using namespace std;class DBManagepublic:static _ConnectionPtr sqlOpenConnection()_ConnectionPtr pConnection;CoInitialize(NULL);pConnection.CreateInstance(_uuidof(Connection);try / 打開(kāi)本地Access庫(kù)Database.mdbpConnection->O
20、pen("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Database.mdb","","",adModeUnknown);return pConnection;catch(_com_error e)return NULL; static bool sqlOperate(const char* sqlCommand)_ConnectionPtr pConnection=sqlOpenConnection();_CommandPtr pCommand; pCommand.CreateInst
21、ance(_uuidof(Command);pCommand->ActiveConnection = pConnection;/ 將庫(kù)連接賦于它trypCommand->CommandText = sqlCommand;pCommand->Execute(NULL, NULL,adCmdText);pConnection->Close();return true;catch(_com_error e)std:cout << "數(shù)據(jù)庫(kù)操作失敗! "std:cout << e.ErrorMessage() << std
22、:endl;pConnection->Close();return false;return true;static bool getDataRecord(_ConnectionPtr& pConnection, const string& command, string& err, map<string, string>& item, const string* Collect, int n)_RecordsetPtr pRecordset;pRecordset.CreateInstance(_uuidof(Recordset);try pR
23、ecordset->Open(command.c_str(), pConnection.GetInterfacePtr(), / 獲取庫(kù)接庫(kù)的IDispatch指針adOpenDynamic,adLockOptimistic,adCmdText);catch(_com_error *e)err = (_bstr_t)e->ErrorMessage();return false;if (pRecordset = NULL)err = "*數(shù)據(jù)為空!*"return false;tryif(!pRecordset->BOF)pRecordset->Mov
24、eFirst();elseerr = "*數(shù)據(jù)為空!*"return false;_variant_t var;for (int i = 0; i < n; i+)var = pRecordset->GetCollect(Collecti.c_str();if (var.vt != VT_NULL)itemCollecti = _com_util:ConvertBSTRToString(_bstr_t)var);else itemCollecti = " "catch(_com_error *e)err = (_bstr_t)e->Er
25、rorMessage();return false; pRecordset->Close();pRecordset = NULL;return true;static bool getDataRecord(_ConnectionPtr& pConnection, const string& command, string& err, vector<map<string, string> >& items, const string* Collect, int n)_RecordsetPtr pRecordset;pRecordset
26、.CreateInstance(_uuidof(Recordset);try pRecordset->Open(command.c_str(), pConnection.GetInterfacePtr(), / 獲取庫(kù)接庫(kù)的IDispatch指針adOpenDynamic,adLockOptimistic,adCmdText);catch(_com_error *e)err = (_bstr_t)e->ErrorMessage();return false;if (pRecordset = NULL)err = "*數(shù)據(jù)為空!*"return false;try
27、if(!pRecordset->BOF)pRecordset->MoveFirst();elseerr = "*數(shù)據(jù)為空!*"return false;_variant_t var;while(!pRecordset->adoEOF)map<string, string> item;for (int i = 0; i < n; i+)var = pRecordset->GetCollect(Collecti.c_str();if (var.vt != VT_NULL)itemCollecti = _com_util:ConvertB
28、STRToString(_bstr_t)var);else itemCollecti = " "items.push_back(item);pRecordset->MoveNext();catch(_com_error *e)err = (_bstr_t)e->ErrorMessage();return false; pRecordset->Close();pRecordset = NULL;return true;#endif第九章 主程序結(jié)構(gòu)#ifndef UERMEDOL_H#define UERMEDOL_H#include <iostrea
29、m>#include <string>#include "User.h"#include "LAdmin.h"#include "Book.h"#include "Worker.h"#include "BookReader.h"using namespace std;extern enum StatueEXIT, OFFLOGIN;extern inline void fresh();Statue AdminModel(LAdmin* user);/執(zhí)行管理員模式并返回下一個(gè)操
30、作Statue ReaderMedol(BookReader* reader);/執(zhí)行讀者模式并返回下一個(gè)操作Statue WorkerMedol(Worker* worker);/執(zhí)行工作人員模式并返回下一個(gè)操作int LoginModel();bool Login(User* user);int LoginModel()LabelStartLogin:fresh();cout << "歡迎使用圖書(shū)管理系統(tǒng)" << endl;cout << "-" << endl;cout << "
31、請(qǐng)選擇登陸模式:" << endl<< "1) 讀者登陸" << endl<< "2) 管理員登陸" << endl<< "3) 工作人員登陸" << endl<< "4) 退出圖書(shū)管理系統(tǒng)" << endl<< "請(qǐng)輸入選擇(1,2,3,4). "int choice; cin >> choice;if (!(choice >= 1 &&a
32、mp; choice <=4)cout << endl << "*您輸入的選擇有誤!*"system("pause");goto LabelStartLogin;return choice;Statue AdminModel(LAdmin* admin)fresh();cout << "歡迎登陸圖書(shū)管理系統(tǒng)(管理員模式)" << endl<< "-" << endl<< "1) 添加用戶(hù)" <<
33、 endl<< "2) 刪除用戶(hù)" << endl<< "3) 查詢(xún)圖書(shū)" << endl<< "4) 添加圖書(shū)" << endl<< "5) 刪除圖書(shū)" << endl<< "6) 查看所有圖書(shū)" << endl<< "7) 查看所有用戶(hù)" << endl<< "8) 注銷(xiāo)登錄" << e
34、ndl<< "9) 退出系統(tǒng)" << endl<< "請(qǐng)輸入選擇."int choice; cin >> choice;if (choice = 1)/添加用戶(hù)LabelAddUser:if (admin->AddMember()int _choice;cout << "您可以1)繼續(xù)添加2)返回. " cin >> _choice;if (_choice = 1) goto LabelAddUser;else AdminModel(admin);else
35、if (choice = 2)/刪除用戶(hù)int _choice;string no;User* todelete = NULL;LabelDeleteUser:cout << "請(qǐng)輸入要?jiǎng)h除的用戶(hù)類(lèi)型(1.管理員2.讀者3.工作人員)." cin >> _choice;if (!(_choice >= 1 && _choice <= 3)cout << "您的輸入有誤!" << endl;system("pause");goto LabelDeleteUser
36、;elsecout << "請(qǐng)輸入要?jiǎng)h除的用戶(hù)序號(hào). " cin >> no;if (_choice = 1) todelete = new LAdmin(no);else if (_choice = 2) todelete = new BookReader(no);else if (_choice = 3) todelete = new Worker(no);admin->deleteMember(todelete, todelete->getType();if (todelete != NULL) delete todelete;co
37、ut << "您可以1)繼續(xù)刪除2)返回. "cin >> _choice;if (_choice = 1) goto LabelDeleteUser;else AdminModel(admin);else if (choice = 3)string bno;LabelSearchBook:admin->searchBook();int _choice;cout << "您可以1)繼續(xù)查詢(xún)2)返回. " cin >> _choice;if (_choice = 1) goto LabelSearchB
38、ook;else AdminModel(admin);else if (choice =4)LabelAddBook:admin->AddBook();cout << "您可以1)繼續(xù)添加2)返回. "int _choice;cin >> _choice;if (_choice = 1) goto LabelAddBook;else AdminModel(admin);else if (choice = 5)/刪除圖書(shū)string no;LabelDeleteBook:cout << "請(qǐng)輸入要?jiǎng)h除的圖書(shū)序號(hào). "
39、; cin >> no;admin->DeleteBook(&Book(no);cout << "您可以1)繼續(xù)刪除2)返回. "int _choice;cin >> _choice;if (_choice = 1) goto LabelDeleteBook;else AdminModel(admin);else if (choice = 6)/查詢(xún)所有圖書(shū)admin->showAllBooks();else if (choice = 7)/查詢(xún)所有用戶(hù)admin->showAllMembers();else i
40、f (choice = 8)/注銷(xiāo)用戶(hù)return OFFLOGIN;else if (choice = 9) return EXIT;/退出系統(tǒng)系統(tǒng)else/錯(cuò)誤選擇重新開(kāi)始cout << "*您輸入的選擇有誤!*" << endl;system("pause");AdminModel(admin);cout << endl << "1)返回菜單2)注銷(xiāo)登錄3)退出系統(tǒng)請(qǐng)選擇. " cin >> choice;switch(choice)case 2:return OFFL
41、OGIN;break;case 3:return EXIT;break;default:AdminModel(admin);break;return OFFLOGIN;Statue ReaderMedol(BookReader* reader)fresh();cout << "歡迎登陸圖書(shū)管理系統(tǒng)(讀者模式)" << endl<< "-" << endl<< "1) 查詢(xún)圖書(shū)" << endl<< "2) 借閱信息" <<
42、; endl<< "3) 修改密碼" << endl<< "4) 注銷(xiāo)登錄" << endl<< "5) 退出系統(tǒng)" << endl<< "請(qǐng)輸入選擇."int choice; cin >> choice;if (choice = 1)/查詢(xún)圖書(shū)int _choice;LabelSearchBook:reader->searchBook();cout << "您可以1)繼續(xù)查詢(xún)2)返回. &q
43、uot; cin >> _choice;if (_choice = 1) goto LabelSearchBook;else ReaderMedol(reader);else if (choice = 2)/顯示信息reader->showInfo();system("pause");ReaderMedol(reader);else if (choice = 3)/修改密碼LabelRePassWord:if(reader->resetPassWord()system("pause");ReaderMedol(reader);el
44、seint _choice;cout << "您可以1)重試2)返回. " cin >> _choice;if (_choice = 1) goto LabelRePassWord;else ReaderMedol(reader);else if (choice = 4) return OFFLOGIN;else if (choice = 5) return EXIT;else ReaderMedol(reader);return OFFLOGIN;Statue WorkerMedol(Worker* worker)fresh();cout <
45、< "歡迎登陸圖書(shū)管理系統(tǒng)(工作人員模式)" << endl<< "-" << endl<< "1) 查詢(xún)圖書(shū)" << endl<< "2) 查詢(xún)讀者" << endl<< "3) 借書(shū)模式" << endl<< "4) 還書(shū)模式" << endl<< "5) 注銷(xiāo)登錄" << endl<&
46、lt; "6) 退出系統(tǒng)" << endl<< "請(qǐng)輸入選擇."int choice; cin >> choice;if (choice = 1)/查詢(xún)圖書(shū)int _choice;LabelSearchBook:worker->searchBook();cout << "您可以1)繼續(xù)查詢(xún)2)返回. " cin >> _choice;if (_choice = 1) goto LabelSearchBook;else WorkerMedol(worker);else i
47、f (choice = 2)/查詢(xún)讀者string rno;LabelSearchReader:cout << "請(qǐng)輸入您要查詢(xún)的讀者序號(hào). "cin >> rno;BookReader* reader = new BookReader(rno);if (!reader->isExisted()delete reader;cout << "*您所查詢(xún)的讀者不存在!*" << endl << endl;int _choice;cout << "您可以1)繼續(xù)查詢(xún)2)返回. " cin >> _choice;if (_choice = 1) goto LabelSearchReader;else WorkerMedol(worker);elsew
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東酒店管理職業(yè)技術(shù)學(xué)院《客艙服務(wù)操作與管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東建設(shè)職業(yè)技術(shù)學(xué)院《電子商務(wù)企業(yè)運(yùn)營(yíng)沙盤(pán)實(shí)訓(xùn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東海洋大學(xué)《證券與投資》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東東軟學(xué)院《大數(shù)據(jù)處理與智能決策》2023-2024學(xué)年第一學(xué)期期末試卷
- 《課件工傷保險(xiǎn)》課件
- SWOT分析培訓(xùn)課件
- 《經(jīng)濟(jì)型連鎖酒店》課件
- 贛州師范高等專(zhuān)科學(xué)?!督逃龜?shù)據(jù)挖掘理論與實(shí)踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛東學(xué)院《生物工程進(jìn)展與創(chuàng)業(yè)指導(dǎo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 七年級(jí)科學(xué)上冊(cè)10.1.1身體降的標(biāo)志學(xué)案無(wú)答案牛津上海版
- 江西省景德鎮(zhèn)市2023-2024學(xué)年高二上學(xué)期1月期末質(zhì)量檢測(cè)數(shù)學(xué)試題 附答案
- 2024年辦公樓衛(wèi)生管理制度模版(3篇)
- 船舶防火與滅火(課件)
- 保險(xiǎn)公司2024年工作總結(jié)(34篇)
- 七、監(jiān)理工作重點(diǎn)、難點(diǎn)分析及對(duì)策
- 2024年01月22503學(xué)前兒童健康教育活動(dòng)指導(dǎo)期末試題答案
- 面膜中藍(lán)銅肽經(jīng)皮滲透性和改善皮膚衰老作用研究
- 湖北省荊州市八縣市2023-2024學(xué)年高一上學(xué)期1月期末考試 化學(xué) 含解析
- 2024年世界職業(yè)院校技能大賽中職組“嬰幼兒保育組”賽項(xiàng)考試題庫(kù)-上(單選題)
- 《水文化概論》全套教學(xué)課件
- 期末測(cè)評(píng)(基礎(chǔ)卷二)-2024-2025學(xué)年一年級(jí)上冊(cè)數(shù)學(xué)人教版
評(píng)論
0/150
提交評(píng)論