题目一:哈夫曼编码与译码一、任务设计一个利用哈夫曼算法得编码与译码系统,重复地显示并处理以下项目,直到选择退出为止。要求:1) 将权值数据存放在数据文件(文件名为 data、txt,位于执行程序得当前目录中) ;2) 初始化:键盘输入字符集统计字符权值、自定义 26 个字符与 26 个权值、统计文件中一篇英文文章中2 6 个字母,建立哈夫曼树;3) 编码:利用建好得哈夫曼树生成哈夫曼编码;4) 输出编码(首先实现屏幕输出,然后实现文件输出);5) 译码(键盘接收编码进行译码、文件读入编码进行译码);6) 界面优化设计.二、流程图三、代码分解//头文件#i nc l u d e<st dio、h>#in c l u d e#incl u d e<stdlib、h>#i ncl ude #de fine N 1000#de fi n e M 2*N—1#de f ine M A Xco d e 6 000//函数声明vo id c ou n t(CHa r &ch,HT N od e h t[]);vo i d edit H Co d e(H T N o de ht[],H Co de h cd[],C H a r &c h,i n t n,ch ar bianma[]); //编码函数主菜单1 、建立字符权值2 、建立并输出哈夫曼树3 、建立并查瞧哈弗曼编码4 、编码与译码0 、退出系统1 、从键盘输入字符集统计权值2 、从文件读入字符集统计权值3 、自定义字符及权值0 、返回上级菜单输出哈夫曼树并保存至文件“哈夫曼树。 txt”输出哈夫曼编码并保存至文件“哈夫曼编码。 txt1 、编码2 、译码0 、返回上级菜单1 、从键盘输入字符集进行编码2 、从文件读入字符集进行编码1 、从键盘输入编码进行译码2 、从文件读入编码进行译码0 、返回上级菜单0 、返回上级菜单v oid prin t yima(H T Node ht[],HCod e h cd[],in t n,cha r bi anma[]); //译码函数voi d cr e a tH T(HTN o de ht[],in t n);v o id Cre a te H Cod e (H TN od e h t[],H Code h c d[],in t n);voi d D i spH Co de(H TNode h t[],H Code h c d[],i nt n);v o i d i nput_key(CHar &ch);void inpu t_ &c h);v o id input_cw(H T N ode h t[]);voi d b ia nma 1(HT N ode h t[],H C ode hcd[],CHar &c...