語(yǔ)言圖書(shū)信息管理系統(tǒng)_第1頁(yè)
語(yǔ)言圖書(shū)信息管理系統(tǒng)_第2頁(yè)
語(yǔ)言圖書(shū)信息管理系統(tǒng)_第3頁(yè)
語(yǔ)言圖書(shū)信息管理系統(tǒng)_第4頁(yè)
語(yǔ)言圖書(shū)信息管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩8頁(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、安徽電子信息職業(yè)技術(shù)學(xué)院C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告書(shū)題目:圖書(shū)信息管理系統(tǒng)姓名:鞏福建專業(yè):應(yīng)用電子技術(shù)班級(jí):電子094 學(xué)號(hào): 090305416 設(shè)計(jì)成績(jī):指導(dǎo)教師:蔡駿設(shè)計(jì)完成日期 2010年 12月 17日摘要二十一世紀(jì)是信息的社會(huì),信息作為社會(huì)最主要的資源,將成為戰(zhàn)略資源引起人們廣泛的關(guān)注。如何獲取信息?圖書(shū)是我們最好的獲取信息的方式,但由于圖書(shū)館圖書(shū)收藏量大大增加,使傳統(tǒng)的圖書(shū)管理員的工作日益繁重起來(lái)。迫使人們起用新的管理方法來(lái)管理圖書(shū),如何把圖書(shū)管理員從繁重的工作中解脫出來(lái)呢?科學(xué)技術(shù)日新月異的進(jìn)步,讓人類生活發(fā)生了巨大的變化,計(jì)算機(jī)技術(shù)的飛速發(fā)展,使各行各業(yè)在計(jì)算機(jī)技術(shù)應(yīng)用方面

2、得到了廣泛的普及和使用。信息化時(shí)代的到來(lái)成為不可抗拒的潮流,人類文明正在進(jìn)入一個(gè)嶄新的時(shí)代。因此,圖書(shū)管理系統(tǒng)也以方便、快捷、費(fèi)用低的優(yōu)點(diǎn)正慢慢地進(jìn)入人們的生活,將傳統(tǒng)的圖書(shū)管理方式徹底的解脫出來(lái),提高效率,減輕工人人員以往繁忙的工作,減小出錯(cuò)的概率,使讀者可以花更多的時(shí)間在選擇書(shū)和看書(shū)上。從而使人們有更多時(shí)間來(lái)獲取信息、了解信息、掌握信息。【關(guān)鍵詞】圖書(shū)管理;系統(tǒng)工程;信息管理系統(tǒng);VC+目錄一、 緒言4(一) 設(shè)計(jì)任務(wù) 4(二) 設(shè)計(jì)思路 4二、 系統(tǒng)設(shè)計(jì) 5(一) 總體設(shè)計(jì) 5(二) 流程圖設(shè)計(jì) 5(三) 源程序設(shè)計(jì) 7三、 系統(tǒng)調(diào)試12(一) 系統(tǒng)調(diào)試 12(二) 調(diào)試過(guò)程存在問(wèn)題與解

3、決辦法 15總結(jié)16參考文獻(xiàn)17一、緒言編程實(shí)踐是學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)的一重要環(huán)節(jié),上機(jī)實(shí)習(xí)和課程設(shè)計(jì)是提高同學(xué)們程序設(shè)計(jì)能力的有效途徑,能夠使同學(xué)們初步掌握程序設(shè)計(jì)的基本方法和調(diào)試技能。學(xué)校安排上機(jī)時(shí)間有限,老師也只能教給我們一些方法,而我們自己需要投入很大的時(shí)間和精力來(lái)鍛煉。一、設(shè)計(jì)任務(wù)1、題目:設(shè)計(jì)“圖書(shū)信息管理系統(tǒng)”2、設(shè)計(jì)要求:圖書(shū)信息包括:編號(hào),書(shū)名,作者名,出版時(shí)間,價(jià)格等。使之提供以下功能:(1) 系統(tǒng)以菜單方式工作。(2) 圖書(shū)信息瀏覽功能。(3) 圖書(shū)信息查詢功能。二、設(shè)計(jì)思路1、設(shè)計(jì)方法:根據(jù)題目要求,可以將系統(tǒng)分為四個(gè)模塊:(1) 管理員登錄系統(tǒng)模塊。(2) 菜單選擇模塊

4、。(3) 圖書(shū)信息瀏覽功能。(4) 圖書(shū)信息查詢功能。2、設(shè)計(jì)方案分析:根據(jù)題目要求,應(yīng)當(dāng)把圖書(shū)信息用結(jié)構(gòu)體形式輸入,在程序中需事先將圖書(shū)信息保存在結(jié)構(gòu)體中,瀏覽,查詢等功能的操作,所以需要建立相應(yīng)的模塊來(lái)實(shí)現(xiàn);另外還需提供鍵盤(pán)式選擇菜單實(shí)現(xiàn)功能,在運(yùn)行時(shí)達(dá)到所要目的。二、系統(tǒng)設(shè)計(jì)一、總體設(shè)計(jì)根據(jù)題目要求,可以將系統(tǒng)分為六個(gè)模塊:1) 管理員登錄系統(tǒng)模塊;2) 菜單選擇模塊;3) 增加圖書(shū)模塊;4) 刪除圖書(shū)模塊;5) 按編號(hào)查詢圖書(shū)功能模塊;6) 按書(shū)名查詢圖書(shū)功模塊;7) 瀏覽圖書(shū)模塊。管理員登錄系統(tǒng)模塊菜單選擇模塊圖書(shū)信息管理系統(tǒng)增加圖書(shū)模塊刪除圖書(shū)模塊瀏覽圖書(shū)模塊按編號(hào)查找圖書(shū)模塊按書(shū)

5、名查找圖書(shū)模塊圖2-1 系統(tǒng)組成框圖二、流程圖設(shè)計(jì)1、算法分析S1:輸入密碼并判斷是否正確。S2:若密碼正確轉(zhuǎn)到S3,若不正確,轉(zhuǎn)到S1繼續(xù)輸入,若三次輸入錯(cuò)誤,轉(zhuǎn)到S10。S3:選擇服務(wù)類型15若輸入為0,轉(zhuǎn)到S10,若為1轉(zhuǎn)到S4,若為2轉(zhuǎn)到S5,若為3轉(zhuǎn)到S6,若為4轉(zhuǎn)到S7,若為5轉(zhuǎn)到S8,若為其它的轉(zhuǎn)到S9。S4:增加圖書(shū)模塊。S5: 刪除圖書(shū)模塊。S6:按編號(hào)查找模塊。S7:按書(shū)名查找模塊。S8:瀏覽圖書(shū)模塊。S9:判斷數(shù)據(jù)是否溢出,如果溢出則打印“輸入有誤,請(qǐng)重新輸入”。S10:退出程序。開(kāi)始輸入管理員密碼輸入正確與否結(jié)束N3次輸入錯(cuò)誤是否繼續(xù)功能選擇模塊增加圖書(shū)模塊刪除圖書(shū)模塊

6、按編號(hào)查找圖書(shū)模塊按書(shū)名查找圖書(shū)模塊瀏覽圖書(shū)模塊是否繼續(xù)是否繼續(xù)是否繼續(xù)是否繼續(xù)否否否否否是是是是是是退出2、流程圖設(shè)計(jì)圖2-2 全部函數(shù)流程圖三 源程序設(shè)計(jì)1、頭函數(shù)源程序:# include <stdio.h># include <string.h>#include <conio.h>#include<windows.h># define N 1000int M=10;struct information char book_number10,book_name15,writter10; char pubnish_time15; float

7、price;bookN="999999","C Program","A","2005-8",19.00,"000000","Mathes","B","2003-1",21.00,"111111","Harry","Prince","1999-9",18.00,"222222","Physics","Princ

8、e","2000-4",19.00,"333333","Biology","D","2004-2",21.00, "444444","White Snow","Old","1998-7",14.00,"555555","Lion","Prince","2001-2",17.00,"666666","

9、English","-","1864-2",19.00,"777777","The Woods","Prince","2001-3",22.00,"888888","KuangRenRiJi","LuXun","1948-2",23.00;2、管理員登錄系統(tǒng)模塊:/*-*主函數(shù)*-*/void main()char s10;int i,k;printf("nnnt*nnnn&q

10、uot;);printf(" 歡迎使用 n"); printf(" 圖書(shū)信息管理系統(tǒng) n");printf("nnnt*nnnn");for(i=0;)for(k=0;)printf("t 請(qǐng)輸入密碼:"); gets(s);if(strcmp(s,"g")!=0) printf("t口令錯(cuò)誤,按任意鍵繼續(xù)n");else break;getch();i+;if(i=3) exit(0); printf("Logging.n歡迎使用圖書(shū)管理系統(tǒng)n"); m

11、enu();break;3、功能菜單頁(yè)面:/*-*目 錄*-*/void menu()int flag=1;int choose; void add(); void dele();void booknumberlookup();void booknamelookup(); void lookup();printf("nnnn"); printf("-目 錄-n");printf(" n");printf(" n");printf(" 1、增加圖書(shū) n");printf(" 2、刪除圖書(shū)

12、 n");printf(" 3、按編號(hào)查找 n");printf(" 4、按書(shū)名查找 n");printf(" 5、瀏覽圖書(shū) n"); printf(" 0、退出 n");printf(" n");printf("-歡 迎 使 用-nnnnnn"); printf("請(qǐng)選擇服務(wù)類型:");scanf("%d",&choose);switch(choose)case 1:add();break; case 2:dele(

13、);break;case 3:booknumberlookup();break;case 4:booknamelookup();break;case 5:lookup();break; case 0:printf("nnn");printf("謝謝使用"); printf("nnnn");exit(0); default:printf("nnnnnnntt輸入有誤,請(qǐng)重新輸入!");menu();3、增加圖書(shū)模塊/*-*增加圖書(shū)*-*/ void add() /*自定義函數(shù)*/ int i,flag=1; char

14、 k; printf(" nnnnnntttt*增*加*圖*書(shū)* nnnnnnnn");while(flag)printf("nn請(qǐng)輸入圖書(shū)信息:n");getchar(); printf("t 編號(hào):");gets(bookM.book_number); printf("t書(shū)名:");gets(bookM.book_name); printf("t作者:");gets(bookM.writter); printf("t出版日期:");gets(bookM.pubnish_t

15、ime); printf("t價(jià)格:");scanf("%f",&bookM.price); M+; printf("編號(hào)t 書(shū)名tt 作者 t 出版日期 tt 價(jià)格n"); for(i=0;i<M;i+)printf("%-10s%-20s%-15s%-10stt%fn",booki.book_number,booki.book_name,booki.writter,booki.pubnish_time,booki.price); printf("是否繼續(xù)(Y/N)?:"); g

16、etchar(); scanf("%c",&k); if(k='n'|k='N') flag=0; menu();4、刪除圖書(shū)模塊/*-*刪除圖書(shū)*-*/void dele()int i,j,flag=1;char num10,c;printf(" nnttt刪除圖書(shū)!n");while(flag) printf("nn請(qǐng)輸入編號(hào):"); scanf("%s",num); for(i=0;i<M;i+) if (strcmp(booki.book_number,num)

17、=0) /*比較num和book_number中的數(shù)是否有相同的*/ for(j=i;j<M;j+) bookj=bookj+1; printf("刪除!n"); M-; break; if (i=M) printf("錯(cuò)誤輸入!n"); printf("是否繼續(xù)(Y/N)?:"); getchar(); scanf("%c",&c); if (c='n'|c='N') flag=0;menu();5、按編號(hào)查找模塊:/*-*按編號(hào)查找*-*/void booknumb

18、erlookup()int i,k,flag=1;char num10;char m;printf(" nntttt按編號(hào)查找n"); while(flag) printf("請(qǐng)輸入編號(hào):"); scanf("%s",num); k=0; for(i=0;i<M;i+) if (strcmp(booki.book_number,num)=0) printf("編號(hào)t 書(shū)名tt 作者 t 出版日期 tt 價(jià)格n"); printf("%-10s%-20s%-15s%-10stt%fn",bo

19、oki.book_number,booki.book_name,booki.writter,booki.pubnish_time,booki.price); k=1; if (k=0) printf("錯(cuò)誤輸入!n"); else printf("n"); printf("是否繼續(xù)(Y/N)?:"); getchar(); scanf("%c",&m); if (m='n'|m='N') flag=0; menu();6、按書(shū)名查找模塊:/*-*按書(shū)名查找*-*/void b

20、ooknamelookup()int i,k,flag=1;char num10;char m;printf(" nnttt按書(shū)名查找n"); while(flag) printf("請(qǐng)輸入書(shū)名:"); scanf("%s",num); k=0; for(i=0;i<M;i+) if (strcmp(booki.book_name,num)=0) printf("編號(hào)t 書(shū)名tt 作者 t 出版日期 tt 價(jià)格n"); printf("%-10s%-20s%-15s%-10stt%fn",

21、booki.book_number,booki.book_name,booki.writter,booki.pubnish_time,booki.price); k=1; if (k=0) printf("錯(cuò)誤輸入!n"); else printf("n"); printf("是否繼續(xù)(Y/N)?:"); getchar(); scanf("%c",&m); if (m='n'|m='N') flag=0; menu();7、瀏覽圖書(shū)模塊:/*-*瀏覽圖書(shū)*-*/void l

22、ookup()int flag=1; char m; while(flag) printf("編號(hào)t 書(shū)名tt 作者 t 出版日期 tt 價(jià)格n");for (int i=0;i<M;i+)printf("%-10s%-20s%-15s%-10stt%fn",booki.book_number,booki.book_name,booki.writter,booki.pubnish_time,booki.price); printf("n"); printf("是否繼續(xù)(Y/N)?:"); scanf(&quo

23、t;%c",&m); getchar(); if (m='n'|m='N') flag=0; menu();三、系統(tǒng)調(diào)試(一)系統(tǒng)調(diào)試在完成了圖書(shū)信息管理系統(tǒng)流程圖設(shè)計(jì)和程序設(shè)計(jì)以后,便進(jìn)入系統(tǒng)的調(diào)試階段,系統(tǒng)調(diào)試就是為了找出程序中的漏洞,以便于及時(shí)的修改。本設(shè)計(jì)選用VC+6.0軟件進(jìn)行程序調(diào)試。1、VC+6.0調(diào)試方法編寫(xiě)程序,編譯程序,鏈接程序,運(yùn)行程序。在編譯的過(guò)程中error代表程序中含有語(yǔ)法錯(cuò)誤,所以error必須為0,程序才可以運(yùn)行。Warning代表程序中含有警告,存在警告時(shí)并不影像程序的運(yùn)行。圖3-1 程序調(diào)試軟件窗口2、調(diào)試結(jié)

24、果分析通過(guò)本次調(diào)試,程序中出現(xiàn)了許多問(wèn)題,如死循環(huán)、系統(tǒng)不能正常退出、和當(dāng)數(shù)據(jù)溢出時(shí),沒(méi)法打印“輸入有誤,請(qǐng)重新輸入!”等說(shuō)明自己對(duì)程序的執(zhí)行過(guò)程理解不夠深刻。經(jīng)過(guò)同學(xué)的指導(dǎo),此程序終于可以正常的運(yùn)行。二調(diào)試過(guò)程存在問(wèn)題與解決辦法1、調(diào)試存在的問(wèn)題:1、增加圖書(shū)時(shí),增加的圖書(shū)沒(méi)法保存,再次運(yùn)行程序增加的圖書(shū)消失;2、在選擇服務(wù)類型時(shí),如果輸入是字母時(shí)程序會(huì)陷入死循環(huán);3、在選擇服務(wù)類型時(shí),當(dāng)輸入的數(shù)據(jù)溢出時(shí),程序直接退出;2、解決問(wèn)題的辦法:1、用文件,(沒(méi)學(xué)自學(xué)不會(huì)運(yùn)用),所以沒(méi)加;2、在scanf("%d",&choose)后加入getchar();這樣當(dāng)輸入字母時(shí)不會(huì)陷入死循環(huán);3、加default:printf("nnnnnnntt輸入有誤,請(qǐng)重新輸入!");menu();語(yǔ)句,程序就可以正常的運(yùn)行了;總 結(jié)這次課程設(shè)計(jì)讓我掌握了許多的有用知識(shí)。首先通過(guò)

溫馨提示

  • 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)論