📄 复件 huffman.cpp
字号:
/*
* Copyright(c)2006,华中科技大学电信系雨点工作室
* All rights reserved.
*
* 文件名称: Huffman.cpp
* 摘 要: 主程序
*
* 当前版本: 0.1
* 作 者: 万吉
* 完成日期: 2006年11月20日
*
* 修改日期: 2006年11月21日
* 修改内容: Help函数内容
*
*/
#include "StdAfx.h"
bool MainMenu();
void Help();
bool HufCoding();
bool HufDecoding();
//主函数
int main()
{
// 输出欢迎界面
printf("\n");
printf("%c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c\n",
3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3);
printf("\n\n\n");
printf(" %c %c %c %c %c %c %c %c ", 16,16,16,16,16,16,16,16);
printf("欢 迎 来 到 哈 夫 曼 编/译 码 系 统 !");
printf("%c %c %c %c %c %c %c %c\n", 17,17,17,17,17,17,17,17);
printf("\n");
printf(" %c \n",15);
printf(" %c %c \n",15,15);
printf(" %c %c \n",15,15);
printf(" %c %c %c \n",15,15,15);
printf(" %c %c %c \n",15,15,15);
printf(" %c %c %c %c \n",15,15,15,15);
printf(" %c%c%c %c %c 雨点工作室 \n",15,15,15,15,15,15);
printf(" %c %c \n",15,15);
printf(" %c %c 制作\n",15,15);
printf(" %c %c\n",15,15);
printf(" %c %c \n",15,15);
printf(" %c%c%c%c%c \n",15,15,15,15,15);
printf("\n\n %c %c 请按任意键进入主菜单 %c %c\n",16,16,17,17);
printf("\n\n");
printf("%c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c\n",
3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3);
getch();
while(!MainMenu());
return 0;
}
/*
* 函数功能: 提供主菜单
* 函数参数: 无
* 返 回 值: bool
返回true正常退出
返回false重复菜单
*/
bool MainMenu()
{
// 输出菜单
system("cls");
cout << "\n/*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*/\n";
cout << "\n1. 对文件进行哈夫曼编码\n";
cout << "\n2. 对文件进行哈夫曼译码\n";
cout << "\n3. 快速入门\n";
cout << "\n4. 退出\n";
cout << "\n/*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*/\n" << endl;
// 接收用户输入
int choice=0; // 用户选择操作
char str[32]; // 用作缓冲, 防止非法输入
cout << "\n请选择您要进行的操作: ";
gets(str);
choice = atoi(str);
// 执行用户选择操作
switch(choice)
{
case 1: // 文件编码
HufCoding();
break;
case 2: // 文件译码
HufDecoding();
break;
case 3: // 快速入门
Help();
break;
case 4: // 退出
return true;
default: // 输入错误,重试
cout << "\n输入错误,请重试!" << endl;
cout << "\n按任意键继续......\n" << endl;
getch();
}
return false;
}
/*
* 函数功能: 帮助菜单
* 函数参数: 无
* 返 回 值: void
*/
void Help()
{
system("cls");
cout << "\n/**********************************快速入门**********************************/\n" << endl;
cout << "1. 选\"1\" 进入 \"对文件进行哈夫曼编码\", 程序将提示输入文件名\n 合法的文件名应包括完整路径" << endl;
cout << " 示例: D:\\\\Huffman\\\\test.txt\n 即为对D盘Huffman目录下test.txt文件编码." << endl;
cout << " 程序会自动显示哈夫曼编码表, 并对文件进行编码\n" << endl;
cout << "2. 选\"2\" 进入 \"对文件进行哈夫曼译码\", 要求输入文件名\n 合法的文件名同上, 后缀为 .huf" << endl;
cout << " 示例: D:\\\\Huffman\\\\test.huf\n 即为对D盘Huffman目录下test.huf文件解码." << endl;
cout << "\n/**********************************快速入门**********************************/" << endl;
cout << "\n按任意键返回主菜单......\n" << endl;
getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -