数据结构课程设计哈夫曼编码译码器Word下载.docx
- 文档编号:13473514
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:28
- 大小:340.69KB
数据结构课程设计哈夫曼编码译码器Word下载.docx
《数据结构课程设计哈夫曼编码译码器Word下载.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计哈夫曼编码译码器Word下载.docx(28页珍藏版)》请在冰豆网上搜索。
5)译码(键盘接收编码进行译码、文件读入编码进行译码);
6)
界面优化设计。
二、流程图
三、代码分解
//头文件
#include<
stdio.h>
string.h>
stdlib.h>
#include<
conio.h>
#defineN1000
#defineM2*N-1
#defineMAXcode6000
//函数声明
voidcount(CHar&
ch,HTNodeht[]);
voideditHCode(HTNodeht[],HCodehcd[],CHar&
ch,intn,charbianma[]);
//编码函数
voidprintyima(HTNodeht[],HCodehcd[],intn,charbianma[]);
//译码函数
voidcreatHT(HTNodeht[],intn);
voidCreateHCode(HTNodeht[],HCodehcd[],intn);
voidDispHCode(HTNodeht[],HCodehcd[],intn);
voidinput_key(CHar&
ch);
voidinput_file(CHar&
voidinput_cw(HTNodeht[]);
voidbianma1(HTNodeht[],HCodehcd[],CHar&
voidbianma2(HTNodeht[],HCodehcd[],CHar&
voidyima1(HTNodeht[],HCodehcd[],intn,charbianma[]);
voidyima2(HTNodeht[],HCodehcd[],intn,charbianma[]);
voidcreat_cw();
voidbianmacaidan();
voidyimacaidan();
voidbianmayima();
intcaidan();
//结构体
typedefstruct
{
chardata;
intparent;
intweight;
intlchild;
intrchild;
}HTNode;
charcd[N];
intstart;
}HCode;
chars[N];
intnum;
}CHar;
CHarch;
HTNodeht[M];
HCodehcd[N];
//主函数
intmain()
intxh;
while
(1)
{
system("
color1f"
);
//操作菜单背景颜色
xh=caidan();
//调用菜单函数
switch(xh)//switch语句
{
case1:
system("
cls"
creat_cw();
break;
case2:
creatHT(ht,n);
case3:
CreateHCode(ht,hcd,n);
DispHCode(ht,hcd,n);
case4:
bianmayima();
case0:
printf("
\n\n\n\n\n\n\n\n\n\t\t\t\t感谢使用本系统!
\n\n\n\n\n\n\n\t\t\t"
exit(0);
default:
putchar('
\a'
printf("
\n\t\t输入有误,请重新输入:
\n"
}
}
return0;
}
//菜单函数
intcaidan()//菜单函数模块//
printf("
\n\n\n"
\t\t欢迎使用哈夫曼编码译码系统\n"
\t\t\n"
\t\t*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*\n"
\t\t*==*\n"
\t\t*=*=*=*=*=*=*=*=*=*=*=*==*\n"
\t\t*=1.建立字符权值=*\n"
\t\t*=2.建立并输出哈夫曼树=*\n"
\t\t*=3.生成并查看哈夫曼编码=*\n"
\t\t*=4.编码与译码=*\n"
\t\t*=0.退出系统=*\n"
\n\t\t请输入序号进行选择:
"
scanf("
%d"
&
xh);
returnxh;
//返回从键盘接收的选项
voidbianmayima()
{
\n\n\n\n\n"
\t\t编码与译码\n"
\t\t*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*\n"
\t\t*=1.编码=*\n"
\t\t*=2.译码=*\n"
\t\t*=0.返回上级菜单=*\n"
&
bianmacaidan();
yimacaidan();
return;
voidyimacaidan()
\t\t译码\n"
\t\t*=1.键盘输入编码进行译码=*\n"
\t\t*=2.文件读入编码进行译码=*\n"
yima1(ht,hcd,n,bianma);
yima2(ht,hcd,n,bianma);
voidbianmacaidan()
\t\t编码\n"
\t\t*=1.键盘输入字符集编码=*\n"
\t\t*=2.文件读入文章编码=*\n"
bianma1(ht,hcd,ch,n,bianma);
bianma2(ht,hcd,ch,n,bianma);
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 哈夫曼 编码 译码器