《C語(yǔ)言課程設(shè)計(jì)報(bào)告》剖析_第1頁(yè)
《C語(yǔ)言課程設(shè)計(jì)報(bào)告》剖析_第2頁(yè)
《C語(yǔ)言課程設(shè)計(jì)報(bào)告》剖析_第3頁(yè)
《C語(yǔ)言課程設(shè)計(jì)報(bào)告》剖析_第4頁(yè)
《C語(yǔ)言課程設(shè)計(jì)報(bào)告》剖析_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

精選優(yōu)質(zhì)文檔-----傾情為你奉上精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)專心---專注---專業(yè)精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)五邑大學(xué)課程設(shè)計(jì)報(bào)告課程名稱:C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)課程編號(hào):學(xué)時(shí):16學(xué)時(shí)學(xué)分:1學(xué)分圖書信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)姓名:梁婉琦 學(xué)號(hào):班級(jí):班專業(yè):電子信息工程(信息安全)學(xué)院:計(jì)算機(jī)學(xué)院指導(dǎo)教師:張勝利課程設(shè)計(jì)遞交時(shí)間:2014年4月18日目錄課程設(shè)計(jì)目的進(jìn)一步加深、鞏固所學(xué)專業(yè)課程《C語(yǔ)言程序設(shè)計(jì)》的基本理論知識(shí),理論聯(lián)系實(shí)際,進(jìn)一步培養(yǎng)自己綜合分析問題和解決問題的能力。掌握運(yùn)用C語(yǔ)言獨(dú)立地編寫、調(diào)試應(yīng)用程序和進(jìn)行其它相關(guān)設(shè)計(jì)的技能。課程設(shè)計(jì)的內(nèi)容設(shè)計(jì)并實(shí)現(xiàn)一個(gè)圖書信息管理系統(tǒng),要求具有以下功能模塊:圖書信息錄入模塊。圖書信息瀏覽模塊。圖書信息查詢模塊。圖書修改刪除模塊。圖書借閱模塊:圖書歸還模塊:借閱查詢模塊:退出系統(tǒng)模塊。課程設(shè)計(jì)的要求系統(tǒng)功能要求:圖書信息錄入模塊:圖書信息包括書名,編號(hào),作者,價(jià)格,出版社,類別,原始庫(kù)存,借出。數(shù)據(jù)的存儲(chǔ)可以采用結(jié)構(gòu)體數(shù)組或者鏈表。圖書信息可以通過鍵盤逐個(gè)錄入。圖書信息可以通過文件導(dǎo)入。將最終數(shù)據(jù)存儲(chǔ)在文件中圖書信息瀏覽模塊:能夠?yàn)g覽圖書的基本信息和借閱信息。將最終數(shù)據(jù)存儲(chǔ)到文件圖書信息查詢模塊:通過圖書編號(hào)查詢圖書信息。通過圖書書名查詢圖書信息。圖書修改刪除模塊:通過圖書查詢選擇要操作的圖書。選擇修改或刪除操作。選擇的圖書已被借閱則不能繼續(xù)操作,退出系統(tǒng)。將最終數(shù)據(jù)存儲(chǔ)到文件5.圖書借閱模塊:通過學(xué)生學(xué)號(hào)和圖書編號(hào)進(jìn)行借閱。如果該學(xué)號(hào)是第一次借閱則需要輸入姓名,并存入student.txt。將最終數(shù)據(jù)存儲(chǔ)到文件6.圖書歸還模塊:輸入學(xué)生學(xué)號(hào)查詢?cè)搶W(xué)生已借閱的圖書,再選擇圖書編號(hào)選擇歸還的圖書。將最終數(shù)據(jù)存儲(chǔ)到文件7.借閱查詢模塊: 輸入學(xué)生學(xué)號(hào)查詢?cè)搶W(xué)生已借閱的圖書??刹樵儗W(xué)生已借但未還的圖書。8.退出系統(tǒng)模塊:每次操作結(jié)束都選擇system(“pause”);來退出從而進(jìn)行下一個(gè)操作。用戶可以根據(jù)提示退出系統(tǒng)。系統(tǒng)技術(shù)要求:用C語(yǔ)言實(shí)現(xiàn)系統(tǒng)。系統(tǒng)以菜單方式工作。有相應(yīng)的代碼說明(注釋)提供一個(gè)界面來調(diào)用各個(gè)功能。其他要求:最終遞交材料:課程報(bào)告一份,系統(tǒng)源代碼一份。一人一題,單獨(dú)完成。概要設(shè)計(jì)圖書信息管理系統(tǒng)系統(tǒng)功能框架圖圖書信息管理系統(tǒng)圖書信息錄入模塊借閱查詢模塊圖書歸還模塊圖書借閱模塊圖書修改刪除模塊圖書信息查詢模塊圖書信息瀏覽模塊圖書信息錄入模塊借閱查詢模塊圖書歸還模塊圖書借閱模塊圖書修改刪除模塊圖書信息查詢模塊圖書信息瀏覽模塊退退出系統(tǒng)模塊文件導(dǎo)入模塊按編號(hào)排序記錄刪除模塊記錄修改模塊文件導(dǎo)入模塊鍵盤錄入模塊文件導(dǎo)入模塊按編號(hào)排序記錄刪除模塊記錄修改模塊文件導(dǎo)入模塊鍵盤錄入模塊編號(hào)查詢模塊記錄修改模塊編號(hào)查詢模塊書名查詢模塊編號(hào)查詢模塊記錄修改模塊編號(hào)查詢模塊書名查詢模塊圖1系統(tǒng)功能模塊圖功能模塊描述(描述每個(gè)功能模塊的具體功能)1.圖書信息錄入模塊:按照系統(tǒng)的提示輸入圖書信息,書名,圖書編號(hào),作者,出版日期,圖書價(jià)格,出版社,圖書類別,圖書入庫(kù)數(shù)。這個(gè)模塊我用了strcmp()來對(duì)比輸入的圖書編號(hào)是否與之前的編號(hào)重復(fù),讀出與寫入都用fread()和fwrite()來實(shí)現(xiàn),而整個(gè)代碼都用了這兩個(gè)函數(shù)。而錄入的信息則存儲(chǔ)在C盤中的book.txt文件。2.圖書瀏覽模塊:能實(shí)現(xiàn)把儲(chǔ)存在文件里的圖書信息輸出到顯示器上。3.查詢圖書模塊:調(diào)用自定義函數(shù)dui()對(duì)比兩個(gè)字符串的相關(guān)度,用于精確查詢,查詢有兩種形式,按圖書編號(hào)查詢和按圖書書名查詢。4.刪除修改圖書模塊:修改和刪除儲(chǔ)存在文件中的圖書信息5.圖書借閱模塊:輸入學(xué)生學(xué)號(hào)借閱圖書6圖書歸還模塊:輸入學(xué)生學(xué)號(hào)和要?dú)w還的圖書的編號(hào),修改原本借閱圖書的數(shù)據(jù),再將修改后的數(shù)據(jù)覆蓋原數(shù)據(jù)。7.借閱查詢模塊:輸入學(xué)號(hào),查詢?cè)搶W(xué)生所借閱圖書的基本信息。8.退出模塊:退出系統(tǒng)。詳細(xì)設(shè)計(jì)開始各功能模塊的具體實(shí)現(xiàn)算法——流程圖開始主控main函數(shù)流程圖系統(tǒng)初始化調(diào)用主控菜單函數(shù)調(diào)用主控菜單函數(shù)menu();并提示操作方法While(1)While(1)輸入【0~7】之間某一整數(shù)輸入【0~7】之間某一整數(shù)輸入是否為輸入是否為0 yes是否已經(jīng)對(duì)修改進(jìn)行了存盤是否已經(jīng)對(duì)修改進(jìn)行了存盤判斷鍵值,調(diào)用相應(yīng)函數(shù),完成相應(yīng)功能no判斷鍵值,調(diào)用相應(yīng)函數(shù),完成相應(yīng)功能noyes用相關(guān)函數(shù)把數(shù)據(jù)寫入文檔用相關(guān)函數(shù)把數(shù)據(jù)寫入文檔結(jié)束圖2主控main函數(shù)流程圖開始開始系統(tǒng)初始化fread(&booq,sizeof(bo),1,fp)調(diào)用主控菜單函數(shù)調(diào)用主控菜單函數(shù)menu();并提示操作方法While(1)While(1)輸入【0~7】之間某一整數(shù)輸入【0~7】之間某一整數(shù)輸入是否為輸入是否為1 yesno判斷鍵值,調(diào)用相應(yīng)函數(shù),完成相應(yīng)功能按提示輸入圖書基本信息,利用判斷鍵值,調(diào)用相應(yīng)函數(shù),完成相應(yīng)功能按提示輸入圖書基本信息,利用strcmp判斷輸入的圖書編號(hào)是否重復(fù)利用fread和fwrite讀入和輸出信息到book.text文件中并保存利用fread和fwrite讀入和輸出信息到book.text文件中并保存結(jié)束圖3.錄入圖書模塊流程圖開始開始系統(tǒng)初始化fread(&booq,sizeof(bo),1,fp)調(diào)用主控菜單函數(shù)調(diào)用主控菜單函數(shù)menu();并提示操作方法While(1)While(1)輸入【0~7】之間某一整數(shù)輸入【0~7】之間某一整數(shù)輸入是否為輸入是否為2 yes no利用fread()讀出儲(chǔ)存在文件的圖書信息判斷鍵值,調(diào)用相應(yīng)函數(shù),完成相應(yīng)功能利用fread()讀出儲(chǔ)存在文件的圖書信息判斷鍵值,調(diào)用相應(yīng)函數(shù),完成相應(yīng)功能結(jié)束圖4.瀏覽圖書模塊流程圖開始開始系統(tǒng)初始化fread(&booq,sizeof(bo),1,fp)調(diào)用主控菜單函數(shù)調(diào)用主控菜單函數(shù)menu();并提示操作方法While(1)While(1)輸入【0~7】之間某一整數(shù)輸入【0~7】之間某一整數(shù)輸入是否為輸入是否為3 yes是否選擇按圖書編號(hào)查詢是否選擇按圖書編號(hào)查詢 no判斷鍵值,調(diào)用相應(yīng)函數(shù),完成相應(yīng)功能 no判斷鍵值,調(diào)用相應(yīng)函數(shù),完成相應(yīng)功能按圖書名查詢按圖書名查詢 yes調(diào)用設(shè)計(jì)的自定義函數(shù)調(diào)用設(shè)計(jì)的自定義函數(shù)dui()來對(duì)比兩個(gè)字符串的相關(guān)度,用于查找結(jié)束結(jié)束用fread()讀出信息 圖5.查詢圖書模塊流程圖開始開始系統(tǒng)初始化fread(&booq,sizeof(bo),1,fp)調(diào)用主控菜單函數(shù)調(diào)用主控菜單函數(shù)menu();并提示操作方法While(1)While(1)輸入【0~7】之間某一整數(shù)輸入【0~7】之間某一整數(shù)輸入是否為輸入是否為4 yes利用利用strcmp()判斷輸入的編號(hào)是否與jieyue.text中的編號(hào)一致 no判斷鍵值,調(diào)用相應(yīng)函數(shù),完成相應(yīng)功能判斷鍵值,調(diào)用相應(yīng)函數(shù),完成相應(yīng)功能 no修改圖書信息(利用文件指針修改)是否刪除圖書修改圖書信息(利用文件指針修改)是否刪除圖書 no no刪除圖書 yes刪除圖書將修改后的信息儲(chǔ)存在文件將修改后的信息儲(chǔ)存在文件結(jié)束 結(jié)束圖6.修改刪除圖書模塊流程圖開始開始輸入借閱圖書的編號(hào)輸入借閱圖書的編號(hào)圖書編號(hào)是否存在圖書編號(hào)是否存在no圖書編號(hào)是否與已借閱圖書重復(fù)yes圖書編號(hào)是否與已借閱圖書重復(fù)no yes該圖書所余數(shù)量是否與庫(kù)存數(shù)量一樣no該圖書所余數(shù)量是否與庫(kù)存數(shù)量一樣yesno no輸入學(xué)號(hào)借閱輸入學(xué)號(hào)借閱 nono是否為第一次借閱是否為第一次借閱記錄學(xué)生姓名yes記錄學(xué)生姓名該學(xué)生是否已借閱五本圖書no該學(xué)生是否已借閱五本圖書 noyes no借閱圖書,修改文件的數(shù)據(jù)借閱圖書,修改文件的數(shù)據(jù)結(jié)束圖7.借閱圖書模塊流程圖結(jié)束開始開始開始開始輸入學(xué)號(hào)輸入學(xué)號(hào)輸入學(xué)號(hào)輸入學(xué)號(hào)是否有借書是否有借書用fread(),fwind()找到文件并顯示出來用fread(),fwind()找到文件并顯示出來yes輸入要還圖書的編號(hào)輸入要還圖書的編號(hào)結(jié)束結(jié)束改變文件里的數(shù)據(jù)改變文件里的數(shù)據(jù)圖9.查詢圖書模塊流程圖結(jié)束圖8.歸還圖書模塊流程圖5.2重點(diǎn)設(shè)計(jì)描述修改和刪除模塊是我做程序設(shè)計(jì)最重點(diǎn)設(shè)計(jì)的模塊,修改過后的數(shù)據(jù)儲(chǔ)存剛開始我是不知道該怎么弄的,而現(xiàn)在我主要是用文件來儲(chǔ)存信息。我用fread()修改原本的數(shù)據(jù),用fclose()和fopen(),fseek()找到文件和轉(zhuǎn)移數(shù)據(jù)。系統(tǒng)測(cè)試與調(diào)試源代碼敲完之后進(jìn)行的調(diào)試其實(shí)是不行的,因?yàn)閷?shí)在是太多錯(cuò)處了。本來一堆英文,誰(shuí)看得懂它們是什么?打算下個(gè)金山詞霸來個(gè)全頁(yè)翻譯,但同學(xué)告訴我只要在那個(gè)下面提示錯(cuò)處的地方雙擊就會(huì)自動(dòng)告訴你錯(cuò)處在哪個(gè)地方,感覺實(shí)在是太方便了!還有就是用文件儲(chǔ)存信息的時(shí)候指針那里總是有問題,也是請(qǐng)教了別人才會(huì)改,問大神和看書我才知道用fseek(),rewind()解決了問題。還有就是查詢的那里依然有點(diǎn)問題,只能夠用精確查找,感覺不太方便;而學(xué)生的學(xué)號(hào)10位輸入進(jìn)去之后不能在借閱查詢找到借閱信息,而定義改了20位也不可以所以,加了rewind()也是不能顯示,也不知道怎么辦?調(diào)試程序時(shí)主要問題出現(xiàn)在文件指針的移動(dòng),圖書和借閱信息的刪除!因?yàn)槲艺麄€(gè)程序都是通過圖書編號(hào)來完成操作,所以我必須保證圖書編號(hào)不被重復(fù),用戶修改圖書編號(hào)和刪除時(shí)我都要考慮這本書書是否被借閱。而刪除圖書,我先把不用的圖書寫到另一個(gè)文件里,然后再以新建的方式打開原文件,把圖書信息又寫回來。課程設(shè)計(jì)心得體會(huì)通過本次課程設(shè)計(jì),我重新認(rèn)識(shí)了C語(yǔ)言,這是一門非常需要耐心和思考的課程。而在做課程設(shè)計(jì)的過程中剛開始我其實(shí)是不知道應(yīng)該從哪里入手的,因?yàn)楦杏X不知道怎么開始。之后就去看教學(xué)平臺(tái)上面的材料,因?yàn)殚_始看不懂所以又轉(zhuǎn)戰(zhàn)百度,反正就是找了很多資料才有頭緒才開始寫的。中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論