編碼解碼 課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩15頁(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、<p>  課 程 設(shè) 計(jì)</p><p>  設(shè)計(jì)課程名稱: C語(yǔ)言課程設(shè)計(jì) </p><p>  題 目: 編碼解碼 </p><p><b>  目錄</b></p><p><b>  

2、編碼解碼任務(wù)書</b></p><p><b>  課程設(shè)計(jì)正文</b></p><p><b>  任務(wù)主要功能概述</b></p><p>  任務(wù)書基本要求分析和內(nèi)容描述</p><p><b>  系統(tǒng)的功能結(jié)構(gòu)框圖</b></p><p

3、><b>  C語(yǔ)言程序代碼</b></p><p><b>  系統(tǒng)使用說(shuō)明書</b></p><p>  課程設(shè)計(jì)日志及心得體會(huì)</p><p><b>  編碼解碼任務(wù)書</b></p><p><b>  一、目的要求</b></p&g

4、t;<p>  本課程設(shè)計(jì)任務(wù)的目的是要求學(xué)生按照分析、設(shè)計(jì)、編碼、調(diào)試和測(cè)試的軟件開(kāi)發(fā)過(guò)程獨(dú)立完成一個(gè)簡(jiǎn)單的數(shù)據(jù)壓縮解壓系統(tǒng),并能最終實(shí)現(xiàn)本系統(tǒng)的功能要求。</p><p><b>  二、功能要求</b></p><p><b>  【題目描述】</b></p><p>  在壓縮算法中,有一種算法叫做游

5、程壓縮算法,其算法是如果遇到多個(gè)連續(xù)相同的字節(jié),就先記錄該字節(jié)的連續(xù)的個(gè)數(shù),然后再記錄該字節(jié)。例如字符串AAABBCCCCCCAAA壓縮結(jié)果是3A2B6C3A,結(jié)果只需要8字節(jié)就存貯了原先14字節(jié)的內(nèi)容。不過(guò)這種方法有個(gè)缺點(diǎn),如果單個(gè)元素較多的時(shí)候,反而會(huì)大于原先壓縮前的內(nèi)容。例如AAABBCDEF結(jié)果是3A2B1C1D1E1F,大于原串長(zhǎng)。因此設(shè)置一個(gè)特殊字節(jié)@,如果有連續(xù)出現(xiàn)的字符,就用一個(gè)@表示下面是壓縮數(shù)據(jù),然后接著一個(gè)連續(xù)個(gè)數(shù)

6、,再是被壓縮的字節(jié)。例如第一個(gè)例子中,被壓縮成@3A@2B@6C@3A第二個(gè)例子,被壓縮成@3A@2BCDEF。實(shí)現(xiàn)這種算法。并且考慮如何改良該算法。Windows提供一個(gè)壓縮工具compress.exe,可用來(lái)壓縮大文件,可以通過(guò)VC自帶的解壓縮庫(kù)lzexpand.dll來(lái)解壓縮。</p><p>  你的程序需要實(shí)現(xiàn)以下功能:</p><p><b>  字符串簡(jiǎn)單編碼<

7、;/b></p><p><b>  字符串簡(jiǎn)單解碼</b></p><p><b>  字符串改進(jìn)編碼</b></p><p><b>  字符串改進(jìn)解碼</b></p><p>  解壓縮由命令行compress生成的壓縮文件。</p><p>

8、;<b>  【題目要求】</b></p><p> ?。?)為各項(xiàng)操作功能設(shè)計(jì)一個(gè)菜單。應(yīng)用程序運(yùn)行后,先顯示這個(gè)菜單,然后用戶通過(guò)菜單項(xiàng)選擇希望進(jìn)行的操作項(xiàng)目; (2) 在第一,三個(gè)功能中,用戶輸入源文件名稱和目標(biāo)文件名稱,你的程序打開(kāi)源文件,進(jìn)行編碼,結(jié)果放在目標(biāo)文件中,同時(shí)把結(jié)果顯示再屏幕上</p><p>  (3)在第二,四個(gè)功能中,用戶輸入源文件名

9、稱和目標(biāo)文件名稱,你的程序打開(kāi)源文件,進(jìn)行解碼,結(jié)果放在目標(biāo)文件中,同時(shí)把結(jié)果顯示再屏幕上</p><p>  (4)在功能5中,輸入壓縮文件名和解壓以后的文件名,直接解壓出結(jié)果文件。</p><p><b>  【輸入/輸出要求】</b></p><p> ?。?)應(yīng)用程序運(yùn)行后,先顯示一個(gè)菜單,然后用戶根據(jù)需要選擇相應(yīng)的操作項(xiàng)目。進(jìn)入每個(gè)操

10、作后,根據(jù)程序的提示輸入相應(yīng)的信息;</p><p> ?。?)要求用戶輸入數(shù)據(jù)時(shí),要給出清晰、明確的提示信息,包括輸入的數(shù)據(jù)內(nèi)容、格式及結(jié)束方式等。</p><p><b>  課程設(shè)計(jì)正文</b></p><p>  一、編碼解碼任務(wù)書主要功能概述</p><p>  編碼解碼任務(wù)書系統(tǒng)主要實(shí)現(xiàn)以下功能:</p

11、><p><b>  字符串簡(jiǎn)單編碼。</b></p><p><b>  字符串簡(jiǎn)單解碼。</b></p><p><b>  字符串改進(jìn)編碼。</b></p><p><b>  字符串改進(jìn)解碼。</b></p><p>  解壓縮

12、由命令行compress生成的壓縮文件。</p><p><b>  退出。</b></p><p>  【補(bǔ)充】執(zhí)行一個(gè)功能后,按enter鍵可以繼續(xù)選擇功能鍵,執(zhí)行下一個(gè)任務(wù)。在未退出的條件下,系統(tǒng)可以連續(xù)多次執(zhí)行上述的5個(gè)功能。</p><p>  二、任務(wù)書基本要求分析和內(nèi)容描述</p><p><b>

13、;  【要求分析】</b></p><p> ?。?)為各項(xiàng)操作功能設(shè)計(jì)一個(gè)菜單。應(yīng)用程序運(yùn)行后,先顯示這個(gè)菜單,然后用戶通過(guò)菜單項(xiàng)選擇希望進(jìn)行的操作項(xiàng)目; (2) 在第一,三個(gè)功能中,用戶輸入源文件名稱和目標(biāo)文件名稱,你的程序打開(kāi)源文件,進(jìn)行編碼,結(jié)果放在目標(biāo)文件中,同時(shí)把結(jié)果顯示再屏幕上</p><p> ?。?)在第二,四個(gè)功能中,用戶輸入源文件名稱和目標(biāo)文件名稱,你的

14、程序打開(kāi)源文件,進(jìn)行解碼,結(jié)果放在目標(biāo)文件中,同時(shí)把結(jié)果顯示再屏幕上</p><p> ?。?)在功能5中,輸入壓縮文件名和解壓以后的文件名,直接解壓出結(jié)果文件。</p><p><b>  【程序要求】</b></p><p>  程序正確。能夠嚴(yán)格實(shí)現(xiàn)任務(wù)書中描述的功能;</p><p>  界面友好。盡可能使界面友

15、好、直觀、易操作;</p><p>  風(fēng)格友好。源程序應(yīng)有良好的編碼風(fēng)格,使程序容易閱讀。</p><p><b>  【輸入/輸出要求】</b></p><p> ?。?)應(yīng)用程序運(yùn)行后,先顯示一個(gè)菜單,然后用戶根據(jù)需要選擇相應(yīng)的操作項(xiàng)目。進(jìn)入每個(gè)操作后,根據(jù)程序的提示輸入相應(yīng)的信息;</p><p> ?。?)要求

16、用戶輸入數(shù)據(jù)時(shí),要給出清晰、明確的提示信息,包括輸入的數(shù)據(jù)內(nèi)容、格式及結(jié)束方式等。</p><p>  三、系統(tǒng)的功能結(jié)構(gòu)框圖</p><p><b>  四、C語(yǔ)言程序代碼</b></p><p><b>  五、系統(tǒng)使用說(shuō)明書</b></p><p> ?。?)“編碼解碼”任務(wù)書明書有一個(gè)菜單。

17、應(yīng)用程序運(yùn)行后,會(huì)顯示這個(gè)菜單,然后用戶通過(guò)菜單項(xiàng)的相應(yīng)鍵選擇希望進(jìn)行的操作項(xiàng)目。 (2) 在第一,三個(gè)功能中,用戶選擇功能鍵1或功能鍵3后,按提示輸入源文件名稱和目標(biāo)文件名稱,程序?qū)⒋蜷_(kāi)源文件,進(jìn)行編碼,結(jié)果放在目標(biāo)文件中,同時(shí)把結(jié)果顯示再屏幕上。</p><p> ?。?)在第二,四個(gè)功能中,用戶選擇功能鍵2或功能鍵4后,按提示輸入源文件名稱和目標(biāo)文件名稱,程序?qū)⒋蜷_(kāi)源文件,進(jìn)行解碼,結(jié)果放在目標(biāo)文件中

18、,同時(shí)把結(jié)果顯示再屏幕上。</p><p> ?。?)在功能5中,用戶選擇功能鍵5后,輸入壓縮文件名和解壓以后的文件名,直接解壓出結(jié)果文件。</p><p>  (5)一個(gè)功能任務(wù)執(zhí)行后,按enter鍵可以繼續(xù)選擇,多次執(zhí)行各項(xiàng)功能。通過(guò)菜單項(xiàng)選擇功能鍵6則直接退出。</p><p>  六、設(shè)計(jì)日志及心得體會(huì)</p><p>  第一天

19、閱讀題目,和同學(xué)交流了,自己理解,確定思路,編寫了菜單。</p><p>  第二天 分塊編寫了字符串簡(jiǎn)單編碼和簡(jiǎn)單解碼。</p><p>  第三天 分塊編寫了字符串改進(jìn)編碼和改進(jìn)解碼。</p><p>  查詢compress原理編碼的資料,結(jié)合網(wǎng)絡(luò)課堂的幫助,完成了jy函數(shù)編寫。</p><p>  將輸入源文件和目標(biāo)文件的函數(shù)獨(dú)立

20、出來(lái)。</p><p>  對(duì)程序進(jìn)行了部分修改。完成了《課程設(shè)計(jì)說(shuō)明書》。</p><p>  經(jīng)過(guò)艱苦奮斗,課程設(shè)計(jì)終于完成了?;叵肫渲械倪^(guò)程,既有快樂(lè)又有煩惱。</p><p>  剛開(kāi)始上課時(shí),還在迷茫這門課程,想著《C 語(yǔ)言程序設(shè)計(jì)》到底事學(xué)什么的,有什么用。不過(guò),這些感受都是在對(duì)這門課程不了解的情況下產(chǎn)生的。后來(lái)慢慢的接觸多了,聽(tīng)老師講的多了,了解多了,

21、漸漸的產(chǎn)生了興趣。尤其是學(xué)到上機(jī)操作程序時(shí),經(jīng)過(guò)編譯,調(diào)試和運(yùn)行后,出現(xiàn)界面,當(dāng)時(shí)覺(jué)得很好奇,想真正的學(xué)好這門課程。通過(guò)一個(gè)學(xué)期的學(xué)習(xí),我掌握了基本知識(shí)。</p><p>  下學(xué)期的時(shí)候,才知道C語(yǔ)言還有課程設(shè)計(jì)。當(dāng)時(shí)有點(diǎn)心怯,感覺(jué)課程設(shè)計(jì)是很高深的東西,而我們學(xué)的東西很少,很零散,不知該怎么綜合到一起。剛看到課程設(shè)計(jì)題目時(shí),“編碼解碼”任務(wù)書,感覺(jué)應(yīng)該是很難完成的題目。經(jīng)過(guò)認(rèn)真的閱讀和理解題目,逐漸有了大概的

22、思路。和同一組的同學(xué)相互交流各自對(duì)題目的理解后,對(duì)任務(wù)書的編寫思路更清晰了。把大題目分為一個(gè)個(gè)小的功能,小函數(shù)編寫后,感覺(jué)就簡(jiǎn)單多了。我把整個(gè)程序的思路理清后,就開(kāi)始著手認(rèn)真的分塊的寫程序,一個(gè)函數(shù)一個(gè)函數(shù)的編寫。有自己總是調(diào)試解決不了的錯(cuò)誤就查詢資料,確定疑惑的知識(shí)點(diǎn)是否出錯(cuò),或是和同組的同學(xué)交流。經(jīng)過(guò)七八天的努力, 課程設(shè)計(jì)終于完成了。</p><p>  現(xiàn)在想來(lái),“編碼解碼”任務(wù)書組要是對(duì)文件的操作,其中

23、還含有循環(huán)結(jié)構(gòu)的運(yùn)用。解壓compress壓縮的文件是一個(gè)難點(diǎn),而老師也給出了一些例子作為參考。從老師給出的例子中我也得到了不少啟發(fā),然后結(jié)合對(duì)題目的理解參照網(wǎng)絡(luò)課堂幫助,經(jīng)過(guò)努力也完成了。 </p><p>  課程設(shè)計(jì)結(jié)束了,但是這段時(shí)間里,我又學(xué)到了更多C 知識(shí),如:對(duì)文件的操作等,同時(shí)我也被提醒以后辦事的時(shí)候要認(rèn)真,仔細(xì),考慮周全。,也看到了團(tuán)隊(duì)精神和互幫互助的重要性。這一點(diǎn)會(huì)讓我終生受

溫馨提示

  • 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ù)僅提供信息存儲(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)論