版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第三章圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 3.1系統(tǒng)的需求分析 圖書登記管理系統(tǒng)作為一個(gè)應(yīng)用軟件將為學(xué)校的老師和學(xué)生提 供一個(gè)對(duì)學(xué)校圖書館深入了解并借閱、還書的平臺(tái)。根據(jù)系統(tǒng)界 面的提示信息對(duì)圖書館信息進(jìn)行查詢、初始化等操作 系統(tǒng)功能需求分析描述如下: (1 )系統(tǒng)主菜單:進(jìn)入系統(tǒng)和退出系統(tǒng) (2 )功能菜單:顯示可以進(jìn)行的操作 (3 )查詢主菜單:根據(jù)圖書編號(hào)、書名、作者進(jìn)行查詢,并可顯 示所有圖書信息 (4 )借還書主菜單:可以進(jìn)行借書和還書等操作 3.2系統(tǒng)的設(shè)計(jì) 3.2.1系統(tǒng)的總統(tǒng)設(shè)計(jì) 下面從系統(tǒng)的整體流程的功能模塊、系統(tǒng)界面及數(shù)據(jù)結(jié)構(gòu)進(jìn) 行總體設(shè)計(jì)。 (1)總體思想 本系統(tǒng)主要設(shè)計(jì)思想是實(shí)現(xiàn)
2、圖書館的功能機(jī)管理系統(tǒng)信息 的查詢、借書、還書等主要功能。系統(tǒng)的設(shè)計(jì)方法是結(jié)構(gòu)化實(shí)際 方法,系統(tǒng)用C語言進(jìn)行開發(fā)用戶可以清晰的了解圖書館內(nèi)的情 況。 (2 )系統(tǒng)模塊結(jié)構(gòu)圖 根據(jù)需求分析結(jié)果,圖書管理系統(tǒng)可以分為三大模塊:查詢 圖書模塊、借書功能模塊、還書功能模塊。 系統(tǒng)模塊結(jié)構(gòu)如圖 3.2.2系統(tǒng)的概要設(shè)計(jì) 系統(tǒng)主菜單。 顯示系統(tǒng)的主菜單,里面有相應(yīng)的功能代碼,根據(jù)選擇各功 能代碼進(jìn)入不同的界面。功能主要包括:退出系統(tǒng)、查詢圖書、 借書、還書。 查詢圖書信息 進(jìn)入此菜單功能模塊,輸入您要查詢的圖書的編號(hào)、名字、 作者等。 圖書查詢模塊流程如圖: 退出系統(tǒng) 3.3測(cè)試結(jié)果 系統(tǒng)主界面 C:Us
3、e rslenovoDesktopDebugCppl.exe 歡迎使用圖書管理系統(tǒng) word教育資料 丄進(jìn)入系統(tǒng) 心退岀系統(tǒng) MW 請(qǐng)選擇 功能菜單 查詢系統(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(沒有找到文件,請(qǐng)檢查); p=(l ink *)malloc(sizeof(li nk); if(p=NULL) printf(申請(qǐng)內(nèi)存出錯(cuò)! ! 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(申請(qǐng)內(nèi)存出錯(cuò)! ! 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.進(jìn)入系統(tǒng)0. 退出系統(tǒng) *n); *n); prin tf(n * *n); prin tf(n請(qǐng)選擇); void men u1() prin tf(n * *n); prin tf(n*1. 進(jìn)入圖書查詢系統(tǒng) *n); prin tf(n* 2. 進(jìn)入圖書借還系統(tǒng) *n); prin tf(n* 3. 保存所有圖書信息 *n); prin tf(n* 4. 返回上級(jí)菜單 *n); prin tf(n * *n); prin tf(n請(qǐng)選擇)
7、; void cxme nu() prin tf(n* 1. 顯示所有圖書信息 *n); prin tf(n* 2. 按編號(hào)查詢圖書 *n); prin tf(n* 3. 按書名查詢圖書 *n); prin tf(n* 4. 按作者查詢圖書 *n); prin tf(n* 5. 返回上級(jí)菜單 *n); prin tf(n * *n); prin tf(n * prin tf(n請(qǐng)選擇); void jhme nu() prin tf(n* 1. 借書 *n); prin tf(n* 2. 還書 *n); prin tf(n* 3. 返回上級(jí)菜單 *n); prin tf(n * *n); pr
8、in tf(n * *n); prin tf(n請(qǐng)選擇); void prin t(li nk *head) link *p; p=head; prin tf(n); prin tf(n * * *n); prin tf(n編號(hào)tt 書名tt 作者tt 出版社tt出版時(shí) 間tt 價(jià)格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(”文件操作出錯(cuò)! !); 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編號(hào)tt 書名tt 作者tt 出版社tt 出 版時(shí)間tt價(jià)格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(請(qǐng)輸入圖書的編號(hào):); 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(請(qǐng)輸入圖書的書名:); 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(請(qǐng)輸入作者姓名:); 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(申請(qǐng)內(nèi)存出錯(cuò)!); 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= 在庫(kù),ch2100= 不在庫(kù) h=head; * *n) printf(tt歡迎使用借書系統(tǒng)!!n); p=fi ndboook name(h); if(p=NULL) printf(借書失敗,書庫(kù)中沒有這本書! !); else if(strcmp(p-status,ch2)=0) printf(借書失敗,圖書不在庫(kù)! !); else printf(確認(rèn)借出? Y/N:); sca nf(%c, getchar(); if(ch=Y|ch=y) strcp
17、y(p-status,ch2); printf(借書成功,請(qǐng)返回上級(jí)菜單保存信息!!!); if(ch=N|ch= n) printf(”你沒有借任何書!); retur n head; link *retur nbook(l ink *head) link *h,*p; char ch,ch1100= 在庫(kù),ch2100= 不在庫(kù) h=head; prin tf(n * *n); * printf(tt歡迎使用還書系統(tǒng)!!n); p=fi ndboook name(h); if(p=NULL) printf(還書失敗,這不是本書庫(kù)的書! !); else printf(確認(rèn)還書? Y/N:)
18、; scan f(%c, getchar(); if(ch=Y|ch=y) strcpy(p-status,ch1); printf(還書成功,請(qǐng)返回上級(jí)菜單保存信息!!); 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編號(hào) tt 書名 tt 作者 tt tt出版時(shí)間tt 價(jià)格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編號(hào) tt 書名 tt 作者 tt tt出版時(shí)間tt 價(jià)格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編號(hào)tt 書名tt 作者tt 出版社 tt出版時(shí)間tt 價(jià)格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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年國(guó)勞動(dòng)合同法
- 自動(dòng)門購(gòu)銷合同
- 分期付款買賣合同范本2025年
- 國(guó)有土地租賃協(xié)議合同模板2025年
- 楊氏雙縫干涉課程設(shè)計(jì)
- 驗(yàn)證和認(rèn)證服務(wù)合作協(xié)議
- 社保繳納補(bǔ)充協(xié)議(2025年)
- 歌曲課程設(shè)計(jì)摘要
- 合伙買廠房合同3篇
- 保密合同協(xié)議的違約責(zé)任3篇
- 供水突發(fā)事件應(yīng)急預(yù)案
- 世界文化遺產(chǎn)-樂山大佛課件
- 任人處置的作文完整的
- 用工申請(qǐng)單(標(biāo)準(zhǔn)模版)
- 《護(hù)理臨床帶教》課件
- 企業(yè)信息安全意識(shí)培訓(xùn)課件
- 公安派出所建筑外觀形象設(shè)計(jì)規(guī)范1
- 大氣課設(shè)-酸洗廢氣凈化系統(tǒng)
- 2023年1月福建省普通高中學(xué)生學(xué)業(yè)基礎(chǔ)會(huì)考地理試題
- 調(diào)機(jī)品管理規(guī)定
- 2022年中等職業(yè)學(xué)校公共藝術(shù)課程教學(xué)大綱
評(píng)論
0/150
提交評(píng)論