信息管理标准系统哈弗曼编码.docVIP

  • 2
  • 0
  • 约1.12万字
  • 约 12页
  • 2018-12-08 发布于江苏
  • 举报
信息管理标准系统哈弗曼编码

#includeiostream #includestdio.h #includestring #includeiomanip #includefstream #define MAXVALUE 500 //定义最大权值,最大权值指哈夫曼树构造后的最大权值 #define MAXLEAF 20 //定义哈夫曼树中叶子结点的个数 #define MAXMESS 1000 //输入信息个数的最大范围 #define MAXNODE MAXLEAF*2-1 //结点数 #define MAXBIT 200 //哈弗曼编码的最大长度 #define MAXLENGTH 2000 using namespace std; //哈夫曼树的结构体 typedef struct//存储字符及其个数 { char data;//存储字符信息 int num; //存储个数(权值) }Mess; typedef struct//不同字符个数的统计(叶子结点个数) { Mess dif[MAXLEAF]; int num; }ST; typedef struct { int weight; int parent; int lchild; int rchild; }HNodeType; //哈弗曼树结构体 typedef struct { char bit[MAXBIT]; int start; }HCodeType; //编码结构体 //哈夫曼树的结构体数组 HNodeType HuffNode[MAXNODE]; HCodeType HuffCode[MAXLEAF],cd; ST *SS;//写信息时使用 ST *DD;//接收信息时使用 int main()//主函数 { void Key();//密码函数 void Window1();//窗口函数1 void Window2();//窗口函数2 void Window3();//退出窗口界面函数 void Menu();//菜单选择函数 int Send_Mess(ST **s);//写信息 void Reve_Mess(ST **s);//收信息 Window1(); //界面窗口1 Key(); //密码函数 Window2(); //界面窗口2 int i,n; do //显示主菜单,接受选择,并分支调用管理类类的相应功能的成员函数 { Menu(); //提供选择菜单 cini; switch(i) { case 1: n=Send_Mess(SS);break;//写信息 case 2: Reve_Mess(DD); break;//接收信息 case 3: break;//退出 default:cout操作错误,请重新操作!endl; } }while(i!=3); Window3();//退出窗口界面函数 return 0; } void Window1()//进入窗口界面函数1 { system(color e3); //使界面微黄色 cout☆☆☆☆☆☆☆☆☆信息管理系统☆☆☆☆☆☆☆☆endl; } void Window2()//进入窗口界面函数2 { system(color 0f); system(cls);//界面颜色为黑色换页 cout☆☆☆☆☆☆☆欢迎进入信息管理系统☆☆☆☆☆☆☆endlendl; } void Window3()//退出窗口界面 { system(cls); system(color e4);//换页并使背景颜色为黄色字体为红色 cout☆☆☆☆☆☆☆☆☆☆退出信息管理系统☆☆☆☆☆☆☆☆☆☆☆endlendl; cout ☆☆☆☆☆☆☆☆☆☆☆感谢您的使用☆☆☆☆☆☆☆☆☆☆☆endlendl; cout ☆☆ 制作人: 北华航天工业学院 B08515班 金健 ☆☆endlendlendlendl; } //----------------------------------------------------- void Key() //密码函数 { string key; string m; string h; int a; ifstream input(e:\\key.txt,ios::in);//打开文件 if(input==0)//第一次使用时自动装入密码 { ofstream out(e:key.txt,ios::out); string

文档评论(0)

1亿VIP精品文档

相关文档