课程设计报告书示例.docVIP

  • 16
  • 0
  • 约6.37千字
  • 约 13页
  • 2016-12-02 发布于重庆
  • 举报
课程设计报告书示例

江汉大学 课程设计报告 课程名称: 设计题目: 院 (系): 专 业: 组 别: 学生姓名: 起止日期: 年 月 日 ~ 年 月 日 指导教师: 目? 录 一 、 系统功能和结构 1.1 程序设计目的 1.2 需求分析 1.3?概要设计 1.3.1???主要数据结构描述 1.3.2???算法分析及程序流程图 1.4 任务安排 二、 程序实现 2.1?模块详细设计 2.2 核心代码详细解析 三、 调试与操作说明 3.1 问题分析与解决 3.2?程序演示 四 、 设计体会与总结 4.1??程序不足及功能扩充 4.2??设计心得 参考文献 一 、 系统功能和结构 1.1 程序设计目的 问题描述: 打开一篇英文文章,统计该文章中每个字符出现的次数,然后以它们作为权值,对每一个字符进行编码,编码完成后再对其编码进行译码。 1.2 需求分析 A,打开一个文本文件,用一个指针指向它,指针变量为*pf B,对其进行字母频率统计,放入CaptionFrequence[ 27 ]数组中,包括空格。 C,用Huffman算法建立Huffman树以及每个字母的Huffman码 (Huffman数以及Huffman码两张表,均要求输出,最好能在文本中输出) D,把该文本文件的英文文章利用Huffman树编码生成二进制文件, (该文件要求输出) E,打开该二进制文本文件,对其解码,仍然利用刚才的Huffman树进行解码 1.3? 概要设计 1.3.1???主要数据结构描述 本项目需要用到的主要数据结构: 赫夫曼树的数据结构 typedef struct { unsigned int weight; unsigned int parent,lchild,rchild; } HTNode,*HuffmanTree; 赫夫曼编码的数据结构 typedef char **HuffmanCode; 求权最小结点用到的数据结构 typedef struct { unsigned int s1; unsigned int s2; } MinCode; 1.3.2????算法分析及程序流程图 划分该项目为8个模块,主函数打开文本文件后,指向文本的指针即为程序的入口参数,调用词频统计模块后,即可得出存放26个字母和空格共27个符号的权值,然后通过HuffmanCode HuffmanTreeing(HuffmanTree HT, HuffmanCode HC, int *w,int n)这个模块可以得到最关键的赫夫曼树和每个符号的赫夫曼码。然后在对该文件进行编码和译码。改项目完全采用面向过程的变成思想,按照顺序,一步步的得出结果。 1.4 任务安排 需求分析和数据流图完成后,即可对该课程设计向小组成员分配任务 王金华 2.1 字母频率统计 2.2 字母总数统计 朱红辉 7 把3,4得出的赫夫曼树和赫夫曼编码输出到文本 8 把5,6的编码和译码输出到文本 吴祥 调试程序 二、 程序实现 2.1??模块详细设计 根据上面的流程图,下面分析每个模块具体的功能,包括每个模块的参数和得出的结果 函数名 int * Frequent(FILE *pf,int *w) 入口参数 FILE *pf 指向文本的指针变量*pf int *w 一个空的一维数组,用来存放权,方便以后调用 返回值 指针 w 存放权值的指针 模块功能 统计一篇英语英语文章的字母出现频率,作为赫夫曼树叶子的权,存放在数组w中 模块2.1 函数名 int Sumchar(FILE *pf) 入口参数 FILE *pf 指

文档评论(0)

1亿VIP精品文档

相关文档