版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上目錄33444556.171822232326一、設(shè)計(jì)任務(wù)書1.目的1)復(fù)習(xí)、鞏固C語(yǔ)言的基礎(chǔ)知識(shí),進(jìn)一步加深對(duì)C語(yǔ)言的理解和掌握。2)課程設(shè)計(jì)為學(xué)生提供了一個(gè)既動(dòng)手又動(dòng)腦,獨(dú)立實(shí)踐的機(jī)會(huì),將課本上的理論知識(shí)和實(shí)際有機(jī)的結(jié)合起來(lái),鍛煉學(xué)生的分析解決實(shí)際問(wèn)題的能力。提高學(xué)生適應(yīng)實(shí)際,實(shí)踐編程的能力。3)培養(yǎng)學(xué)生在項(xiàng)目開(kāi)發(fā)中團(tuán)隊(duì)合作精神、創(chuàng)新意識(shí)及能力。2.要求:1)對(duì)系統(tǒng)進(jìn)行功能模塊分析、控制模塊分析正確,符合課題要求,實(shí)現(xiàn)相應(yīng)功能;可以加以其他功能或修飾,使程序更加完善、合理。2)系統(tǒng)設(shè)計(jì)要實(shí)用,編程簡(jiǎn)練,可用,功能全面。3)說(shuō)明書、流程圖要清楚。4)記錄設(shè)計(jì)情況(備
2、查,也為編寫設(shè)計(jì)說(shuō)明書作好準(zhǔn)備)。5)要求采用模塊化程序設(shè)計(jì)方法,及鋸齒型書寫格式,要求上機(jī)調(diào)試通過(guò)和按設(shè)計(jì)報(bào)告格式。6)設(shè)計(jì)上交內(nèi)容:設(shè)計(jì)報(bào)告一份(按格式書寫);源程序一份,能編譯成可執(zhí)行文件并能正常運(yùn)行。二、本組課題及本人任務(wù)課題:圖書信息管理系統(tǒng)設(shè)計(jì)圖書信息包括:登錄號(hào)、書名、作者名、分類號(hào)、出版單位、出版時(shí)間、價(jià)格等。試設(shè)計(jì)一圖書信息管理系統(tǒng),使之能提供以下功能:1.系統(tǒng)以菜單方式工作。2.圖書信息錄入功能(圖書信息用文件保存)輸入。3.圖書信息瀏覽功能輸出。4.查詢和排序功能:(至少一種查詢方式)算法。a.按書名查。b.按作者名查詢。本人任務(wù):負(fù)責(zé)設(shè)計(jì)和編寫圖書信息管理系統(tǒng)的修改圖書
3、信息部分。三、程序功能簡(jiǎn)介本系統(tǒng)是以visualC+環(huán)境下用C語(yǔ)言開(kāi)發(fā)的一個(gè)圖書管理系統(tǒng)。本系統(tǒng)具有圖書信息錄入、瀏覽、刪除、修改、查找(包括按書名、作者查找)功能。其中圖書信息包括登錄號(hào)、書名、作者名、分類號(hào)、出版單位、出版時(shí)間、價(jià)格,并且對(duì)信息以文件形式儲(chǔ)存。另外本系統(tǒng)具備實(shí)用性的同時(shí)代碼邏輯謹(jǐn)慎清晰易懂,且界面美觀。四、主體內(nèi)容1設(shè)計(jì)分析本系統(tǒng)共分為一個(gè)主頁(yè)面模塊(主函數(shù)部分),五個(gè)功能模塊(功能函數(shù))分別為圖書信息錄入、圖書信息瀏覽、圖書信息查詢、圖書信息刪除、圖書信息修改。設(shè)計(jì)時(shí)應(yīng)該先寫好主函數(shù)、定義好全局變量和功能函數(shù),再對(duì)五個(gè)功能函數(shù)進(jìn)行設(shè)計(jì)。在每個(gè)功能函數(shù)和主函數(shù)應(yīng)中加入控制條
4、件使用戶可以隨時(shí)退出系統(tǒng),并在用戶輸入指令錯(cuò)誤的時(shí)候給予提醒和退出選項(xiàng)。小組中的五個(gè)人分別承擔(dān)一個(gè)功能模塊進(jìn)行設(shè)計(jì)。并在每個(gè)人設(shè)計(jì)完成后通過(guò)主函數(shù)進(jìn)行鏈接調(diào)試正確后方為完成。2程序結(jié)構(gòu)(流程圖)系統(tǒng)運(yùn)行選擇功能1.信息錄入鍵入信息2.信息瀏覽返回主菜單返回主菜單3.信息查詢按書名查找按作者查找返回主菜單輸入書名輸入作者信息存在?是否輸出信息返回主菜單4.信息刪除輸入刪出信息代號(hào)輸出刪除后的信息返回主菜單5.信息修改輸入修改信息代號(hào)修改信息存在?是信息修改否返回主菜單輸出修改后的信息6.退出系統(tǒng)3各模塊的功能及程序說(shuō)明A、錄入模塊:本模塊主要執(zhí)行信息錄入功能。B、瀏覽模塊:本模塊主要是執(zhí)行把已有
5、信息輸出瀏覽功能。C、查詢模塊:本模塊主要是執(zhí)行按書名和按作者名查找圖書信息的功能。D、刪除模塊:本模塊主要執(zhí)行刪除圖書信息的功能。E、修改模塊(本人設(shè)計(jì)模塊):本模塊主要執(zhí)行圖書信息修改功能。在用戶選擇該功能后。首先,系統(tǒng)會(huì)彈出已存在信息列表并讓用戶選擇所要修改的信息項(xiàng)目。然后,當(dāng)用戶選定要修改的信息后會(huì)彈出信息目錄,用戶需按順序依次修改信息內(nèi)容。最好當(dāng)所有信息項(xiàng)目都修改完成之后,按回車鍵會(huì)在窗口上輸出修改后的內(nèi)容。4.源程序#include<>#include<>#include<>#include<>#defineMAX100structS
6、tudentintnum;/*登錄號(hào)*/charname100;/*書名*/charauthor100;/*作者名*/charfn100;/*分類號(hào)*/charplace100;/*出版單位*/charday100;/*出版時(shí)間*/floatmoney;/*價(jià)格*/stuMAX;main()/*主函數(shù)*/voidInput();/*輸入*/voidDisplay();/*輸出*/voidFind();/*查找*/voidModify();/*刪除*/voidChange();/*修改*/intn;for(;)printf("n");printf("n")
7、;printf("n");printf("歡迎來(lái)到圖書信息管理系統(tǒng)n");printf("n");printf("n");printf("主菜單n");printf("n");printf("1.圖書信息錄入n");printf("n");printf("2.圖書信息瀏覽n");printf("n");printf("3.圖書信息查詢n");printf("n&quo
8、t;);printf("4.圖書信息刪除n");printf("n");printf("5.圖書信息修改n");printf("n");printf("6.退出系統(tǒng)n");printf("n");printf("nn");printf("請(qǐng)輸入選擇項(xiàng)(1-6):");scanf("%d",&n);printf("nnnn");if(n>0&&n<7)switch
9、(n)case1:Input();break;case2:Display();break;case3:Find();break;case4:Modify();break;case5:Change();break;case6:printf("n");printf("n");printf("謝謝使用!n");printf("再見(jiàn)!n");printf("n");printf("n");exit(0);elseprintf("n");printf("n
10、");printf("輸入錯(cuò)誤!n");printf("請(qǐng)退出!n");printf("n");printf("n");break;voidFind()/*查找*/FILE*fp;inti;intchoose,t;charans100;doprintf("1.按書名查找n");printf("2.按作者名查找n");printf("返回主菜單(其他數(shù)字)n");scanf("%d",&choose);if(choose
11、=1)printf("輸入所查書名:n");scanf("%s",ans);t=-1;if(choose=1)for(i=0;i<MAX;i+)if(strcmp(ans,)=0)t=i;fp=fopen("student","rb");for(i=0;fread(&stui,sizeof(structStudent),1,fp)=1;i+)printf("%d%s%s%s%s%s%fn",stut.num,,stut.author,stut.f
12、n,stut.place,stut.day,stut.money);if(t=-1)printf("不存在該信息n");elseif(choose=2)printf("輸入所查作者名:n");scanf("%s",ans);t=-1;if(choose=2)for(i=0;i<MAX;i+)if(strcmp(ans,stui.author)=0)t=i;fp=fopen("student","rb");for(i=0;fread(&stui,sizeof(structStuden
13、t),1,fp)=1;i+)printf("%d%s%s%s%s%s%fn",stut.num,,stut.author,stut.fn,stut.place,stut.day,stut.money);if(t=-1)printf("不存在該信息n");elsereturn;while(1);voidDisplay()/*輸出*/FILE*fp;inti;fp=fopen("student","rb");printf("n");printf("圖書列表n")
14、;printf("-n");printf("登錄號(hào)書名作者名分類號(hào)出版單位出版時(shí)間價(jià)格n");printf("-n");for(i=0;fread(&stui,sizeof(structStudent),1,fp)=1;i+)printf("%6d%8s%8s%8s%8s%8s%n",stui.num,,stui.author,stui.fn,stui.place,stui.day,stui.money);fclose(fp);voidInput()/*輸入*/FILE*fp;intn;f
15、p=fopen("student","ab+");for(n=0;n<MAX;n+)printf("n=%d輸入序號(hào)n(當(dāng)輸入n=-1時(shí),返回),n=",n+);scanf("%d",&n);if(n=-1)fclose(fp);return;elseprintf("請(qǐng)輸入登錄號(hào)書名作者名分類號(hào)出版單位出版時(shí)間價(jià)格n");scanf("%d%s%s%s%s%s%f",&stun.num,,stun.author,stun.fn,stun
16、.place,stun.day,&stun.money);fwrite(&stun,sizeof(structStudent),1,fp);fclose(fp);voidModify()/*刪除*/FILE*fp;inti,flag,n,s,j;fp=fopen("student","rb+");rewind(fp);printf("圖書列表n");printf("-n");printf("登錄號(hào)書名作者名分類號(hào)出版單位出版時(shí)間價(jià)格n");printf("-n"
17、;);for(i=0;fread(&stui,sizeof(structStudent),1,fp)=1;i+)printf("%6d%8s%8s%8s%8s%8s%n",stui.num,,stui.author,stui.fn,stui.place,stui.day,stui.money);printf("n");n=i;printf("輸入待刪除圖書號(hào):n");scanf("%d",&s);for(i=0,flag=1;flag&&i<n;i+)if(s
18、=stui.num)for(j=i;j<n-1;j+)stuj.num=stuj+1.num;strcpy(,stuj+1.name);strcpy(stuj.author,stuj+1.author);strcpy(stuj.fn,stuj+1.fn);strcpy(stuj.place,stuj+1.place);strcpy(stuj.day,stuj+1.day);stuj.money=stuj+1.money;flag=0;if(!flag)n=n-1;elseprintf("沒(méi)有此號(hào)n");fp=fopen("student&q
19、uot;,"wb");for(i=0;i<n;i+)fwrite(&stui,sizeof(structStudent),1,fp);fclose(fp);fp=fopen("student","r");printf("圖書列表n");printf("-n");printf("登錄號(hào)書名作者名分類號(hào)出版單位出版時(shí)間價(jià)格n");printf("-n");for(i=0;i<n;i+)fread(&stui,sizeof(struc
20、tStudent),1,fp);printf("%6d%8s%8s%8s%8s%8s%n",stui.num,,stui.author,stui.fn,stui.place,stui.day,stui.money);printf("n");fclose(fp);voidChange()/*修改*/FILE*fp;inti,num,n;intflag=0;fp=fopen("student","rb");printf("n");printf("圖書列表n");
21、printf("-n");printf("登錄號(hào)書名作者名分類號(hào)出版單位出版時(shí)間價(jià)格n");printf("-n");for(i=0;fread(&stui,sizeof(structStudent),1,fp)=1;i+)printf("%6d%8s%8s%8s%8s%8s%n",stui.num,,stui.author,stui.fn,stui.place,stui.day,stui.money);fclose(fp);printf("請(qǐng)輸入要修改的圖書號(hào):");
22、scanf("%d",&num);for(i=0;i<=MAX;i+)if(stui.num=num)printf("圖書列表n");printf("-n");printf("登錄號(hào)書名作者名分類號(hào)出版單位出版時(shí)間價(jià)格n");printf("-n");printf("%6d%8s%8s%8s%8s%8s%n",stui.num,,stui.author,stui.fn,stui.place,stui.day,stui.money);printf
23、("-nn");n=i;flag=1;break;if(flag=0)printf("n");printf("輸入錯(cuò)誤!n");printf("請(qǐng)返回!n");printf("n");return;printf("nnn");fp=fopen("student","rb+");fseek(fp,n*sizeof(structStudent),0);printf("登錄號(hào)書名作者名分類號(hào)出版單位出版時(shí)間價(jià)格n");sc
24、anf("%d%s%s%s%s%s%f",&stun.num,,stun.author,stun.fn,stun.place,stun.day,&stun.money);fwrite(&stui,sizeof(structStudent),1,fp);fclose(fp);fp=fopen("student","rb");printf("圖書列表n");printf("-n");printf("登錄號(hào)書名作者名分類號(hào)出版單位出版時(shí)間價(jià)格n&qu
25、ot;);printf("-n");for(i=0;fread(&stui,sizeof(structStudent),1,fp)=1;i+)printf("%6d%8s%8s%8s%8s%8s%n",stui.num,,stui.author,stui.fn,stui.place,stui.day,stui.money);printf("-nn");fclose(fp);5操作方法(流程)第一步:雙擊打包好的.exe程序,打開(kāi)程序。第二步:根據(jù)窗口提示內(nèi)容作出選擇。第三步:根據(jù)彈出的二級(jí)菜單作出選擇。第四步
26、:根據(jù)所選內(nèi)容進(jìn)行相應(yīng)的操作。第五步:操作完畢,根據(jù)提示返回主菜單會(huì)直接退出該系統(tǒng)。6試驗(yàn)結(jié)果A、圖書信息錄入:數(shù)據(jù)輸入:數(shù)據(jù)輸出:B、圖書信息瀏覽輸入數(shù)據(jù):數(shù)據(jù)輸出:C、圖書信息查詢輸入數(shù)據(jù):輸出數(shù)據(jù):D、圖書信息刪除:輸入數(shù)據(jù):輸出數(shù)據(jù):E、圖書信息修改輸入數(shù)據(jù):輸出數(shù)據(jù):F、系統(tǒng)退出輸入數(shù)據(jù):數(shù)據(jù)輸出:7設(shè)計(jì)體會(huì)。在這一周的程序設(shè)計(jì)實(shí)習(xí)當(dāng)中并不是一帆風(fēng)順的。剛開(kāi)始到電腦面前聽(tīng)完老師講了一大堆,我根本就不知道要做什么,用什么做。我并沒(méi)有被眼前的一點(diǎn)小困難所擊倒,我相信困難總是有辦法解決的。于是開(kāi)始的兩天我就在網(wǎng)上找各種相關(guān)的文章、視頻。剛開(kāi)始我就只是看著網(wǎng)上的東西照貓畫虎的做一些小程序,慢
27、慢的通過(guò)這些模仿我也漸漸的懂了一些東西。通過(guò)兩天的原始知識(shí)積累后,我開(kāi)始嘗試著按照自己的想法做了一些小系統(tǒng)。起初會(huì)出現(xiàn)很多問(wèn)題,不是這兒少了就是那錯(cuò)了。在這樣那樣的錯(cuò)誤中我明白編程是一件很嚴(yán)謹(jǐn)?shù)氖?,容不得半點(diǎn)錯(cuò)誤,一步走錯(cuò),全盤皆輸!在出現(xiàn)錯(cuò)誤時(shí)我通常是上網(wǎng)搜索相關(guān)的答案,聽(tīng)聽(tīng)大家的想法,往往一個(gè)問(wèn)題的解決方法是多種多樣的,各自有其精妙之處。有的解決方法淺顯易懂,但是易出現(xiàn)漏洞;有的復(fù)雜難懂,但是邏輯緊密,無(wú)絲毫破綻。編程是一門邏輯的游戲,一但了解其游戲規(guī)則,便發(fā)現(xiàn)樂(lè)趣無(wú)窮。有時(shí)候自己有很多的想法,但由于自己的水平有限不能很好地實(shí)現(xiàn),每到那時(shí)候我就有一種強(qiáng)烈的愿望想要把問(wèn)題解決,做出自己想的東
28、西。一但解決了問(wèn)題,那種快樂(lè)非親身經(jīng)歷者不能感受!說(shuō)實(shí)話,在網(wǎng)上雖然信息很多,但是會(huì)讓人暈了頭腦,做起來(lái)也不是那么容易的。也許我的程序比起別人的來(lái)說(shuō)可能會(huì)有些許不足,但是那個(gè)個(gè)代碼都是出自我手,每一寸屏幕都是我自己的想法,都是我自己的。我覺(jué)得不成功沒(méi)關(guān)系,重要的是要有自己努力成功的心,而要成功光是抄襲別人的是不行的,得拿出自己的東西,自己的創(chuàng)新,要敢于嘗試!王杰七、附錄1.流程圖主頁(yè)面:信息錄入:信息瀏覽:信息查詢:信息刪除:信息修改:系統(tǒng)退出:2.主要過(guò)程列表A、程序開(kāi)頭定義:#include<>:#include是編譯預(yù)處理指令,就是在編譯前將這個(gè)文件里的函數(shù)都添加到你寫的cp
29、p文件中。#include<>:在編譯前C語(yǔ)言里面關(guān)于字符數(shù)組的函數(shù)定義的頭文件,就是在編譯前將這個(gè)文件里的函數(shù)都添加到你寫的cpp文件中。#include<>:在編譯前將這個(gè)文件里的函數(shù)都添加到你寫的cpp文件中。#include<>:在編譯前將這個(gè)文件里的函數(shù)都添加到你寫的cpp文件中。#defineMAX100:#define就是在編譯器編譯之前對(duì)代碼進(jìn)行字符串替換,即是把MAX換成100.B、structStudent:結(jié)構(gòu)體,定義的結(jié)構(gòu)體是整個(gè)程序的共用體,即是該結(jié)構(gòu)體可在每個(gè)模塊中不從新定義就使用。C、main()主函數(shù)模塊主要變量、函數(shù):voi
30、dInput():自定義輸入函數(shù)。voidDisplay():自定義輸出函數(shù)。voidFind():自定義查找函數(shù)。voidModify():自定義刪除函數(shù)。voidChange():自定義修改函數(shù)。for():循環(huán)函數(shù)。switch():選擇函數(shù),判斷用戶輸入的數(shù)字進(jìn)行功能選擇。exit():退出循環(huán)函數(shù)。D、voidInput()輸入模塊主要變量、函數(shù):FILE*fp:聲明fp是指針,用來(lái)指向FILE類型的對(duì)象。fopen():?fopen函數(shù)用來(lái)打開(kāi)一個(gè)文件。printf():輸出函數(shù),以程序員規(guī)定數(shù)據(jù)類型把數(shù)據(jù)輸出到窗口上。scanf():輸入函數(shù),以程序員規(guī)定的的數(shù)據(jù)類型輸入數(shù)據(jù)。if()else:條件判斷函數(shù)。fclose():關(guān)閉文件的函數(shù),功能為關(guān)閉打開(kāi)的文件,以防止數(shù)據(jù)丟失。fwrite():向文件寫入一個(gè)數(shù)據(jù)塊。sizeof():以字節(jié)形式給出了其操作數(shù)的存儲(chǔ)大小。for():循環(huán)函數(shù)。E、voidDisplay()輸出函數(shù)主要變
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑工程項(xiàng)目管理職位考題解讀
- 游戲硬件設(shè)備市場(chǎng)部招聘面試問(wèn)題及答案
- 銀行集控系統(tǒng)管理員面試問(wèn)題及答案解析
- 2025年區(qū)域經(jīng)濟(jì)合作開(kāi)發(fā)項(xiàng)目可行性研究報(bào)告
- 2025年社會(huì)企業(yè)綠色公益項(xiàng)目可行性研究報(bào)告
- 2026春統(tǒng)編版(2024)小學(xué)道德與法治一年級(jí)下冊(cè)《這是我的家》課時(shí)練習(xí)及答案
- 2025年城市污水處理設(shè)施升級(jí)改造可行性研究報(bào)告
- 2025年基因檢測(cè)與個(gè)性化醫(yī)療項(xiàng)目可行性研究報(bào)告
- 2025年短期租賃市場(chǎng)運(yùn)營(yíng)平臺(tái)建設(shè)項(xiàng)目可行性研究報(bào)告
- 2025年物聯(lián)網(wǎng)智能制造項(xiàng)目可行性研究報(bào)告
- 機(jī)電產(chǎn)品三維設(shè)計(jì) 課件 項(xiàng)目4.14.2.1~3扭尾機(jī)械手
- 2025考評(píng)員培訓(xùn)考試題(含答案)
- 醫(yī)院黨建與醫(yī)療質(zhì)量提升的融合策略
- 2025年聊城交運(yùn)集團(tuán)汽車站招聘工作人員(3人)參考筆試試題及答案解析
- 2025西部機(jī)場(chǎng)集團(tuán)航空物流有限公司招聘參考考點(diǎn)題庫(kù)及答案解析
- 2025海南三亞市直屬學(xué)校赴高校面向2026年應(yīng)屆畢業(yè)生招聘教師111人(第5號(hào))考試筆試參考題庫(kù)附答案解析
- 2025中央廣播電視總臺(tái)招聘144人(公共基礎(chǔ)知識(shí))綜合能力測(cè)試題附答案解析
- 嚴(yán)格執(zhí)行管理制度(3篇)
- 支氣管哮喘常見(jiàn)癥狀及護(hù)理技術(shù)培訓(xùn)
- 2025年廣東省常用非金屬材料檢測(cè)技術(shù)培訓(xùn)考核考前沖刺必會(huì)500題-含答案
- 2025年德語(yǔ)游戲客服面試題庫(kù)及答案
評(píng)論
0/150
提交評(píng)論