1 / 12
文档名称:

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

格式:doc   大小:46KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

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

上传人:ipod0b 2019/2/18 文件大小:46 KB

下载得到文件列表

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

相关文档

文档介绍

文档介绍:#include<iostream>#include<>#include<string>#include<iomanip>#include<fstream>#defineMAXVALUE500//定义最大权值,最大权值指哈夫曼树构造后的最大权值#defineMAXLEAF20//定义哈夫曼树中叶子结点的个数#defineMAXMESS1000//输入信息个数的最大范围#defineMAXNODEMAXLEAF*2-1//结点数#defineMAXBIT200//哈弗曼编码的最大长度#defineMAXLENGTH2000usingnamespacestd;//哈夫曼树的结构体typedefstruct//存储字符及其个数{ chardata;//存储字符信息 intnum;//存储个数(权值)}Mess;typedefstruct//不同字符个数的统计(叶子结点个数){ Messdif[MAXLEAF]; intnum;}ST;typedefstruct{ intweight; intparent; intlchild; intrchild;}HNodeType;//哈弗曼树结构体typedefstruct{ charbit[MAXBIT]; intstart;}HCodeType;//编码结构体//哈夫曼树的结构体数组HNodeTypeHuffNode[MAXNODE];HCodeTypeHuffCode[MAXLEAF],cd;ST*SS;//写信息时使用ST*DD;//接收信息时使用intmain()//主函数{ voidKey();//密码函数 voidWindow1();//窗口函数1 voidWindow2();//窗口函数2 voidWindow3();//退出窗口界面函数 voidMenu();//菜单选择函数 intSend_Mess(ST**s);//写信息 voidReve_Mess(ST**s);//收信息 Window1();//界面窗口1 Key();//密码函数 Window2();//界面窗口2 inti,n; do//显示主菜单,接受选择,并分支调用管理类类的相应功能的成员函数 { Menu();//提供选择菜单 cin>>i; switch(i) { case1:n=Send_Mess(&SS);break;//写信息 case2:Reve_Mess(&DD);break;//接收信息 case3:break;//退出 default:cout<<"操作错误,请重新操作!"<<endl; } }while(i!=3); Window3();//退出窗口界面函数 return0;}voidWindow1()//进入窗口界面函数1{ system("colore3");//使界面微黄色 cout<<"☆☆☆☆☆☆☆☆☆信息管理系统☆☆☆☆☆☆☆☆"<<endl;}voidWindow2()//进入窗口界面函数2{ system("color0f");system("cls");//界面颜色为黑色换页 cout<<"☆☆☆☆☆☆☆欢迎进入信息管理系统☆☆☆☆☆☆☆"<<endl<<endl;}voidWindow3()//退出窗口界面{system("cls"); system("colore4");//换页并使背景颜色为黄色字体为红色 cout<<"☆☆☆☆☆☆☆☆☆☆退出信息管理系统☆☆☆☆☆☆☆☆☆☆☆"<<endl<<endl; cout<<"☆☆☆☆☆☆☆☆☆☆☆感谢您的使用☆☆☆☆☆☆☆☆☆☆☆"<<endl<<endl; cout<<"☆☆制作人:北华航天工业学院B08515班金健☆☆"<<endl<<endl<<endl<<endl;}//-----------------------------------------------------voidKey()//密码函数{ stringkey; stringm; stringh; inta; ifstreaminput("e:\\",ios::in);//打开文件 if(input==0)//第一次使用时自动装入密码 { ofstreamout("e:",ios::out); stringd="dowhatyouwant"; out<<d; (); cout<<"您是第一次使用此系统,密码是:dowhatyouwant"<<endl; cout<<"建议您进入系统后立即修改密码!"<<endl; } (); ifstreamin("e:\\",ios::in);//打开文件 in>>m;//读入文件 key=m; ()