




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第三章圖書管理系統(tǒng)的設(shè)計與實現(xiàn) 3.1系統(tǒng)的需求分析 圖書登記管理系統(tǒng)作為一個應(yīng)用軟件將為學(xué)校的老師和學(xué)生提 供一個對學(xué)校圖書館深入了解并借閱、還書的平臺。根據(jù)系統(tǒng)界 面的提示信息對圖書館信息進行查詢、初始化等操作 系統(tǒng)功能需求分析描述如下: (1 )系統(tǒng)主菜單:進入系統(tǒng)和退出系統(tǒng) (2 )功能菜單:顯示可以進行的操作 (3 )查詢主菜單:根據(jù)圖書編號、書名、作者進行查詢,并可顯 示所有圖書信息 (4 )借還書主菜單:可以進行借書和還書等操作 3.2系統(tǒng)的設(shè)計 3.2.1系統(tǒng)的總統(tǒng)設(shè)計 下面從系統(tǒng)的整體流程的功能模塊、系統(tǒng)界面及數(shù)據(jù)結(jié)構(gòu)進 行總體設(shè)計。 (1)總體思想 本系統(tǒng)主要設(shè)計思想是實現(xiàn)
2、圖書館的功能機管理系統(tǒng)信息 的查詢、借書、還書等主要功能。系統(tǒng)的設(shè)計方法是結(jié)構(gòu)化實際 方法,系統(tǒng)用C語言進行開發(fā)用戶可以清晰的了解圖書館內(nèi)的情 況。 (2 )系統(tǒng)模塊結(jié)構(gòu)圖 根據(jù)需求分析結(jié)果,圖書管理系統(tǒng)可以分為三大模塊:查詢 圖書模塊、借書功能模塊、還書功能模塊。 系統(tǒng)模塊結(jié)構(gòu)如圖 3.2.2系統(tǒng)的概要設(shè)計 系統(tǒng)主菜單。 顯示系統(tǒng)的主菜單,里面有相應(yīng)的功能代碼,根據(jù)選擇各功 能代碼進入不同的界面。功能主要包括:退出系統(tǒng)、查詢圖書、 借書、還書。 查詢圖書信息 進入此菜單功能模塊,輸入您要查詢的圖書的編號、名字、 作者等。 圖書查詢模塊流程如圖: 退出系統(tǒng) 3.3測試結(jié)果 系統(tǒng)主界面 C:Us
3、e rslenovoDesktopDebugCppl.exe 歡迎使用圖書管理系統(tǒng) word教育資料 丄進入系統(tǒng) 心退岀系統(tǒng) MW 請選擇 功能菜單 查詢系統(tǒng)菜單 叵J |C:U se r?lenovoDei ktopDe bu gC ppl2. exe 借還系統(tǒng)菜單 3.4源代碼 # in elude # in elude # in elude typedef struct link char number100; char bookname100; char author100; char publish100; char time100; float price; char status
4、100; struct link *n ext; li nk; link *Cbook() int n=0; link *p,*q,*head; FILE *fp; fp=fopen(圖書信息.txt,葉); if(fp=NULL) printf(沒有找到文件,請檢查); p=(l ink *)malloc(sizeof(li nk); if(p=NULL) printf(申請內(nèi)存出錯! ! n); fsca nf(fp,%s%s%s%s%s,p-nu mber,p-book name,p-author,p -publish,p-time); fsca nf(fp,%f, fsca nf(fp
5、,%s,p-status); while(feof(fp)=0) n+; if(n=1) head=p; else q=p; p=(l ink *)malloc(sizeof(li nk); if(p=NULL) printf(申請內(nèi)存出錯! ! n); fsca nf(fp,%s%s%s%s%s,p-nu mber,p-book name,p-author,p -publish,p-time); fsca nf(fp,%f, fsca nf(fp,%s,p-status); q-n ext=p; p- next=NULL; fclose(fp); printf( 信息已錄入!); retur
6、 n head; void mainmenu() prin tf(n * *n); prin tf(n* 歡迎使用圖書管理系統(tǒng) prin tf(n*1.進入系統(tǒng)0. 退出系統(tǒng) *n); *n); prin tf(n * *n); prin tf(n請選擇); void men u1() prin tf(n * *n); prin tf(n*1. 進入圖書查詢系統(tǒng) *n); prin tf(n* 2. 進入圖書借還系統(tǒng) *n); prin tf(n* 3. 保存所有圖書信息 *n); prin tf(n* 4. 返回上級菜單 *n); prin tf(n * *n); prin tf(n請選擇)
7、; void cxme nu() prin tf(n* 1. 顯示所有圖書信息 *n); prin tf(n* 2. 按編號查詢圖書 *n); prin tf(n* 3. 按書名查詢圖書 *n); prin tf(n* 4. 按作者查詢圖書 *n); prin tf(n* 5. 返回上級菜單 *n); prin tf(n * *n); prin tf(n * prin tf(n請選擇); void jhme nu() prin tf(n* 1. 借書 *n); prin tf(n* 2. 還書 *n); prin tf(n* 3. 返回上級菜單 *n); prin tf(n * *n); pr
8、in tf(n * *n); prin tf(n請選擇); void prin t(li nk *head) link *p; p=head; prin tf(n); prin tf(n * * *n); prin tf(n編號tt 書名tt 作者tt 出版社tt出版時 間tt 價格tt 狀態(tài)n); while(p!=NULL) prin tf(n); prin tf(%st%st%st%st%s,p- number,p-book name,p- author,p-publish,p-time); prin tf(tt%.2f,p-price); prin tf(tt%s,p-status);
9、 prin tf(n); p=p-n ext; void hold(li nk *head) link *p; FILE *fp; fp=fopen(圖書信息.txt,w+); if(fp=NULL) printf(”文件操作出錯! !); exit(1); p=head; for(;p!=NULL;p=p-n ext) fprin tf(fp,%st%st%st%st%s,p- nu mber,p-book nam e,p-author,p-publish,p-time); fprin tf(fp,tt%.2f,p-price); fprin tf(fp,tt%s,p-status); fp
10、rin tf(fp,n); fclose(fp); prin tf(信息已保存。); void holdcx(li nk *t) link *p=NULL; FILE *fp; fp=fopen(” 查詢.txt,a+); p=t; fprin tf(fp,查詢到的信息為:n); fprin tf(fp,n); H r * * *n); fprin tf(fp,n編號tt 書名tt 作者tt 出版社tt 出 版時間tt價格tt狀態(tài)n); fprin tf(fp,n); fprin tf(fp,%st%st%st%st%s,p- nu mber,p-book nam e,p-author,p-p
11、ublish,p-time); fprin tf(fp,tt%.2f,p-price); fprin tf(fp,tt%s,p-status); fprin tf(fp,n); fclose(fp); printf(信息已保存!); link *findnu mber(l ink *head) char key100; link *h,*t 1= NULL; printf(請輸入圖書的編號:); getchar(); gets(key); for(h=head;h!=NULL;h=h- next) if(strcmp(key,h-nu mber)=0) t仁h; return t1; link
12、 *fin dboook name(li nk *head) char key100; link *h,*t2=NULL; printf(請輸入圖書的書名:); getchar(); gets(key); for(h=head;h!=NULL;h=h- next) if(strcmp(key,h-book name)=0) t2=h; return t2; link *fin dauthor(li nk *head) char key100; link *h,*t3=NULL; prin tf(請輸入作者姓名:); getchar(); gets(key); for(h=head;h!=NUL
13、L;h=h- next) if(strcmp(key,h-author)=0) t3=h; break; word教育資料 return t3; link *sort nu mber(l ink *head) link *p,*q,*temp; temp=(l ink *)malloc(sizeof(li nk); if(temp=NULL) prin tf(申請內(nèi)存出錯!); exit(1); for(p=head;p!=NULL;p=p-n ext) for(q=p-n ext;q!=NULL;q=q-n ext) if(strcmp(p-nu mber,q-nu mber)0) strc
14、py(temp-nu mber,p-nu mber); strcpy(temp-book name,p-book name); strcpy(temp-author,p-author); strcpy(temp-publish,p-publish); strcpy(temp-time,p-time); temp-price=p-price; strcpy(temp-status,p-status); strcpy(p-nu mber,q-nu mber); strcpy(p-book name,q-book name); strcpy(p-author,q-author); strcpy(p-
15、publish,q-publish); strcpy(p-time,q-time); p-price=q-price; strcpy(p-status,temp-status); strcpy(q-nu mber,temp-nu mber); strcpy(q-book name,temp-book name); strcpy(q-author,temp-author); strcpy(q-publish,temp-publish); strcpy(q-time,temp-time); q-price=temp-price; strcpy(q-status,temp-status); retu
16、r n head; link *borrowbook(li nk *head) link *h,*p; char ch,ch1100= 在庫,ch2100= 不在庫 h=head; * *n) printf(tt歡迎使用借書系統(tǒng)!!n); p=fi ndboook name(h); if(p=NULL) printf(借書失敗,書庫中沒有這本書! !); else if(strcmp(p-status,ch2)=0) printf(借書失敗,圖書不在庫! !); else printf(確認(rèn)借出? Y/N:); sca nf(%c, getchar(); if(ch=Y|ch=y) strcp
17、y(p-status,ch2); printf(借書成功,請返回上級菜單保存信息!!!); if(ch=N|ch= n) printf(”你沒有借任何書!); retur n head; link *retur nbook(l ink *head) link *h,*p; char ch,ch1100= 在庫,ch2100= 不在庫 h=head; prin tf(n * *n); * printf(tt歡迎使用還書系統(tǒng)!!n); p=fi ndboook name(h); if(p=NULL) printf(還書失敗,這不是本書庫的書! !); else printf(確認(rèn)還書? Y/N:)
18、; scan f(%c, getchar(); if(ch=Y|ch=y) strcpy(p-status,ch1); printf(還書成功,請返回上級菜單保存信息!!); if(ch=N|ch= n) prin tf(你沒有還書!); retur n head; void main() int a,b,c,d; link *h,*t; L:system(cls); mainmenu(); while(1) sca nf(%d, switch(a) case 1: B: system(cls); men u1(); while(1) sea nf(%d, switch(b) case 1:
19、system(cls); exme nu(); while(1) sea nf(%d, switch(c) case 1: prin t(h); break; case 2: t=fi ndnu mber(h); if(t=NULL) printf(沒有要查詢的圖書! !); if(t!=NULL) prin tf(查詢的圖書為:); prin tf(n); prin tf(n * *n) 出版社 prin tf(n編號 tt 書名 tt 作者 tt tt出版時間tt 價格tt 狀態(tài)n); prin tf(n); prin tf(%st%st%st%st%s,t- nu mber,t-book
20、 name,t- author,t-publish,t-time); prin tf(tt%.2f,t-price); prin tf(tt%s,t-status); prin tf(n); break; case 3: t=fin dboook name(h); if(t=NULL) printf(沒有要查詢的圖書! !); if(t!=NULL) prin tf( 查詢的圖書為:); prin tf(n); prin tf(n * *n) 出版社 prin tf(n編號 tt 書名 tt 作者 tt tt出版時間tt 價格tt 狀態(tài)n); prin tf(n); prin tf(%st%s
21、t%st%st%s,t- nu mber,t-book name,t- author,t-publish,t-time); prin tf(tt%.2f,t-price); prin tf(tt%s,t-status); prin tf(n); break; case 4: t=fi ndauthor(h); if(t=NULL) printf(沒有要查詢的圖書! !); if(t!=NULL) prin tf(查詢的圖書為:); prin tf(n); prin tf(n * *n); word教育資料 prin tf(n編號tt 書名tt 作者tt 出版社 tt出版時間tt 價格tt 狀態(tài)
22、n); prin tf(n); prin tf(%st%st%st%st%s,t- nu mber,t-book name,t- author,t-publish,t-time); prin tf(tt%.2f,t-price); prin tf(tt%s,t-status); prin tf(n); break; case 5: goto B; break; case 2: system(cls); jhme nu(); while(1) sca nf(%d, switch(d) case 1: borrowbook(h); break; case 2: retur nbook(h); break; case 3: goto B; bre
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45401.2-2025人工智能計算設(shè)備調(diào)度與協(xié)同第2部分:分布式計算框架
- 碳酸飲料行業(yè)新興市場機會考核試卷
- 棉麻行業(yè)生產(chǎn)設(shè)備選型與評價考核試卷
- 環(huán)境監(jiān)測無人機技術(shù)應(yīng)用考核試卷
- 液力機械在游樂設(shè)施中的應(yīng)用考核試卷
- 碳超級電容器制造技術(shù)發(fā)展現(xiàn)狀考核試卷
- 漁業(yè)電子商務(wù)案例分析考核試卷
- 經(jīng)濟林樹種育種新技術(shù)考核試卷
- 武漢晴川學(xué)院《環(huán)境土壤學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧廣告職業(yè)學(xué)院《診斷學(xué)A》2023-2024學(xué)年第一學(xué)期期末試卷
- 定密培訓(xùn)課件
- 中醫(yī)護理方案的應(yīng)用
- 《馬克思主義原理》課件
- 新生兒常見導(dǎo)管護理
- 家政服務(wù)行業(yè)環(huán)保管理制度
- 完整的欠貨款協(xié)議書范文范本
- 2024年山東省濟寧市中考生物試題卷(含答案解析)
- 浙美版小學(xué)二年級下冊美術(shù)教學(xué)計劃及教案全冊
- 健合集團在線測評原題
- 公路工程標(biāo)準(zhǔn)施工招標(biāo)文件(2018年版)
- 個人理財-形考作業(yè)4(第8-9章)-國開(ZJ)-參考資料
評論
0/150
提交評論