freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

圖書管理系統(tǒng)報(bào)告數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)c語言-在線瀏覽

2025-07-16 22:32本頁面
  

【正文】 封裝在不同的類中。 數(shù)據(jù)結(jié)構(gòu) CBook 類 CBook 類用來存儲(chǔ)圖書的信息,數(shù)據(jù)成員有圖書編號、圖書名稱、出版社、出版日期、作者和庫存量。 CBookNode 類 CBookNode 類有兩個(gè)數(shù)據(jù)成員: BookInfor 和 Next; BookInfor 是 CBook 類型的, Next 是 CBookNode 型的指針。該類是圖書鏈表的節(jié)點(diǎn)。 CBookBorrowed 類 CBookBorrowed 類保存用戶已借圖書的信息,數(shù)據(jù)成員有 CBook BookInfor,CTime BorrowDate 和 CTime ReturnDate。 成 員 函 數(shù) 是 void BookBorrowedInput(CBookBorrowed bookborrowed),將 bookborrowed 的數(shù)據(jù)賦給當(dāng)前對象。數(shù)據(jù)成員有CBookNode BookHead, BookHead 是鏈表的頭節(jié)點(diǎn),不存儲(chǔ)圖書信息。 CUser 類 CUser 類存儲(chǔ)用戶信息,是 CAdmim類和 CReader 類的基類。 Borrowed 是一個(gè) CBookBorrowed 類的數(shù)組,保存用戶借閱的圖書,Returned 是一個(gè) CBookNode 類的數(shù)組,存儲(chǔ)用戶已歸還的圖書。該類的成員函數(shù)有 void UserInput(char *id,char *name,char *password,int role), virtual void Login( ), void SearchBook( ), virtual void AlterUser( ), virtual void SearchBorrowed( ), virtual void SearchReturned( )。 CAdmin 的成員數(shù)據(jù)從 CUser類繼承。 CReader 類 CReader 類是 CUser 類的子類,數(shù)據(jù)成員直接繼承于 CUser。 CReaderLinkList 類 該類是帶頭節(jié)點(diǎn)的用戶鏈表,用來存儲(chǔ)所有用戶的信息。 程序模塊 管理員功能模塊 用戶功能模塊 管 理 員 登 錄 添加圖書 修改圖書信息 刪除圖書 添加用戶 修改用戶信息 刪除用戶 已借圖書查詢 已還圖書查詢 借 書 還 書 普 通 用 戶 登 錄 修改用戶信息 已借圖書查詢 已還圖書查詢 圖書續(xù)借 主程序流程圖及各模塊聯(lián)系 用戶登錄 退 出 普通用戶 管 理 員 用戶角色 Role 開 始 主 菜 單 操作編號 num 第三章 詳細(xì)設(shè)計(jì) CBook 類 1. 數(shù)據(jù)成員 ( 1) BookID:圖書編號, char 字符數(shù)組,最大為 10 ( 2) BookName:圖書名稱, char 型字符數(shù)組,圖書名稱最多 10 個(gè)漢字 ( 3) Press:出版社, char 型字符數(shù)組,出版社最多 10 個(gè)漢字 ( 4) PressDate:出版日期, char 型字符數(shù)組,可存儲(chǔ) 11個(gè)字符 ( 5) Writer:作者, char 型字符數(shù)組,作者名字最多 5 個(gè)漢字 ( 6) Count:庫存量, int型; 2. 成員函數(shù) ( 1) 構(gòu)造函數(shù) CBook() 該函數(shù)用于對象的的初始化,新生成一個(gè)對象時(shí) ,自動(dòng)調(diào)用該函數(shù)。 CBook::CBook() { strcpy(BookID,000000)。 //數(shù)量初始化為 1 } ( 2) Void Input(CBook book) 該函數(shù)將一個(gè) CBook 對象 book 的值賦給當(dāng)前對象 。 strcpy(BookName,)。 strcpy(PressDate,)。 Count=。 void CBook::Output()//輸出圖書信息 { coutthisBookIDthisBookName thisPressthisPressDatethisWriter thisCount 。 ( 2) Next: CBookNode 型指針 。 CBookBorrowed 類 1. 數(shù)據(jù)成員 ( 1) BookInfor:圖書信息, CBook 類; ( 2) BorrowDate:借書時(shí)間, CTime 類型 。該函數(shù)是把 bookborrowed對象的值賦給當(dāng)前對象。 ( 2) CBookNode * FindBook(char *str) 該函數(shù)根據(jù) str 字符串來查詢圖書,并返回所查詢圖書的信息。amp。//返回查詢的圖書信息 break。 } ( 3) void BLLInsert(CBookNode *booknode) 該函數(shù)是在圖書鏈表中插入一個(gè)節(jié)點(diǎn), booknode 是 CBookNode 類型的指針。//空鏈表,直接插入 else { booknodeNext=this。 } CUser 類 1. 數(shù)據(jù)成員 ( 1) ID:用戶編號,字符數(shù)組,大小為 10 ( 2) Name:用戶姓名,字符數(shù)組,大小為 10 ( 3) Password:登錄密碼,字符數(shù)組,大小為 10 ( 4) Role:用戶角色,整型; Role=1,表示管理員; Role=2,表示普通用戶。 ( 6) Returned:已還圖書, CBookNode 類的指針 ( 7) Next:下一個(gè)用戶, CUser 類的指針。 ( 2) Void SearchBook( ) 管理員和普通用戶都需要進(jìn)行圖書查詢,因此將該函數(shù)定義在 CUser 類中。函數(shù)主要代碼如下: switch (num) { case 1: { cout請輸入圖書編號: 。 LibraryLSearchBook(str)。 } case 2: {cout請輸 入圖書名稱: 。 LibraryLSearchBook(str)。 } case 3: { cout請輸入出版社: 。 LibraryLSearchBook(str)。 } case 4: { cout請輸入圖書作者: 。 LibraryLSearchBook(str)。 } case 5: thisLogin()。break。 ( 4) virtual void SearchBorrowed( ) 該函數(shù)用來查詢已經(jīng)借閱讀圖書。 ( 6) void UserOutput( ) 輸出讀者的信息,函數(shù)主要代碼如下: 輸出已經(jīng)借閱的圖書: for(int i=0。amp。i++) { thisBorrowed[i].()。 } 輸出已經(jīng)歸還的圖書: while(temp!=NULL) { temp()。 temp=tempNext。主要代碼如下: while(usertemp!=NULL) //依次查詢用戶鏈表 { if(strcmp(usertempID,id)==0) {return usertemp。 } return usertemp。 ( 8) Void UserRead( ) 把用戶信息從文件中讀出來,主要代碼如下: (,ios::in|ios::binary)。 abort()。//一次讀一個(gè)用戶信息 temp=new CUser。//關(guān)閉文件 ( 9) Void UserWrite( ) 該函數(shù)將讀者信息保存到文件,主要代碼如下: (,ios::out|ios::binary)。 abort()。//寫 CUser 到文件 temp=tempNext。 //關(guān)閉文件 CAdmin 類 1. 數(shù)據(jù)成員 CAdmin 類的數(shù)據(jù)成員全部繼承于 CUser 類。 ( 2) void AddUser( ) 該函數(shù)的功能是添加用戶,包括管理員和普通用戶。 //輸入用戶信息 if(tempNext==NULL) //空鏈表,直接插入 { tempNext=user。 //非空,頭插法 tempNext=user。管理員通過用戶編號刪除用戶。 //找到用戶,刪除 cout用戶刪除成功 !endl。 } else { //未找到,查找下一個(gè)節(jié)點(diǎn) pre=previous。 } } ( 4) void AddBook( ) 添加圖書,如果所選圖書已存在,則修改圖書庫存量;如果不存在,則是新書入庫,存儲(chǔ)相關(guān)的信息。 cout 該圖 書 已 存 在 , 現(xiàn) 在 庫 存 總 量 為Tempendl。 } else Temp=TempNext。 Library=booknode。 } ( 5) void DeleteBook( ) 刪除圖書,管理員根據(jù)實(shí)際情況可以刪除圖書。該函數(shù)主要代碼如下: while(Temp!=NULL) //查找圖書,找到則輸出圖書原始信息 { if(strcmp(Temp,str)==0) { cout所查圖書的原始信息如下 :endl。 coutTemp\tTemp\tTemp\tTempTempTempendl。 } else Temp=TempNext。 else { cout是否要修改 ? endl。 if(num==1) { cout請依次輸入圖書信息 :endl。 cinTempTempTempTempTempiterTemp。 } else {}。函數(shù)的算法和 AlterBook()基本一致。 else if(booknodetemp==NULL) cout暫時(shí)沒有該用戶的歸還記錄 !endl。 while(booknodetemp!=NULL) //查找圖書 { booknodetemp()。 booknodetemp=booknodetempNext。(i10)amp。(strcmp(userBorrowed[i].,000000)!=0)。 userBorrowed[i].()。 } if(i==0) {cout該用戶暫未借書 !endl。 ( 10) void Borrow()圖書借閱,本設(shè)計(jì)中所有圖書的借閱都是通過管理員來實(shí)現(xiàn)的,借閱圖書時(shí)需要輸入用戶編號 和圖書編號,主要代碼如下: CurrentTime=()。i10。//存入圖書 tempBorrowed[i].BorrowDate=CurrentTime。 //借閱時(shí)間為 60天 FindBook。 break。} //圖書數(shù)量限制 } else {cout所要借的圖書不存在,請重新輸入 !endl。 ( 11) void Return( ) 同樣系統(tǒng)中所有圖書的歸還也是通過管理員來操作的,也需要輸入用戶編號和圖書編號,主要代碼如下: if(user!=NULL) //找到用戶 { for(int i=0。i++) if(strcmp(userBorrowed[i].,booknodeokID)==0) { booknodeBNCopy(userBorrowed[i].BookInfor)。//空鏈,直接插入 else { booknodeNext=userReturnedNext。 } cout圖書歸還成功 !endl。j9。 else break。 } } booknode++。 CReader 類 1. 數(shù)據(jù)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1