圖書管理系統(tǒng)_第1頁
圖書管理系統(tǒng)_第2頁
圖書管理系統(tǒng)_第3頁
圖書管理系統(tǒng)_第4頁
圖書管理系統(tǒng)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

題目要 需求分 總體設(shè) 詳細設(shè) 主函 各功能模塊設(shè) 公共函 上機操 總 (源代碼 新基本信息的輸入基本信息的查詢對撤銷圖示基本信息的刪除辦理借書手續(xù)辦理換書手續(xù)根據(jù)題目的要求,需要建立一個文件來保存信息,每本書的信息用一個結(jié)構(gòu)體來保存結(jié)構(gòu)體的成員應(yīng)包括名稱編號、單價、作者、存在狀態(tài)、借書人、、學號,結(jié)構(gòu)體中的存在程序中需要對信息實現(xiàn)輸入、查詢、刪除、借書和還書的功根據(jù)上面的需求分析,可以將整個管理系統(tǒng)分為輸入模塊、查找模塊、刪除模塊、借書模塊和還書模塊(如圖3-1示。管管理系輸入新查刪借歸 系統(tǒng)功能模塊數(shù)據(jù)在這個程序里,每本書的信息用一個結(jié)構(gòu)體book來保存,結(jié)構(gòu)人、、學號,結(jié)構(gòu)體中的存在狀態(tài)設(shè)為整型,用不同數(shù)字表庫中高本書的數(shù)量struct{chartitle[30];intnumber;charauthor[30];floatprice;intcharborrower_name[20];charborrower_gender[5];intborrower_number;其中的N定義為該系統(tǒng)所管理書籍的最大值#define 100主函【說明N實現(xiàn)對各種功能的選擇。其流程圖如圖4.1-1示NnYn圖4.1- 主函數(shù)流程【程序void int 1.輸入信息 **********\n" *********** 2.查找信息 **********\n" 3.刪除信息 **********\n" 4.借閱********** 5.歸還********** **********\n");printf("0-5中選擇,以回車鍵結(jié)束\n"); case1:input(&s[0]);break;//輸入新信息模case2:search(&s[0]);break;//case3:del(&s[0]);break;//case4:borrow(&s[0]);break;//case5:retur(&s[0]);break;//case0:break;//}}各功能模塊設(shè)輸入?!痉治鲈谳斎肽K中,主要以輸入輸出語句為主,使用了do…while…和for…這兩種循環(huán)方式,do…while…是作為一級循環(huán),for…為二級在輸入的基本信息過程中使用指針進行字符串及值的傳遞。全局變量m是用于記錄的位置,便于在后來的查詢、刪除等功能中的使用調(diào)用save(structbook*p)來保存輸入的數(shù)據(jù)定義的整型變量y,用來是否繼續(xù)的指令。該模塊的流程圖如下圖4.2-1所示NNysave(struckbook*p)輸 的基本信Y圖4.2- Y【程序voidinput(structbook inty; printf("請輸入編號scanf("%d",&p-printf("請輸入作者scanf("%s",p-printf("請輸入價格:");scanf("%f",&p-printf("請輸入數(shù)量:");scanf("%d",&p->store);printf("第%d個信息已經(jīng)輸入完畢,是否繼續(xù)?\n按任意鍵繼續(xù),0結(jié)束

scanf("%d",&y);//是否繼{read(&s[0]);//調(diào)用文件函}}}查找模【分析0Yfor循環(huán)查找并顯read(structbook10Yfor循環(huán)查找并顯read(structbook1N4.2-2【程序voidsearch(structbook*p)// intcharcharname2[20];charc[3]; printf("\t請選擇查找方式:\n");//打印查詢方式菜單printf("1.按書名查找\n2.按作者查找\n0.返回\n");printf("0-2中選擇:\n\n");if(n==0)break;{case case printf("請輸入作者:\n");scanf("%s",name2);} read(&s[0]);//調(diào)用函{printf("\n查找信息成功 }}}刪除模【分析回退出并返回菜單。其流程圖如下圖4.2-3所示。0YN4.2-3【程序voiddel(structbook*p)// structbook*p1,*p2;charname1[20];charname2[20];charc[3];intn; printf("1.按書名刪除\n2.按作者刪除\n0.返回\n");printf("0-2中選擇:\n\n");if(n==0)break;{case1:printf("請輸入書名:\n");scanf("%s",name1case2:printf("請輸入作者:\n");scanf("%s",name2}read(&s[0]);//調(diào)用函{{{\n");}}");}單}

, //是否繼save(&s[0]);}while(strcmp(c,"yes")==0)借書?!痉治鲈撃K實現(xiàn)系統(tǒng)的借書功能。首先查找要借閱的,并且顯示該的記錄輸入借書人的信息后store--借書成功詢問是否繼續(xù)該模塊的流程圖如下圖4.2-4所示0read(structbookfor循環(huán)查找,mYNsave(structbook14.2-4【程序voidborrow(structbook*p)// intcharcharw[3]; printf("請先查找您要借閱的printf("1.按書名查找\n2.按作者查找\n0.返回\n");printf("請在0-2中選擇:\n");if(z==0)break;{case case printf("請輸入作者:\n");scanf("%s",name4);}read(&s[0]);//調(diào)用函 printf("\n查找信息成功 printf("%-10s%-10d%-10s%-10.2fs%-10d\n",p->title,p->number,p->author,p->price,p->store);//打印信息printf("請輸入您的:");scanf("%s",p-printf("請輸入您的:");scanf("%s",p->borrower_gender); 學號\n");}}printf("“是”請鍵入“yes”,“否”請按任意鍵,返回菜單\n"); save(&s[0]););//}還書模【分析0read(structbookfor循環(huán)查找,mYNsave(structbook10read(structbookfor循環(huán)查找,mYNsave(structbook14.2-5【程序voidretur(structbook*p)// intcharname5[20];charname6[20];chart[3]; printf("1.按書名查找\n2.按作者查找\n0.返回\n");printf("請在0-2中選擇:\n\n"); if(e==0)break;{case1: case2: }read(&s[0]);//調(diào)用函 printf("\n查找信息成功1");// p-printf("書名 編號 作者 價格 數(shù)量 學號\n");me,p->borrower_gender,p->borrower_number);//打印信息}}");}printf("“是”請鍵入“yes”,“否”請按任意鍵,返回菜單\n"); save(&s[0]);}while(strcmp(t,"yes")==0}公共(1)保存信息函voidsave(structbook FILEintprintf("創(chuàng)建文件失敗!\n\n");//打印出錯提示getchar();return;} getchar();return;}if(fwrite(p,sizeof(structbook),1,fp)==0)//向文件寫入數(shù)據(jù),并判斷是否出錯}(2)文件信息函voidread(structbook*p)//從文件信息模 FILE*fp,*fp1;inti;} getchar();return;} fread(p,sizeof(structbook),1,fp);//從文件中信}}運行主函數(shù),進入主菜輸入模查找模刪除模借書模還書模退課是遠遠不夠的,上機訓練也不容忽視。通過上機訓練,才能夠明白自己知的不足,更加深刻的理解C語言中的知識點,從而找到知識,還對以前認為自己已懂了的知識點也理解更加深刻。當遇到了自己當時不知如何編寫的CC語言的和學好C語言的信心。本次C語言實習的幾個作用加深對課堂講授內(nèi)容的理課堂上要講授許多關(guān)于C語言的語則,聽起來比較枯燥,不易。而通過多次上機練習,對于語法知識就有了更深的認識,自然而然地掌握C語言的語定。學習C語言不能停留在書本,利用學到的知識編寫C語逐步提高自己對C言的理解和程序開發(fā)能力。熟悉程序開發(fā)環(huán)境、學習計算機系統(tǒng)的操作方一個C語言程序從編輯、編譯、連接到運行,都要在一定的外部操作環(huán)境用這些環(huán)境,才能進行程序開發(fā)工作。通過上機實驗,熟練地掌握C語言開發(fā)(源程序【總程序#defineN100//struct{chartitle[30];intnumber;charauthor[30];floatprice;intcharborrower_name[20];charborrower_gender[5];intborrower_number;intvoidinput(structbook*p); //輸入信息voidsave(structbook*p); //保存 voidread(structbook*p); voidsearch(structbook*p); //查找信息voiddel(structbook*p); //刪除信息voidborrow(structbook*p); //借閱voidretur(structbook*p); //歸還void{intx;{菜單"1.輸入信息**********"2.查找信息**********"3.刪除信息**********"4.借閱********** 5.歸還********** 0.**********printf("0-5中選擇,以回車鍵結(jié)束\n"); case1:input(&s[0]);break;case2:search(&s[0]);break;case3:case4:case5:case0:}}voidinput(structbook inty; printf("請輸入編號scanf("%d",&p-printf("請輸入作者scanf("%s",p-printf("請輸入價格:");scanf("%f",&p-printf("請輸入數(shù)量:");scanf("%d",&p->store);printf("第%d個信息已經(jīng)輸入完畢,是否繼續(xù)?\n按任意鍵繼續(xù),0結(jié)束

scanf("%d",&y);//是否繼{read(&s[0]);//調(diào)用文件函}}}voidsearch(structbook*p)//{intcharname1[20];charname2[20];charc[3]; printf("\t請選擇查找方式:\n");//打印查詢方式菜單printf("1.按書名查找\n2.按作者查找\n0.返回\n");printf("0-2中選擇:\n\n");if(n==0)break;{case case printf("請輸入作者:\n");scanf("%s",name2);} read(&s[0]);//調(diào)用函{printf("\n查找信息成功 }}printf("是否繼續(xù)查找?\n“是”請鍵入“yes”,“否”請按任意鍵,菜單}voiddel(structbook*p)// structbook*p1,*p2;charname1[20];charname2[20];charc[3];intn; printf("1.按書名刪除\n2.按作者刪除\n0.返回\n");printf("0-2中選擇:\n\n");if(n==0)break;{case1:printf("請輸入書名:\n");scanf("%s",name1case2:printf("scanf("%s",name2);}read(&s[0]);//調(diào)用函{{

{\n");}}");}單}

, //是否繼save(&s[0]);}while(strcmp(c,"yes")==0)voidborrow(structbook*p)// intcharname3[20],name4[20];charw[3]; printf("請先查找您要借閱的printf("1.按書名查找\n2.按作者查找\n0.返回\n");printf("請在0-2中選擇:\n");if(z==0)break;{case case printf("請輸入作者:\n");scanf("%s",name4);}read(&s[0]);//調(diào)用函 {printf("\n查找信息成功 printf("%-10s%-10d%-10s%-10.2fs%-10d\n",p->title,p->number,p->author,p->price,p->store);//打印信息printf("請輸入您的:");scanf("%s",p-printf("請輸入您的:");scanf("%s",p->borrower_gender); 學號\n");}}printf(

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論