哈夫曼编码出现错误

来源:百度知道 编辑:UC知道 时间:2024/05/09 02:46:10
程序出现declaration syntax error错误
程序功能如下
一个完整的系统应具有以下功能:
⑴初始化:从键盘输入待编码的字符串,统计该字符串的字符集、字符集大小n及每个字符出现的频度(权值),建立对应的哈夫曼树及哈夫曼编码表。
⑵编码:利用已建好的哈夫曼树及哈夫曼编码表,对该字符串进行编码,并将结果存入相应数组。
⑶译码:从键盘输入待译码的字符串(0、1组成),利用已建好的哈夫曼树及哈夫曼编码表,对其进行译码,并将结果存入相应数组。
⑷执行程序相应功能时,应在屏幕上输出必要的提示信息,并将相应的结果输出。(如哈夫曼树、编码表、编码结果、译码结果)。
如果有更好的程序的话更好,大虾们赐教拉,如果完全成功运行保证100分送上,补充用c语言编写
源程序我写在下边一楼吧,太长写不下了

一楼被我占了,你怎么办?

这是我们的作业题,自己写 的……(可能输入的格式跟你要的不一致,自己改一下)

如果有什么不懂的就问我,我可以把其中所有相关的文件发给你 ^^

注:1、 初始化创建哈夫曼树有三种选择,其中选择编译课本测试数据时和编译源文件是,调用的输入文件分别是:test.txt和input.txt;字母的哈夫曼编码都保存在文件:hmfTree.txt;
2、 用户自定义模式下,需要编码的文件内容保存在ToBeTran.txt中;课本测试数据和源文件代码分别保存在course.txt和sorse.txt中,在(1)中选择不同的选项,则在编码时调用相应的文件进行编码,编码结果保存在文件CodeFile.txt中。
3、 文件译码时,调用文件CodeFile.txt进行译码,得到的结果保存在文件TextFile.txt中。
4、 打印代码文件:调用CodeFile.txt,结果显示在终端并保存在文件CodePrin.txt中。
5、 打印哈夫曼树:用凹入表形式把哈夫曼树显示在终端,同时将它保存在文件TreePrint..txt中。

#include <stdio.h>
#include<malloc.h>
#include <string.h>
#include<fstream>
#include<iostream>
using namespace std;

typedef struct {
unsigned int weight;
char ch1;
unsigned int parent,lchild,rchild;
}HTNode,*HuffmanTree;

typedef char **HuffmanCode;

typedef struct {
char ch;
char code[7];
}codenode,*code;