📄 main.cpp
字号:
#include<iostream>
#include<fstream>
using namespace std;
#include "MinHeap.h"
#include "HuffmanTree.h"
#define LOGO "Programe BY Linuxayn(06372064)"
int main(int argc,char *argv[])
{
//Huffman [-c][-u] File1 File2
//-c: Compress File1 to File2
//-u: unCompress File1 to File2
cout<<LOGO<<endl<<endl;
char file1[30];
string file_in;
int k=0;
switch(argc)
{
case 1:
while(k!=4)
{
cout<<"-------------------------------------------\n";
cout<<"Experiment 5:Tree and HuffmanCode\n";
cout<<" 1.Code and UnCode by Typing\n";
cout<<" 2.Compress a Exist File\n";
cout<<" 3.UnCompress a Exist File\n";
cout<<" 4.Exit\n";
cout<<"Choise:";
cin.clear();
cin>>k;
switch(k)
{
case 1:
cout<<endl;
Compress<Pack>::Do("-t");
break;
case 2:
cout<<" Open File:";
//cin>>file1;
fflush(stdin);
cin.getline(file1,30);
file_in=file1;
if(file1[0]=='\"')
file_in=file_in.substr(1,file_in.length()-2);
Compress<Pack>::Do("-c",(char *)file_in.c_str());
break;
case 3:
cout<<" Open File:";
fflush(stdin);
cin.getline(file1,30);
file_in=file1;
if(file1[0]=='\"')
file_in=file_in.substr(1,file_in.length()-2);
Compress<Pack>::Do("-u",file1);
break;
default:
break;
}
}
break;
case 3:
Compress<Pack>::Do(argv[1],argv[2]);
break;
case 4:
Compress<Pack>::Do(argv[1],argv[2],argv[3]);
break;
default:
cout<<"Syntax Error!"<<endl;
cout<<"Usage:"<<endl<<endl;
cout<<"HUFFMAN [-c/-u] FILENAME1 [FILENAME2] "<<endl;
cout<<" -c: Compress Filename1 to filename2\n";
cout<<" -u: UnCompress Filename1 to filename2\n";
cout<<"etc. \"HUFFMAN -c a.dat b.hfm\" will compress a.dat to b.hfm "<<endl;
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -