一 . 需求分析: 1) 輸入形式和輸入值范圍: 輸入形式是要壓縮(或者要解壓)的文件路徑,輸入范圍是字符串,而且要是文件的路徑。 2) 輸出形式: 輸出相應的編碼壓縮文件和解碼原文件 3) 程序所能達到的功能: 利用哈夫曼對ASCII文件做不等長編碼,達到壓縮文件。利用哈夫曼樹的遍歷,達到解壓文件的目的。程序的功能也就是實現壓縮和解壓ASCII類型文件的目的。 4)測試數據:(包括正確的輸入數據及其輸出結果和含有錯誤輸入及其輸出結果) 測試輸入或者輸出文本框是不是有空的,是不是不是有效路徑。進行條件判斷,實現錯誤處理。 比如要壓縮:c:\a.txt 文件路徑就是:c:\a.txt。如果輸入框是空的,就判斷,然后用MessageBox處理信息。 如果文件路徑和文件的輸出路徑都寫正確的話,就會輸出相應的壓縮或者解壓文件,否則用函數MessageBox提示錯誤。然后進行更正。 二 . 概要設計: 1) 哈夫曼樹的特點 a) 是二叉樹的一種,而且是一種沒有度數是1的二叉樹 b) 一棵樹有n個葉子,就會用2n-1個節點 c) 一種“最優”二叉樹,由于樹的帶權路徑(WPL)最小 d) 由于它是由下到上順序構造的,使得分支節點和葉子節點從下到上,權值都是從小到大的順序排列的
上傳時間: 2013-12-03
上傳用戶:zsjzc
函數名稱:CRC-16 Process 函數原型:INT16U make_crc16(INT8U *msgaddr,INT8U datalen) 函數功能:進行CRC校驗和產生CRC代碼.這個函數只影響全局變量crc16. 校驗字放在字符串最后,低8位在前高8位在后. msgaddr : 進行CRC16校驗的據塊的首地址 datalen : 進行CRC16校驗的據塊的個數 CRC-ITU的計算算法如下: a.寄存器組初始化為全"1"(0xFFFF)。 b.寄存器組向右移動一個字節。 c.剛移出的那個字節與數據字節進行異或運算,得出一個指向值表的索引。 d.索引所指的表值與寄存器組做異或運算。 f.數據指針加1,如果數據沒有全部處理完,則重復步驟b。 g.寄存器組取反,得到CRC,附加在數據之后(這一步可省略)。
上傳時間: 2015-12-21
上傳用戶:llandlu
一般情況下,我們都是在MATLAB命令行或DOS命令行下編譯MEX程序。 所用的命令就是:mex filename.c 這有很多不方便的地方: a. 雖然mex也可以編譯C++的mex程序,但是它的主框架仍是C的 a. 當程序有多個模塊時,需要多次使用mex命令,操作很麻煩 b. 不能利用VC特有的ClassWizard自動創建和維護類 c. 不能用MFC類庫編寫應用程序 d. 不能方便地進行類似VC的項目管理 本文詳細解說如何在IDE中編譯MEX程序
標簽:
上傳時間: 2016-01-05
上傳用戶:shizhanincc
Java 版本的 PHP serialize/unserialize 完整實現。目前實現了對各種基本類型、數組、ArrayList、HashMap、和其它可序列化對象的序列化。實現了 PHP 5 中的Serializable 接口的支持。實現了 PHP 中的 __sleep 和 __wakeup 魔術方法的支持。實現了對所有標示(N、b、i、d、s、a、O、R、r、U、C)的反序列化,在對標示 a 反序列化時,可以根據下標和值來自動判斷是 ArrayList 還是 HashMap。并且在反序列化時可以強制指定反序列化的類型。該類是靜態類,無需也不能被實例化。除了包含了 serialize 和 unserialize 方法以外,還增加了一個 cast 方法,用來進行反序列化后的類型轉換,該方法主要用于將反序列化后的 ArrayList 轉化為數組或者 HashMap。
標簽: unserialize ArrayList PHP serialize
上傳時間: 2016-01-06
上傳用戶:奇奇奔奔
51單片機電子日歷 電子日歷,有時間顯示、鬧鈴、日期、秒表及鍵盤設置功能 功能鍵A: 設置位數字+1 鬧鐘模式下為鬧鐘開關 秒表模式下為記時開關 功能鍵B: 設置位數字-1 鬧鐘模式下為鬧鐘開關 功能鍵C:設置模式及設置位選擇 秒表模式下為清零鍵 功能鍵D:在四種工作模式下切換 設置鬧鐘開關
上傳時間: 2013-12-16
上傳用戶:zycidjl
a) 參考《TMS320LF240x DSP結構、原理及應用》,弄清TMS320LF2407的定時器功能。 b) 測試定時器Timer1,周期中斷0.1秒,并控制燈D2閃爍時間為Ts c) 單步運行程序,觀察發光二極管D2的發光情況。 d) 程序裝入片外,按“RUN”觀察發光二極管D2的發光情況。
上傳時間: 2014-12-06
上傳用戶:無聊來刷下
chemcad簡介 1.CHEMCAD軟件概述: CHEMCAD系列軟件是美國Chemstations公司開發的化工流程模擬軟件。使用它,可以在計算機上建立與現場裝置吻合的數據模型,并通過運算模擬裝置的穩態或動態運行,為工藝開發、工程設計、優化操作和技術改造提供理論指導。 1.1使用CHEMCAD可以做的工作主要有以下幾項: A.設計更有效的新工藝和設備使效益最大化 B.通過優化脫瓶頸改造減少費用和資金消耗 C.評估新建舊裝置對環境的影響 D.通過維護物性和實驗室數據的中心數據庫支持公司信息系統 1.2CHEMCAD中的單元操作: CHEMCAD提供了大量的操作單元供用戶選擇,使用這些操作單元,基本能夠滿足一般化工廠的需要。 對反應器和分離塔,提供了多種計算方法。ChemCAD可以模擬以下單元操作: 蒸餾、汽提、吸收、萃取、共沸、三相共沸、共沸蒸餾、三相蒸餾、電解質蒸餾、反應蒸餾、反應器、熱交換器、壓縮機、泵、加熱爐、控制器、透平、膨脹機等50多個單元操作。
標簽: CHEMCAD Chemstations chemcad 軟件
上傳時間: 2013-12-24
上傳用戶:牧羊人8920
學生選課系統,該系統主要實現簡單的大學學生選修課程的功能。 1.系統的用戶主要分為2類:學生和管理員 2.數據描述 <1> 課程: 課程號、課程名、學分、學時、教師、開課學期、適用專業、最大選課人數 <2> 學生:學號、姓名、密碼、專業年級 <3> 學生選課情況:學號、課程號、是否已經考試、成績 <4> 管理員:編號、姓名、密碼 3.功能描述 <1> 學生功能: a. 登錄:學生使用學號和密碼登錄。 b. 選課功能:學生能夠選擇所需要的課程。 c. 退選功能:學生能夠退選課程。 d. 選課情況查詢:查詢該學生已經選的課程(分學期)。 e. 成績查詢:查詢該學生某一門課程的成績,某學期所有課程的成績。 <2> 管理員功能 a. 登錄: b. 管理課程:包括課程的增加、刪除、修改等。 c. 選課管理:能夠列出指定學期、課程的選課學生名單,能夠對學生的選課進行調整。 d. 成績表管理:能夠錄入學生的成績,列出指定學期、課程的成績單。
標簽:
上傳時間: 2014-12-04
上傳用戶:Yukiseop
加密程序源代碼* A 變成 C,B 變成 D,a 變成 c,b 變成 d,Y 變成 A, * z 變成 b,以此類推。非字母字符不變。
上傳時間: 2013-12-28
上傳用戶:stvnash
一個能夠分析三種整數、標識符、主要運算符和主要關鍵字的詞法分析程序。 ㈠、基本要求: 標識符 <字母>(<字母>|<數字字符>)* 十進制整數 0 | (1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)* 八進制整數 0(1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)* 十六進制整數 0x(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)* 運算符和分隔符 + - * / > < = ( ) ; 關鍵字 if then else while do ㈡、附加要求: 標識符 <字母>(<字母>|<數字字符>)*(ε|_|.)(<字母>|<數字字符>)* 十進制整數 (0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)*(ε|.)(0|1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)* 八進制整數 0(1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)* (ε|.)(0|1|2|3|4|5|6|7)(0|1|2|3|4|5|6|7)* 十六進制整數 0x(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)* (ε|.) (0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)*
上傳時間: 2016-03-03
上傳用戶:zhengjian