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