




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
題目要 需求分 總體設(shè) 詳細(xì)設(shè) 主函 各功能模塊設(shè) 公共函 上機(jī)操 總 (源代碼 新基本信息的輸入基本信息的查詢對撤銷圖示基本信息的刪除辦理借書手續(xù)辦理換書手續(xù)根據(jù)題目的要求,需要建立一個(gè)文件來保存信息,每本書的信息用一個(gè)結(jié)構(gòu)體來保存結(jié)構(gòu)體的成員應(yīng)包括名稱編號、單價(jià)、作者、存在狀態(tài)、借書人、、學(xué)號,結(jié)構(gòu)體中的存在程序中需要對信息實(shí)現(xiàn)輸入、查詢、刪除、借書和還書的功根據(jù)上面的需求分析,可以將整個(gè)管理系統(tǒng)分為輸入模塊、查找模塊、刪除模塊、借書模塊和還書模塊(如圖3-1示。管管理系輸入新查刪借歸 系統(tǒng)功能模塊數(shù)據(jù)在這個(gè)程序里,每本書的信息用一個(gè)結(jié)構(gòu)體book來保存,結(jié)構(gòu)人、、學(xué)號,結(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實(shí)現(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…為二級在輸入的基本信息過程中使用指針進(jìn)行字符串及值的傳遞。全局變量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("請輸入價(jià)格:");scanf("%f",&p-printf("請輸入數(shù)量:");scanf("%d",&p->store);printf("第%d個(gè)信息已經(jīng)輸入完畢,是否繼續(xù)?\n按任意鍵繼續(xù),0結(jié)束
scanf("%d",&y);//是否繼{read(&s[0]);//調(diào)用文件函}}}查找?!痉治?Yfor循環(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查找信息成功 }}}刪除?!痉治龌赝顺霾⒎祷夭藛巍F淞鞒虉D如下圖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)借書模【分析該模塊實(shí)現(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("請?jiān)?-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); 學(xué)號\n");}}printf("“是”請鍵入“yes”,“否”請按任意鍵,返回菜單\n"); save(&s[0]););//}還書?!痉治?read(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("請?jiān)?-2中選擇:\n\n"); if(e==0)break;{case1: case2: }read(&s[0]);//調(diào)用函 printf("\n查找信息成功1");// p-printf("書名 編號 作者 價(jià)格 數(shù)量 學(xué)號\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);//從文件中信}}運(yùn)行主函數(shù),進(jìn)入主菜輸入模查找模刪除模借書模還書模退課是遠(yuǎn)遠(yuǎn)不夠的,上機(jī)訓(xùn)練也不容忽視。通過上機(jī)訓(xùn)練,才能夠明白自己知的不足,更加深刻的理解C語言中的知識點(diǎn),從而找到知識,還對以前認(rèn)為自己已懂了的知識點(diǎn)也理解更加深刻。當(dāng)遇到了自己當(dāng)時(shí)不知如何編寫的CC語言的和學(xué)好C語言的信心。本次C語言實(shí)習(xí)的幾個(gè)作用加深對課堂講授內(nèi)容的理課堂上要講授許多關(guān)于C語言的語則,聽起來比較枯燥,不易。而通過多次上機(jī)練習(xí),對于語法知識就有了更深的認(rèn)識,自然而然地掌握C語言的語定。學(xué)習(xí)C語言不能停留在書本,利用學(xué)到的知識編寫C語逐步提高自己對C言的理解和程序開發(fā)能力。熟悉程序開發(fā)環(huán)境、學(xué)習(xí)計(jì)算機(jī)系統(tǒng)的操作方一個(gè)C語言程序從編輯、編譯、連接到運(yùn)行,都要在一定的外部操作環(huán)境用這些環(huán)境,才能進(jìn)行程序開發(fā)工作。通過上機(jī)實(shí)驗(yàn),熟練地掌握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("請輸入價(jià)格:");scanf("%f",&p-printf("請輸入數(shù)量:");scanf("%d",&p->store);printf("第%d個(gè)信息已經(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("請?jiān)?-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); 學(xué)號\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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 陜西省中介合同協(xié)議
- 預(yù)售合同里有補(bǔ)充協(xié)議
- 隔音紗窗采購合同協(xié)議
- 風(fēng)景樹買賣合同協(xié)議
- 食堂采購食品合同協(xié)議
- 2025屆四川省樹德中學(xué)高三4月階段性測試語文試題及答案
- 項(xiàng)目項(xiàng)目咨詢費(fèi)合同協(xié)議
- 食堂續(xù)簽補(bǔ)充合同協(xié)議
- 鍍鋅桶買賣合同協(xié)議
- 防水觸控開關(guān)采購合同協(xié)議
- 2024年中證金融研究院事業(yè)單位招聘23人歷年高頻難、易錯點(diǎn)500題模擬試題附帶答案詳解
- 2024掛軌式巡檢機(jī)器人
- CJJT 182-2014 城鎮(zhèn)供水與污水處理化驗(yàn)室技術(shù)規(guī)范
- 彩票店合伙協(xié)議書模板
- 模具外貿(mào)業(yè)務(wù)合同范本
- 2024年湖北省武漢市中考語文試卷真題(含答案)
- 2020-2024年安徽省初中學(xué)業(yè)水平考試中考化學(xué)試卷(5年真題+答案解析)
- 人教版小學(xué)數(shù)學(xué)五年級下冊期末測試卷有完整答案
- 18文言文二則《囊螢夜讀》公開課一等獎創(chuàng)新教學(xué)設(shè)計(jì)
- (正式版)JBT 106-2024 閥門的標(biāo)志和涂裝
- 2022高考數(shù)學(xué)全國1卷(原卷版)
評論
0/150
提交評論