版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C語言程序設計圖書館管理系統(tǒng)C語言程序設計圖書館管理系統(tǒng)C語言程序設計圖書館管理系統(tǒng)xxx公司C語言程序設計圖書館管理系統(tǒng)文件編號:文件日期:修訂次數(shù):第1.0次更改批準審核制定方案設計,管理制度實訓報告實訓報告題目:圖書館管理系統(tǒng)院系:信息科技學院專業(yè):姓名:學號:指導教師:日期:2015年7月15日桂林電子科技大學信息科技學院
目錄1問題定義=================================12系統(tǒng)設計---------------------------------52.1總體設計---------------------------------52.2詳細設計---------------------------------62.2.1數(shù)據(jù)結構設計---------------------------------2.2.2主控流程---------------------------------8增加信息模塊---------------------------------7查找信息模塊---------------------------------7刪除信息模塊---------------------------------7.8修改信息模塊---------------------------------72.2.8數(shù)據(jù)功能描述---------------------------------73系統(tǒng)實現(xiàn)================================2編碼--------------------------------83.1.1程序預處理--------------------------------93.1.2主函數(shù)main()---------------------------------93.1.3主菜單界面--------------------------------113.1.7增加圖書信息--------------------------------143.1.8查詢圖書信息--------------------------------143.1.9刪除圖書信息--------------------------------15修改圖書信息--------------------------------15測試與調試--------------------------------133.2.1概述--------------------------------143.2.2程序測試--------------------------------145歸納總結==============================================3開發(fā)經(jīng)驗--------------------------------16實訓中遇到的問題及解決方法-------------------------16設計中的不足之處---------------------------------16感想和心得體會---------------------------------166參考資料=================================16前言課程設計環(huán)節(jié)是應用型本科院校非常重要的一個教學環(huán)節(jié),是學完一門課后應用本課知識及以前的知識積累而進行的綜合性、開放性的訓練。通過課程設計,不僅能夠使學生得到系統(tǒng)的技能訓練,鞏固和加強所學得專業(yè)理論知識,而且能夠培養(yǎng)學生工程意識、創(chuàng)新能力、團隊精神等綜合素質,培養(yǎng)學生的設計能力和解決實際問題的能力。C語言由于其強大的功能,豐富的表達能力,高效的代碼,良好的移植性和靈活性,自1972年問世以來,經(jīng)久不衰,即使現(xiàn)在出現(xiàn)了面向對象的程序設計方法和開發(fā)工具,但它仍然是人們學習程序設計的首選語言,用它訓練和提高編程技術,以及開發(fā)應用程序等。我們通過《C語言程序設計》這門課程的學習,已經(jīng)能編寫解決小問題的程序,對程序的開發(fā)也有了初步的認識,還掌握了C語言的基本語法,這一過程確確實實令我們感到欣喜,有點計算機可以完成自我任務的成就感。但是,對于程序設計而言,學習C的步伐不應該停留于此。我們最終的目的應該是掌握開發(fā)大型綜合程序的方法,即遵循軟件工程的開發(fā)步驟和結構化程序設計思想,用C語言開發(fā)出解決復雜問題的大型綜合程序??墒菍τ诙鄶?shù)學生來說,學習了C語言后,除了應付各種考試之外,別無它用,對TurboC語言豐富的函數(shù)知之甚少,加上DOS環(huán)境所限,因而對C語言興趣不大,也感到C語言比較難以掌握。本實訓就是為了讓學生在學完C語言后進一步了解C語言的知識,掌握C語言在軟件開發(fā)方面的使用方法,希望通過此次實訓,不僅能提高學生學習C語言的興趣,更為今后學習其它專業(yè)知識及開發(fā)程序打下堅實的基礎。本指導書中有些內容借鑒了互聯(lián)網(wǎng)上相關程序的設計思想,在此對相關者表示衷心的感謝。由于時間、經(jīng)驗及水平的原因,不當、不足之處,請大家提出寶貴意見。編者
圖書館管理系統(tǒng)實訓目的:鞏固C語言的三種基本結構、數(shù)組、函數(shù)調用的基本知識;掌握利用C語言編寫程序的基本方法,提高C語言編程技巧,培養(yǎng)分析問題、解決問題的能力;熟練掌握C語言的編譯、調用方法。實驗內容退出圖書管理修改圖書信息刪除圖書信息查找圖書信息增加圖書信息主菜單退出圖書管理修改圖書信息刪除圖書信息查找圖書信息增加圖書信息主菜單1、問題定義創(chuàng)建一個圖書館管理系統(tǒng)。假設系統(tǒng)中每本圖書只包括圖書名字、圖書書號、圖書出版社、圖書作者等信息。程序的運行效果如圖所示,選擇任意菜單中的數(shù)字,實現(xiàn)相應功能。圖圖書管理系統(tǒng)功能需求在問題定義階段要考慮題目的可行性和需求分析,接下來進入開發(fā)階段,完成系統(tǒng)設計和系統(tǒng)實現(xiàn)的任務。2.系統(tǒng)設計2.1總體設計采用模塊化的程序設計方法,即將較大的任務按照一定的原則分為一個個較小的任務,然后分別設計各個小任務。需要注意的是劃分出來的模塊應該相對獨立但又相關,且容易理解。可以用模塊化層次結構圖(即模塊圖)來分析其任務的劃分,一般從上到下進行,最上面一層是主模塊,下面各層是其上一層模塊的逐步細化描述。本圖書管理系統(tǒng)采用了數(shù)組來實現(xiàn),如下圖所示,它由五大功能模塊組成:?增加圖書信息模塊。通過輸入圖書的書名、書號、出版社、作者來實現(xiàn)增加信息。?查找圖書信息模塊。根據(jù)增加的圖書的書名來查找圖書的信息。?刪除圖書信息模塊。根據(jù)增加的圖書信息記錄通過查找定位找到信息進行刪除。?修改圖書信息模塊。根據(jù)增加的圖書信息記錄通過查找找到該書信息進行修改。詳細設計2.2.1數(shù)據(jù)結構設計圖書館信息結構體結構體structbook將用于儲存圖書的基本信息,它將作為文件的數(shù)據(jù)域。Structbook/*定義結構體*/{charName[20];/*書名*/charNumber[20];/*書號*/charpublish[20];/*出版社*/charauthor[10];/*作者*/}book[500];這樣就定義了一個數(shù)組的結構2.2.2主控main()函數(shù)執(zhí)行流程增加信息模塊:主要實現(xiàn)圖書信息的增加功能。查找信息模塊:主要實現(xiàn)圖書查找書籍的功能。刪除信息模塊:主要實現(xiàn)圖書刪除圖書記錄的功能修改信息模塊:主要實現(xiàn)修改增加后的圖書信息功能。函數(shù)功能述?add()函數(shù)原型:voidadd();add()函數(shù)用于在增加圖書信息的功能。?chazhao()函數(shù)原型:chazhao();chazhao()函數(shù)用于在查找圖書信息的功能。?del()函數(shù)原型:del();del()函數(shù)用于在刪除圖書信息的功能。?xiugai()原型函數(shù):xiugai();xiugai()函數(shù)用于在修改圖書信息的功能。主函數(shù)main()整個成績管理系統(tǒng)控制部分。voidmain()/*整個圖書管理系統(tǒng)控制部分*/{inti;do/*控制返回菜單*/{Menu();printf("請輸入要實現(xiàn)的功能");scanf("%d",&i);if(i<=4&&i>=0)/*請輸入0到4之間的數(shù)字*/switch(i){case1:add();break;case2:chazhao();break;case3:del();break;case4:xiugai();break;case0:exit(0);break;}elseprintf("對不起,請重新輸入并按回車確定\n\n");}while(1);}注:圖書館信息管理系統(tǒng)的控制部分。3、系統(tǒng)實現(xiàn)3.1編碼3.1.1包括定義結構體、常量和變量、聲明部分,并對它們進行初始化工作。#include<>/*標準函數(shù)輸入輸出函數(shù)庫*/#include<>/*標準函數(shù)庫*/#include<>/*字符串函數(shù)庫*//*^TTT^TTT^^TT^TT^TT^T函數(shù)聲明部分T^TTT^T^TT^TT^TT^TT^T*/voidadd();/*增加*/voidchazhao();/*查找*/voiddel();/*刪除*/voidxiugai();/*修改*/voidexti();/*退出*/voidMenu();/*菜單*//*T^^TT^TT^TT^TT^T定義結構體部分T^TTT^TT^TT^TT^TT^TT^T*/structbook/*定義結構體*/{charName[20];/*書名*/charNumber[20];/*書號*/charpublish[20];/*出版社*/charauthor[10];/*作者*/}book[500];#include<>/*標準函數(shù)輸入輸出函數(shù)庫*/#include<>/*標準函數(shù)庫*/#include<>/*字符串函數(shù)庫*//*^TTT^TTT^^TT^TT^TT^T函數(shù)聲明部分T^TTT^T^TT^TT^TT^TT^T*/voidadd();/*增加*/voidchazhao();/*查找*/voiddel();/*刪除*/voidxiugai();/*修改*/voidexti();/*退出*/voidMenu();/*菜單*//*T^^TT^TT^TT^TT^T定義結構體部分T^TTT^TT^TT^TT^TT^TT^T*/structbook/*定義結構體*/{charName[20];/*書名*/charNumber[20];/*書號*/charpublish[20];/*出版社*/charauthor[10];/*作者*/}book[500];主函數(shù)main()main()函數(shù)主要實現(xiàn)了對整個程序的運行控制,以及相關功能模塊的調用。voidmain()/*整個圖書管理系統(tǒng)控制部分*/{inti;do/*控制返回菜單*/{Menu();printf("請輸入要實現(xiàn)的功能");scanf("%d",&i);if(i<=4&&i>=0)/*請輸入0到4之間的數(shù)字*/switch(i){case1:add();break;case2:chazhao();break;case3:del();break;case4:xiugai();break;case0:exit(0);break;}elseprintf("對不起,請重新輸入并按回車確定\n\n");}while(1);}主菜單界面{printf("━━━━━━━━━━━━歡迎使用圖書管理系統(tǒng)━━━━━━━━\n");printf("┏———————————————菜單—————————————┓\n");printf("││\n");printf("│按'1':增加圖書信息│\n");printf("││\n");printf("││\n");printf("│按'2':查找圖書信息│\n");printf("││\n");printf("││\n");printf("│按'3':刪除圖書信息│\n");printf("││\n");printf("││\n");printf("│按'4':修改圖書信息│\n");printf("││\n");printf("││\n");printf("│按'0':退出圖書管理│\n");printf("││\n");printf("┗—————————請選擇你需要的操作————————┛\n");printf("<<<<<<<<<<<<<<<<<<<<==================>>>>>>>>>>>>>>>>>>>>\n");printf(" 電信工程專業(yè)06\n");}增加圖書信息用戶進入系統(tǒng)后,輸入要添加的書籍信息。voidadd()/*增加功能*/{inti,j;printf("請輸入要增加圖書的圖書數(shù)量,按回車鍵結束\n");scanf("%d",&j);for(i=0;i<j;i++){printf("請輸入要增加圖書的圖書名字,按回車鍵結束=");scanf("%s",book[i].Name);printf("請輸入要增加圖書的圖書書號,按回車鍵結束=");scanf("%s",book[i].Number);printf("請輸入要增加圖書的圖書出版社,按回車鍵結束=");scanf("%s",book[i].publish);printf("請輸入要增加圖書的圖書作者,按回車鍵結束author=");scanf("%s",book[i].author);}}查找圖書信息用戶進入系統(tǒng)后,按信息記錄進行查找該圖書的書籍信息。voidchazhao()/*查找功能*/{intj=0;charName[20];printf("請輸入書的name=");/*請輸入要查找圖書的書名*/scanf("%s",Name);for(j=0;j<500;j++)/*找到要查找圖書的書名*/if(strcmp(book[j].Name,Name)==0){printf("┏━━━━━━━┳━━━━━━━━┳━━━━━┳━━━━━┓\n");printf("┃書名┃書號┃出版社┃作者┃\n");printf("┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛\n");printf("\n");printf("%s┃%s┃%s┃%s┃\n",book[j].Name,book[j].Number,book[j].publish,book[j].author);break;}else{printf("抱歉,未找到相應書籍\n");break;}/*如果查找到圖書的信息就輸出該圖書信息,否則輸出sorry,未找到相應書籍*/}刪除圖書信息用戶進入系統(tǒng)后,按條件輸入要刪除的圖書信息。voiddel()/*刪除功能*/{intj=0;charName[20];printf("請輸入圖書的書名,name=");/*按*/scanf("%s",Name);/**/for(j=0;j<500;j++)/**/if(strcmp(book[j].Name,Name)==0)/*將定位到你所要查找圖書的位置*/for(;book[j].Name[0]!='\0';j++)book[j]=book[j+1];/*將查找到的圖書的后一本圖書的信息覆蓋這本圖書的信息*/book[j].Name[0]='\0';/*給結構體最后一個圖書加上結束符*/}修改圖書信息用戶進入系統(tǒng)后,按條件輸入要修改的圖書信息。voidxiugai()/*修改功能*/{intj=0;charNumber[20];printf("請輸入要修改圖書的number=");/*請輸入要修改圖書的書號*/scanf("%s",Number);for(j=0;j<500;j++)if(strcmp(book[j].Number,Number)==0)/*定位到你所要修改圖書的位置,然后修改該書籍的相關信息*/{printf("請輸入要修改圖書的圖書名字,按回車鍵結束=");scanf("%s",book[j].Name);printf("請輸入要修改圖書的圖書書號,按回車鍵結束=");scanf("%s",book[j].Number);printf("請輸入要修改圖書的圖書出版社,按回車鍵結束=");scanf("%s",book[j].publish);printf("請輸入要修改圖書的圖書作者,按回車鍵結束author=");scanf("%s",book[j].author);break;}3.2測試與調試概述一般情況下,為解決一個問題所編寫的程序代碼較長,可能包括幾百條甚至成千上萬條語句。在檢查并排除所有語法錯誤后,還會有不易發(fā)現(xiàn)的邏輯錯誤,因此要對程序進行認真仔細的測試與調試。測試是通過運行程序發(fā)現(xiàn)錯誤的過程,常見的錯誤有數(shù)據(jù)溢出、數(shù)組越界、進入死循環(huán)、語句順序顛倒、多加“;”或少加“{}”等等。調試則是確定測試中找到的錯誤性質并改正錯誤的過程。測試與調試通常交替進行,即測試——調試——再測試——再調試。能檢查出尚未發(fā)現(xiàn)的、各種不同類型錯誤的測試才是成功的測試。測試程序需要測試用例,測試用例可用如下公式表示:測試用例=測試數(shù)據(jù)+預
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國生態(tài)木行業(yè)應用趨勢預測及投資規(guī)模分析報告
- 2024-2030年中國現(xiàn)代物流行業(yè)發(fā)展模式規(guī)劃分析報告
- 2024年溫度變送器項目規(guī)劃申請報告
- 2024-2030年中國環(huán)保產業(yè)發(fā)展前景規(guī)劃研究報告
- 2024-2030年中國熏衣草種植行業(yè)競爭動態(tài)及盈利前景預測報告版
- 2024-2030年中國海運行業(yè)發(fā)展分析投資規(guī)劃研究報告
- 2024-2030年中國水資源開發(fā)行業(yè)市場深度調研及競爭格局與投資研究報告
- 2024-2030年中國氯化銨航運業(yè)產銷狀況及未來需求趨勢預測報告
- 《能譜CT成像對腎透明細胞癌病理分級的相關研究》
- 2024年氨氮自動在線監(jiān)測儀項目申請報告
- 電力工程施工行業(yè)分析報告
- 2023年七年級地理上冊期末測試卷(附答案)
- HYT 147.7-2013 海洋監(jiān)測技術規(guī)程 第7部分:衛(wèi)星遙感技術方法
- 化妝品市場微觀環(huán)境分析
- MOOC 金羽飛揚-世界冠軍的羽毛球課堂-哈爾濱工業(yè)大學 中國大學慕課答案
- (正式版)SHT 3075-2024 石油化工鋼制壓力容器材料選用規(guī)范
- 大學生的自己的職業(yè)生涯規(guī)劃
- 教育科學規(guī)劃課題申請書《基于生活化的幼兒數(shù)學教學活動研究》
- 小班數(shù)學《認識數(shù)字4》課件
- (高清版)DZT 0270-2014 地下水監(jiān)測井建設規(guī)范
- 腦梗死合并高血壓患者個案護理
評論
0/150
提交評論