4设计报告占30
注意不得抄袭他人的报告或给他人抄袭一旦发现成绩为零分。
5独立完成情况占10。
f133课程验收要求
1运行所设计的系统。
2回答有关问题。
3提交课程设计报告。
4提交软盘源程序、设计报告文档。
5依内容的创新程度完善程序情况及对程序讲解情况打分。
2进度安排
第19周星期一8001200上课
星期一14301830上机
星期二14301830上机
星期四8001200上机
附
课程设计报告装订顺序封面、任务书、目录、正文、评分表、附件A4大小的图纸及程序清单。
正文的格式一级标题用3号黑体二级标题用四号宋体加粗正文用小四号宋体行距为22。
正文的内容一、课题的主要功能二、课题的功能模块的划分要求画出模块图三、主要功能的实现至少要有一个主要模块的流程图四、程序调试五、总结六、附件所有程序的原代码要求对程序写出必要的注释。正文总字数要求在4500字以上不含程序原代码。
f目录
一需求分析1
1程序的功能1
2输入输出的要求1
二概要设计1
1程序模块及其关系1
2课题涉及的数据结构2
三详细设计3
1相关数据类型3
2各函数的调用关系图、主要函数的流程图3
3各模块的类C码算法7
四调试分析以及设计体会9
1测试数据9
2程序调试中遇到的问题以及解决问题的方法10
3课程设计过程经验教训、心得体会10
五用户使用手册11
六附录12
f一需求分析
1程序的功能
能对输入的字符串实现Huffma
编码且能利用生成的编码对Huffma
代码串进行译码输出相应字符串。
2输入输出的要求
首先输入一个字符串程序会列出字符串中包含的字符种类及每一种字符出现的次数然后输出通过Huffma
编码得到的各种字符的Huffma
编码。此时程序要求输入一串Huffma
代码串输入完毕程序会判断输入的代码串是否合法若合法则输出译码结果。
二概要设计
1程序模块及其关系
程序由主函数模块编码模块译码模块组成主函数模块可调用编码模块译码模块编码模块可对字符串进行编码译码模块可对输入的代码串进行译码并输出。各模块之间的关系示意图如下
图1各功能模块关系
f2课题涉及的数据结构
1哈夫曼树类型HTNode树形结构
typedefstruct哈弗曼树结点
chardata存储字符
doubleweight存储权值
i
tpare
t双亲结点位置
i
tlchild左右孩子结点位置
i
trchild
HTNode
HTNodeht2
1
2哈夫曼编码类型HCode顺序结构
typedefstruct各叶子结点的哈弗曼编码
charcd30cdstartcd
存储哈夫曼编码
i
tstart字符数组中哈夫曼编码的起始位置
HCode
HCodehcd
r