C語(yǔ)言圖書(shū)管理系統(tǒng)課程設(shè)計(jì)論文_第1頁(yè)
C語(yǔ)言圖書(shū)管理系統(tǒng)課程設(shè)計(jì)論文_第2頁(yè)
C語(yǔ)言圖書(shū)管理系統(tǒng)課程設(shè)計(jì)論文_第3頁(yè)
C語(yǔ)言圖書(shū)管理系統(tǒng)課程設(shè)計(jì)論文_第4頁(yè)
C語(yǔ)言圖書(shū)管理系統(tǒng)課程設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第三章 圖書(shū)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)3.1系統(tǒng)的需求分析圖書(shū)登記管理系統(tǒng)作為一個(gè)應(yīng)用軟件將為學(xué)校的老師和學(xué)生提供一個(gè)對(duì)學(xué)校圖書(shū)館深入了解并借閱、還書(shū)的平臺(tái)。根據(jù)系統(tǒng)界面的提示信息對(duì)圖書(shū)館信息進(jìn)行查詢、初始化等操作系統(tǒng)功能需求分析描述如下:(1)系統(tǒng)主菜單:進(jìn)入系統(tǒng)和退出系統(tǒng) (2)功能菜單:顯示可以進(jìn)行的操作(3)查詢主菜單:根據(jù)圖書(shū)編號(hào)、書(shū)名、作者進(jìn)行查詢,并可顯示所有圖書(shū)信息(4)借還書(shū)主菜單:可以進(jìn)行借書(shū)和還書(shū)等操作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)圖書(shū)館的功能機(jī)管理系統(tǒng)信息的查詢

2、、借書(shū)、還書(shū)等主要功能。系統(tǒng)的設(shè)計(jì)方法是結(jié)構(gòu)化實(shí)際方法,系統(tǒng)用C語(yǔ)言進(jìn)行開(kāi)發(fā)用戶可以清晰的了解圖書(shū)館的情況。(2)系統(tǒng)模塊結(jié)構(gòu)圖根據(jù)需求分析結(jié)果,圖書(shū)管理系統(tǒng)可以分為三大模塊:查詢圖書(shū)模塊、借書(shū)功能模塊、還書(shū)功能模塊。系統(tǒng)模塊結(jié)構(gòu)如圖:圖書(shū)管理系統(tǒng)還書(shū)功能系統(tǒng)借書(shū)功能系統(tǒng)圖書(shū)管理主菜單圖書(shū)查詢系統(tǒng)3.2.2 系統(tǒng)的概要設(shè)計(jì)系統(tǒng)主菜單。顯示系統(tǒng)的主菜單,里面有相應(yīng)的功能代碼,根據(jù)選擇各功能代碼進(jìn)入不同的界面。功能主要包括:退出系統(tǒng)、查詢圖書(shū)、借書(shū)、還書(shū)。查詢圖書(shū)信息進(jìn)入此菜單功能模塊,輸入您要查詢的圖書(shū)的編號(hào)、名字、作者等。圖書(shū)查詢模塊流程如圖:開(kāi)始 提示輸入圖書(shū)編號(hào)、書(shū)名、作者輸入正確查詢否

3、是 重新輸入 是退出系統(tǒng) 否3.3 測(cè)試結(jié)果系統(tǒng)主界面功能菜單查詢系統(tǒng)菜單借還系統(tǒng)菜單3.4 源代碼# include <stdio.h># include <stdlib.h># include <string.h>typedef struct linkchar number100;char bookname100;char author100;char publish100;char time100;float price;char status100; struct link *next;link;link *Cbook()int n=0;link *

4、p,*q,*head;FILE *fp;fp=fopen("圖書(shū)信息.txt","r+");if(fp=NULL)printf("沒(méi)有找到文件,請(qǐng)檢查");p=(link *)malloc(sizeof(link);if(p=NULL)printf("申請(qǐng)存出錯(cuò)!n");fscanf(fp,"%s%s%s%s%s",p->number,p->bookname,p->author,p->publish,p->time);fscanf(fp,"%f"

5、,&p->price);fscanf(fp,"%s",p->status);while(feof(fp)=0)n+;if(n=1)head=p;elseq=p;p=(link *)malloc(sizeof(link);if(p=NULL)printf("申請(qǐng)存出錯(cuò)!n");fscanf(fp,"%s%s%s%s%s",p->number,p->bookname,p->author,p->publish,p->time);fscanf(fp,"%f",&p-

6、>price);fscanf(fp,"%s",p->status);q->next=p;p->next=NULL;fclose(fp);printf("信息已錄入!");return head;void mainmenu()printf("n*n");printf("n* 歡迎使用圖書(shū)管理系統(tǒng) *n");printf("n* 1.進(jìn)入系統(tǒng) 0.退出系統(tǒng) *n");printf("n*n");printf("n 請(qǐng)選擇");void

7、menu1()printf("n*n");printf("n* 1.進(jìn)入圖書(shū)查詢系統(tǒng) *n");printf("n* 2.進(jìn)入圖書(shū)借還系統(tǒng) *n");printf("n* 3.保存所有圖書(shū)信息 *n");printf("n* 4.返回上級(jí)菜單 *n");printf("n*n");printf("n請(qǐng)選擇");void cxmenu()printf("n*n"); printf("n* 1.顯示所有圖書(shū)信息 *n")

8、; printf("n* 2.按編號(hào)查詢圖書(shū) *n"); printf("n* 3.按書(shū)名查詢圖書(shū) *n"); printf("n* 4.按作者查詢圖書(shū) *n"); printf("n* 5.返回上級(jí)菜單 *n");printf("n*n"); printf("n請(qǐng)選擇");void jhmenu()printf("n*n");printf("n* 1.借書(shū) *n");printf("n* 2.還書(shū) *n");pri

9、ntf("n* 3.返回上級(jí)菜單 *n");printf("n*n");printf("n請(qǐng)選擇"); void print(link *head)link *p;p=head;printf("n");printf("n*n");printf("n編號(hào)tt書(shū)名tt作者tttt出版時(shí)間tt價(jià)格tt狀態(tài)n"); while(p!=NULL) printf("n");printf("%st%st%st%st%s",p->number,p

10、->bookname,p->author,p->publish,p->time);printf("tt%.2f",p->price);printf("tt%s",p->status);printf("n");p=p->next;void hold(link *head)link *p;FILE *fp;fp=fopen("圖書(shū)信息.txt","w+");if(fp=NULL)printf("文件操作出錯(cuò)!");exit(1);p=he

11、ad;for(;p!=NULL;p=p->next) fprintf(fp,"%st%st%st%st%s",p->number,p->bookname,p->author,p->publish,p->time);fprintf(fp,"tt%.2f",p->price);fprintf(fp,"tt%s",p->status);fprintf(fp,"n");fclose(fp);printf("信息已保存。");void holdcx(link

12、 *t)link *p=NULL;FILE *fp;fp=fopen("查詢.txt","a+");p=t;fprintf(fp,"查詢到的信息為:n");fprintf(fp,"n");fprintf(fp,"n*n");fprintf(fp,"n編號(hào)tt書(shū)名tt作者tttt出版時(shí)間tt價(jià)格tt狀態(tài)n");fprintf(fp,"n");fprintf(fp,"%st%st%st%st%s",p->number,p->bo

13、okname,p->author,p->publish,p->time);fprintf(fp,"tt%.2f",p->price);fprintf(fp,"tt%s",p->status);fprintf(fp,"n");fclose(fp);printf("信息已保存!");link *findnumber(link *head)char key100;link *h,*t1=NULL;printf("請(qǐng)輸入圖書(shū)的編號(hào):");getchar();gets(key

14、);for(h=head;h!=NULL;h=h->next) if(strcmp(key,h->number)=0) t1=h; break; return t1; link *findboookname(link *head)char key100;link *h,*t2=NULL;printf("請(qǐng)輸入圖書(shū)的書(shū)名:");getchar();gets(key);for(h=head;h!=NULL;h=h->next) if(strcmp(key,h->bookname)=0) t2=h; break; return t2;link *finda

15、uthor(link *head)char key100;link *h,*t3=NULL;printf("請(qǐng)輸入 ");getchar();gets(key);for(h=head;h!=NULL;h=h->next) if(strcmp(key,h->author)=0) t3=h; break; return t3;link *sortnumber(link *head)link *p,*q,*temp; temp=(link *)malloc(sizeof(link); if(temp=NULL) printf("申請(qǐng)存出錯(cuò)!");

16、exit(1); for(p=head;p!=NULL;p=p->next) for(q=p->next;q!=NULL;q=q->next)if(strcmp(p->number,q->number)>0) strcpy(temp->number,p->number); strcpy(temp->bookname,p->bookname); strcpy(temp->author,p->author); strcpy(temp->publish,p->publish); strcpy(temp->tim

17、e,p->time); temp->price=p->price; strcpy(temp->status,p->status); strcpy(p->number,q->number); strcpy(p->bookname,q->bookname); strcpy(p->author,q->author); strcpy(p->publish,q->publish); strcpy(p->time,q->time); p->price=q->price; strcpy(p->stat

18、us,temp->status); strcpy(q->number,temp->number); strcpy(q->bookname,temp->bookname); strcpy(q->author,temp->author); strcpy(q->publish,temp->publish); strcpy(q->time,temp->time); q->price=temp->price; strcpy(q->status,temp->status); return head; link *bo

19、rrowbook(link *head)link *h,*p;char ch,ch1100="在庫(kù)",ch2100="不在庫(kù)"h=head;printf("n*n");printf("tt歡迎使用借書(shū)系統(tǒng)!n");p=findboookname(h);if(p=NULL)printf("借書(shū)失敗,書(shū)庫(kù)中沒(méi)有這本書(shū)!");else if(strcmp(p->status,ch2)=0)printf("借書(shū)失敗,圖書(shū)不在庫(kù)!");else printf("確認(rèn)借出

20、?Y/N:");scanf("%c",&ch);getchar(); if(ch='Y'|ch='y') strcpy(p->status,ch2); printf("借書(shū)成功,請(qǐng)返回上級(jí)菜單保存信息!");if(ch='N'|ch='n')printf("你沒(méi)有借任何書(shū)!"); return head; link *returnbook(link *head) link *h,*p; char ch,ch1100="在庫(kù)",c

21、h2100="不在庫(kù)" h=head;printf("n*n");printf("tt歡迎使用還書(shū)系統(tǒng)!n");p=findboookname(h);if(p=NULL)printf("還書(shū)失敗,這不是本書(shū)庫(kù)的書(shū)!"); else printf("確認(rèn)還書(shū)?Y/N:"); scanf("%c",&ch); getchar(); if(ch='Y'|ch='y') strcpy(p->status,ch1); printf(&quo

22、t;還書(shū)成功,請(qǐng)返回上級(jí)菜單保存信息!"); if(ch='N'|ch='n') printf("你沒(méi)有還書(shū)!"); return head; void main()int a,b,c,d;link *h,*t;L:system("cls"); mainmenu();while(1) scanf("%d",&a);switch(a)case 1: B: system("cls"); menu1(); while(1) scanf("%d",&am

23、p;b); switch(b) case 1: system("cls"); cxmenu(); while(1) scanf("%d",&c); switch(c) case 1: print(h); break; case 2: t=findnumber(h); if(t=NULL) printf("沒(méi)有要查詢的圖書(shū)!"); if(t!=NULL) printf("查詢的圖書(shū)為:"); printf("n"); printf("n*n"); printf(&quo

24、t;n編號(hào)tt書(shū)名tt作者tttt出版時(shí)間tt價(jià)格tt狀態(tài)n"); printf("n");printf("%st%st%st%st%s",t->number,t->bookname,t->author,t->publish,t->time); printf("tt%.2f",t->price); printf("tt%s",t->status);printf("n"); break; case 3: t=findboookname(h); i

25、f(t=NULL) printf("沒(méi)有要查詢的圖書(shū)!"); if(t!=NULL) printf("查詢的圖書(shū)為:"); printf("n");printf("n*n"); printf("n編號(hào)tt書(shū)名tt作者tttt出版時(shí)間tt價(jià)格tt狀態(tài)n"); printf("n");printf("%st%st%st%st%s",t->number,t->bookname,t->author,t->publish,t->time

26、); printf("tt%.2f",t->price); printf("tt%s",t->status); printf("n"); break; case 4: t=findauthor(h); if(t=NULL) printf("沒(méi)有要查詢的圖書(shū)!"); if(t!=NULL) printf("查詢的圖書(shū)為:"); printf("n"); printf("n*n"); printf("n編號(hào)tt書(shū)名tt作者tttt出版時(shí)間tt價(jià)格tt狀態(tài)n"); printf("n");printf("%st%st%st%st%s",t->number,t->bookname,t->author,t->publish,t->time); printf("tt%.2f",t->price); printf("tt%s",t->status);printf("n"); break; case 5:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論