




版權(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)告書題目:圖書信息管理系統(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)注。如何獲取信息?圖書是我們最好的獲取信息的方式,但由于圖書館圖書收藏量大大增加,使傳統(tǒng)的圖書管理員的工作日益繁重起來(lái)。迫使人們起用新的管理方法來(lái)管理圖書,如何把圖書管理員從繁重的工作中解脫出來(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í)代。因此,圖書管理系統(tǒng)也以方便、快捷、費(fèi)用低的優(yōu)點(diǎn)正慢慢地進(jìn)入人們的生活,將傳統(tǒng)的圖書管理方式徹底的解脫出來(lái),提高效率,減輕工人人員以往繁忙的工作,減小出錯(cuò)的概率,使讀者可以花更多的時(shí)間在選擇書和看書上。從而使人們有更多時(shí)間來(lái)獲取信息、了解信息、掌握信息。【關(guān)鍵詞】圖書管理;系統(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ì)“圖書信息管理系統(tǒng)”2、設(shè)計(jì)要求:圖書信息包括:編號(hào),書名,作者名,出版時(shí)間,價(jià)格等。使之提供以下功能:(1) 系統(tǒng)以菜單方式工作。(2) 圖書信息瀏覽功能。(3) 圖書信息查詢功能。二、設(shè)計(jì)思路1、設(shè)計(jì)方法:根據(jù)題目要求,可以將系統(tǒng)分為四個(gè)模塊:(1) 管理員登錄系統(tǒng)模塊。(2) 菜單選擇模塊
4、。(3) 圖書信息瀏覽功能。(4) 圖書信息查詢功能。2、設(shè)計(jì)方案分析:根據(jù)題目要求,應(yīng)當(dāng)把圖書信息用結(jié)構(gòu)體形式輸入,在程序中需事先將圖書信息保存在結(jié)構(gòu)體中,瀏覽,查詢等功能的操作,所以需要建立相應(yīng)的模塊來(lái)實(shí)現(xiàn);另外還需提供鍵盤式選擇菜單實(shí)現(xiàn)功能,在運(yùn)行時(shí)達(dá)到所要目的。二、系統(tǒng)設(shè)計(jì)一、總體設(shè)計(jì)根據(jù)題目要求,可以將系統(tǒng)分為六個(gè)模塊:1) 管理員登錄系統(tǒng)模塊;2) 菜單選擇模塊;3) 增加圖書模塊;4) 刪除圖書模塊;5) 按編號(hào)查詢圖書功能模塊;6) 按書名查詢圖書功模塊;7) 瀏覽圖書模塊。管理員登錄系統(tǒng)模塊菜單選擇模塊圖書信息管理系統(tǒng)增加圖書模塊刪除圖書模塊瀏覽圖書模塊按編號(hào)查找圖書模塊按書
5、名查找圖書模塊圖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:增加圖書模塊。S5: 刪除圖書模塊。S6:按編號(hào)查找模塊。S7:按書名查找模塊。S8:瀏覽圖書模塊。S9:判斷數(shù)據(jù)是否溢出,如果溢出則打印“輸入有誤,請(qǐng)重新輸入”。S10:退出程序。開始輸入管理員密碼輸入正確與否結(jié)束N3次輸入錯(cuò)誤是否繼續(xù)功能選擇模塊增加圖書模塊刪除圖書模塊
6、按編號(hào)查找圖書模塊按書名查找圖書模塊瀏覽圖書模塊是否繼續(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(" 圖書信息管理系統(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歡迎使用圖書管理系統(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、增加圖書 n");printf(" 2、刪除圖書
12、 n");printf(" 3、按編號(hào)查找 n");printf(" 4、按書名查找 n");printf(" 5、瀏覽圖書 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、增加圖書模塊/*-*增加圖書*-*/ void add() /*自定義函數(shù)*/ int i,flag=1; char
14、 k; printf(" nnnnnntttt*增*加*圖*書* nnnnnnnn");while(flag)printf("nn請(qǐng)輸入圖書信息:n");getchar(); printf("t 編號(hào):");gets(bookM.book_number); printf("t書名:");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 書名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、刪除圖書模塊/*-*刪除圖書*-*/void dele()int i,j,flag=1;char num10,c;printf(" nnttt刪除圖書!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 書名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、按書名查找模塊:/*-*按書名查找*-*/void b
20、ooknamelookup()int i,k,flag=1;char num10;char m;printf(" nnttt按書名查找n"); while(flag) printf("請(qǐng)輸入書名:"); scanf("%s",num); k=0; for(i=0;i<M;i+) if (strcmp(booki.book_name,num)=0) printf("編號(hào)t 書名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、瀏覽圖書模塊:/*-*瀏覽圖書*-*/void l
22、ookup()int flag=1; char m; while(flag) printf("編號(hào)t 書名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)試在完成了圖書信息管理系統(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)試方法編寫程序,編譯程序,鏈接程序,運(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í),沒法打印“輸入有誤,請(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í),增加的圖書沒法保存,再次運(yùn)行程序增加的圖書消失;2、在選擇服務(wù)類型時(shí),如果輸入是字母時(shí)程序會(huì)陷入死循環(huán);3、在選擇服務(wù)類型時(shí),當(dāng)輸入的數(shù)據(jù)溢出時(shí),程序直接退出;2、解決問(wèn)題的辦法:1、用文件,(沒學(xué)自學(xué)不會(huì)運(yùn)用),所以沒加;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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)蒙古科技大學(xué)《土木工程力學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川省德陽(yáng)市中學(xué)江縣市級(jí)名校2025年初三下第三次周考綜合試題含解析
- 西藏拉薩片八校2025年高三寒假測(cè)試二歷史試題含解析
- 江門職業(yè)技術(shù)學(xué)院《智能計(jì)算系統(tǒng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 咸寧市嘉魚縣2025年數(shù)學(xué)三下期末教學(xué)質(zhì)量檢測(cè)試題含解析
- 濰坊食品科技職業(yè)學(xué)院《朝鮮語(yǔ)會(huì)話(Ⅲ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 煙臺(tái)城市科技職業(yè)學(xué)院《健康評(píng)估技能》2023-2024學(xué)年第一學(xué)期期末試卷
- 山東水利職業(yè)學(xué)院《大學(xué)生就業(yè)指導(dǎo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 遼寧省錦州市2025屆下學(xué)期第三次考試英語(yǔ)試題(輔導(dǎo)班)試題含解析
- 二零二五股權(quán)轉(zhuǎn)讓協(xié)議之補(bǔ)充協(xié)議
- 2025年全民國(guó)家安全教育日(4.15)知識(shí)測(cè)試競(jìng)賽題庫(kù)(含答案)
- 2025春季學(xué)期國(guó)開電大本科《人文英語(yǔ)3》一平臺(tái)在線形考綜合測(cè)試(形考任務(wù))試題及答案
- 提高四級(jí)手術(shù)術(shù)前多學(xué)科討論完成率實(shí)施方案
- 2024年共青團(tuán)團(tuán)??荚嚾雸F(tuán)考試題庫(kù)及答案
- 手榴彈使用教案
- 《新農(nóng)技推廣法解讀》ppt課件
- 車載式輪椅升降裝置的結(jié)構(gòu)設(shè)計(jì)-畢業(yè)設(shè)計(jì)說(shuō)明書
- 社區(qū)家庭病床護(hù)理記錄文本匯總
- 劍橋BEC中級(jí)真題第四輯TEST1
- 畢業(yè)設(shè)計(jì)(論文)-CK6150總體及縱向進(jìn)給和尾座部件的設(shè)計(jì)
- 施工項(xiàng)目人員任命書(范本)
評(píng)論
0/150
提交評(píng)論