亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? main.c

?? 自己用C編寫的Huffman編碼通信系統(tǒng)應(yīng)用
?? C
字號(hào):
#include "huffman.h"

void main(void)
{
	
	int FLAG;
	char ch;
	char filename[30]; //放文件名
	char filename1[30];
	char filename2[30];
	char string[30];
	FILE* fp1 = NULL;
	FILE* fp2 = NULL; 
	HuffmanTree T;  //哈夫曼樹T(數(shù)組),有M個(gè)元素    
	HuffmanCodeTable H; //哈夫曼編碼表H(數(shù)組),有N個(gè)元素(對(duì)應(yīng)N個(gè)字符或N個(gè)葉子結(jié)點(diǎn))  
    EqualLengthCodeTable E;//等長碼表E(數(shù)組),有N個(gè)元素(對(duì)應(yīng)N個(gè)字符或N個(gè)葉子結(jié)點(diǎn))  
	
	printf("\n%s%s%s%s%s%s%s%s%s%s%s%s\n",
		"Choices List:\n",
		"1:創(chuàng)建一個(gè)原始數(shù)據(jù)文件\n",
		"2:對(duì)(加密)數(shù)據(jù)文件進(jìn)行Huffman編碼\n",
		"3:對(duì)已編碼(Huffman編碼)文件進(jìn)行Huffman譯碼\n",
		"4:對(duì)(加密)數(shù)據(jù)文件進(jìn)行等長編碼\n",
		"5:對(duì)已編碼(等長編碼)文件進(jìn)行等長譯碼\n",
		"6:對(duì)原始數(shù)據(jù)文件進(jìn)行加密\n",
		"7:對(duì)加密文件進(jìn)行解密\n",
		"8:打印指定文件名的文件內(nèi)容\n",
		"9:哈夫曼編碼算法完整演示(包括創(chuàng)建文件,編譯碼,加解密,打印文件)\n",
		"0:等長編碼算法完整演示(包括創(chuàng)建文件,編譯碼,加解密,打印文件)\n",
		"e: 退出程序\n");	

RE_CHOICE:
    printf("Input '0' - '9' or 'e' to make a choice :");
	fflush(stdin);
	ch = getchar();
	FLAG = 0;
	while(!FLAG){
		switch(ch){
		case '1':  //創(chuàng)建一個(gè)原始數(shù)據(jù)文件
            FLAG = 1;
			printf("\nInput the filename(eg:DATAFILE) :");
			gets(string);
			strcpy(filename,string);
            create_data_file(filename); 
			break;
		case '2':  //對(duì)(加密)數(shù)據(jù)文件進(jìn)行Huffman編碼
            FLAG = 1;
			InputTwoFileName(filename,filename1,fp1,fp2);//輸入兩個(gè)文件名,并打開文件
            CreateHuffmanTree(T,filename);//由文件filename的字符頻度分析構(gòu)造哈夫曼樹T
			SetHuffmanEncodeTable(T,H);//根據(jù)哈夫曼樹T求哈夫曼編碼表H
			while(1){//由哈夫曼編碼表H進(jìn)行文件的Huffman編碼 
				if((HuffmanEncode(H,fp1,fp2)) == '\0')//'\0'標(biāo)記讀完文件;文件所有字符都完成編碼
					break;
			}
			fclose(fp1);
			fclose(fp2);			
			break;
		case '3':  //對(duì)已編碼(Huffman編碼)文件進(jìn)行Huffman譯碼
            FLAG = 1;
			InputTwoFileName(filename,filename1,fp1,fp2);//輸入兩個(gè)文件名,并打開文件
/*輸入與已編碼文件filename對(duì)應(yīng)的原始數(shù)據(jù)(若對(duì)原始數(shù)據(jù)文件加密,則為加密文件)文件名filename2,以便
  求出Huffman樹T及Huffman編碼表H,因?yàn)橐玫絋及H來進(jìn)行Huffman譯碼。*/
			printf("Input the filename which is encoded to file %s:",filename);
            gets(string);
			strcpy(filename2,string);
			CreateHuffmanTree(T,filename2);//由文件filename2的字符頻度分析構(gòu)造哈夫曼樹T
			SetHuffmanEncodeTable(T,H);//根據(jù)哈夫曼樹T求哈夫曼編碼表H
            while(1){ //由Huffman樹T及Huffman編碼表H進(jìn)行文件的Huffman譯碼 
				if((HuffmanDecode(T,H,fp1,fp2)) == '\0')//'\0'標(biāo)記讀完文件;文件所有字符都完成編碼
					break;
			}
			fclose(fp1);
			fclose(fp2);
			break;
		case '4':  //對(duì)(加密)數(shù)據(jù)文件進(jìn)行等長編碼
            FLAG = 1;
			InputTwoFileName(filename,filename1,fp1,fp2); //輸入兩個(gè)文件名,并打開文件
			SetEqualLengthEncodeTable(E,filename);//由文件filename求得"等長編碼表E"
			while(1){//由"等長編碼表E"進(jìn)行等長編碼
				if((EqualLengthEncode(E,fp1,fp2)) == '\0')//'\0'標(biāo)記讀完文件;文件所有字符都完成編碼
					break;
			}
			fclose(fp1);
			fclose(fp2);			
			break;
		case '5':  //對(duì)已編碼(等長編碼)文件進(jìn)行等長譯碼
            FLAG = 1;
			InputTwoFileName(filename,filename1,fp1,fp2);//輸入兩個(gè)文件名,并打開文件
/*輸入與已編碼文件filename對(duì)應(yīng)的原始數(shù)據(jù)(若對(duì)原始數(shù)據(jù)文件加密,則為加密文件)文件名filename2,以便
  求出等長編碼表E,因?yàn)橐玫紼來進(jìn)行等長譯碼。*/
            printf("Input the filename which is encoded to file %s:",filename);
            gets(string);
			strcpy(filename2,string);
            SetEqualLengthEncodeTable(E,filename2);//由文件filename2求得"等長編碼表E"
            while(1){
				if((EqualLengthDecode(E,fp1,fp2)) == '\0')//'\0'標(biāo)記讀完文件;文件所有字符都完成編碼
					break;
			}
			fclose(fp1);
			fclose(fp2);
			break;
		case '6':  //對(duì)原始數(shù)據(jù)文件進(jìn)行加密
			FLAG = 1;
            InputTwoFileName(filename,filename1,fp1,fp2);//輸入兩個(gè)文件名,并打開文件
			encrypt(fp1,fp2);
			fclose(fp1);
			fclose(fp2);
			break;
		case '7':  //對(duì)加密文件進(jìn)行解密
            FLAG = 1;
			InputTwoFileName(filename,filename1,fp1,fp2);//輸入兩個(gè)文件名,并打開文件
			decrypt(fp1,fp2);
			fclose(fp1);
			fclose(fp2);					
			break;
		case '8':  //打印指定文件名的文件內(nèi)容
            FLAG = 1;
			printf("\nInput the filename(eg:DATAFILE) to print:");
			gets(string);
			strcpy(filename,string);
			print(filename);
			break;
		case '9':  //哈夫曼編碼算法完整演示(包括創(chuàng)建文件,編譯碼,加解密,打印文件)
			FLAG = 1;
			DemonstrateHuffmanArithmetic();
			break;
		case '0':  //等長編碼算法完整演示(包括創(chuàng)建文件,編譯碼,加解密,打印文件)
			FLAG = 1;
            DemonstrateEqualLengthCodeArithmetic();
			break;
		case 'e':  //退出程序
            FLAG = 1;
			printf("The program will exit later !\n");
			exit(1);
			break;		
		default:   //剛才輸入選擇無效;再進(jìn)行一次有效的選擇
			FLAG = 0;
			printf("Input '0' - '9' or 'e' to make a choice :");
			fflush(stdin);
			ch = getchar();
			break;
		}
	}

	printf("\nDo you want to make another choice ?\n");
	printf("Input 'y' or 'n' to determine :");
	fflush(stdin);
    ch = getchar();
	FLAG = 0;
	while(!FLAG){
		switch(ch){
		case 'y':
			FLAG = 1;
			goto RE_CHOICE;
			break;
		case 'n':
			FLAG = 1;
			printf("The program will exit later !\n");
			exit(1);
			break;
		default:
			FLAG = 0;
			printf("Input 'y' or 'n' to determine :");
			fflush(stdin);
			ch = getchar();
			break;
		}
	}
}

/*通信系統(tǒng)模塊順序:加密,編碼,譯碼,解密。*/
/*涉及到的各種文件名:DATAFILE,ENCRYPT_DATAFILE,DECRYPT_DATAFILE,
                      ENCODE_DATAFILE,DECODE_DATAFILE
*/
	

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆国产福利在线观看| 蜜臀av性久久久久蜜臀aⅴ | 午夜精品福利一区二区蜜股av| 99精品偷自拍| 亚洲最大成人网4388xx| 欧美日本精品一区二区三区| 久久 天天综合| 国产精品久久久一区麻豆最新章节| 成人a区在线观看| 亚瑟在线精品视频| 欧美成人a在线| 99在线热播精品免费| 亚洲成人激情社区| 久久久精品一品道一区| 99久久婷婷国产精品综合| 亚洲曰韩产成在线| 日韩视频一区二区三区在线播放 | 国产在线国偷精品免费看| 国产日韩欧美精品在线| 色狠狠综合天天综合综合| 日韩电影在线观看电影| 国产色产综合色产在线视频| 日本久久电影网| 国产最新精品精品你懂的| 自拍av一区二区三区| 欧美电影在线免费观看| 国产91在线看| 日韩不卡一区二区三区| 国产精品国产自产拍高清av | 福利一区二区在线| 亚洲国产一区二区三区青草影视| 日韩欧美久久一区| 91亚洲精品久久久蜜桃网站| 裸体一区二区三区| 亚洲图片另类小说| 26uuu国产一区二区三区| 色综合久久六月婷婷中文字幕| 男女男精品网站| 亚洲精品国产一区二区精华液| 日韩免费一区二区三区在线播放| av在线播放不卡| 久久精品72免费观看| 一区二区三区四区在线免费观看 | 国产亚洲成aⅴ人片在线观看| 色网综合在线观看| 国产99久久久国产精品潘金| 日韩在线一二三区| 亚洲综合免费观看高清在线观看| 久久婷婷一区二区三区| 欧美精品日日鲁夜夜添| 色美美综合视频| 大胆欧美人体老妇| 捆绑紧缚一区二区三区视频| 亚洲一区在线视频| 亚洲精品国久久99热| 国产精品每日更新在线播放网址| 欧美精品一区二区久久婷婷| 69堂精品视频| 欧美日韩中文字幕一区| 色偷偷一区二区三区| 99久久综合精品| 99久久综合狠狠综合久久| 国产精品资源在线看| 蜜桃久久久久久| 日韩不卡免费视频| 日韩高清电影一区| 日产精品久久久久久久性色| 亚洲bt欧美bt精品| 亚洲不卡一区二区三区| 亚洲国产毛片aaaaa无费看| 亚洲人成网站在线| 亚洲精品国产第一综合99久久 | 久久在线观看免费| 精品日韩av一区二区| 日韩女优av电影| 日韩一级二级三级精品视频| 欧美一区午夜精品| 精品日韩在线一区| 欧美精品一区二区三区久久久 | 亚洲精品国产精华液| 亚洲欧洲无码一区二区三区| 国产精品乱码人人做人人爱| 中文字幕一区二区三区av| 国产精品动漫网站| 亚洲午夜久久久久| 亚洲va欧美va人人爽午夜| 日韩—二三区免费观看av| 久久电影国产免费久久电影| 国产精品影音先锋| 93久久精品日日躁夜夜躁欧美| 91香蕉视频在线| 欧美日韩成人高清| 欧美大片在线观看一区二区| 国产亚洲制服色| 亚洲天堂2016| 香蕉乱码成人久久天堂爱免费| 日本欧美肥老太交大片| 激情文学综合插| voyeur盗摄精品| 91.麻豆视频| 久久久久久久久久久黄色| 亚洲欧洲日产国码二区| 一区二区三区高清在线| 久久精品国产成人一区二区三区| 国产成人亚洲精品青草天美| 色噜噜狠狠色综合欧洲selulu| 欧美日韩1234| 国产精品系列在线| 婷婷久久综合九色综合绿巨人| 久久99精品国产.久久久久久| 国产成人精品网址| 欧美日韩视频在线一区二区| 久久综合五月天婷婷伊人| 最新久久zyz资源站| 日本成人中文字幕在线视频| 成人一区二区三区| 91精品国产色综合久久久蜜香臀| 久久美女艺术照精彩视频福利播放| 亚洲人成小说网站色在线| 另类成人小视频在线| 99精品欧美一区二区蜜桃免费 | 粗大黑人巨茎大战欧美成人| 欧美性淫爽ww久久久久无| 精品国产一区二区三区忘忧草 | 亚洲天堂福利av| 免费美女久久99| 一本久久a久久免费精品不卡| 欧美一区二区三区精品| 亚洲人成伊人成综合网小说| 精品无码三级在线观看视频| 欧美亚一区二区| 国产精品乱子久久久久| 久久99精品视频| 欧美日韩国产美女| 亚洲欧洲一区二区三区| 黑人巨大精品欧美一区| 在线免费亚洲电影| 国产精品欧美久久久久一区二区| 麻豆国产欧美一区二区三区| 91理论电影在线观看| 国产亚洲精久久久久久| 另类小说色综合网站| 欧美日韩在线亚洲一区蜜芽| 久久99精品久久久久久| 欧美午夜在线一二页| 亚洲视频在线观看三级| 国产精品亚洲视频| 2021国产精品久久精品| 日本伊人色综合网| 91福利资源站| 一区二区成人在线| 99精品1区2区| 国产精品女上位| 盗摄精品av一区二区三区| 26uuu久久天堂性欧美| 裸体歌舞表演一区二区| 日韩丝袜情趣美女图片| 免费观看久久久4p| 欧美一区二区三区在线视频| 三级欧美在线一区| 91精品国产综合久久久久久久久久 | 91污在线观看| 亚洲欧洲制服丝袜| 色综合色综合色综合| 亚洲人成网站色在线观看| 91污片在线观看| 亚洲男女毛片无遮挡| 91九色02白丝porn| 亚洲一区二区综合| 91 com成人网| 久久国产精品99精品国产| 久久美女艺术照精彩视频福利播放 | 国产亚洲综合在线| 国产精品性做久久久久久| 中文字幕乱码久久午夜不卡 | 日本韩国欧美在线| 亚洲国产日韩精品| 6080亚洲精品一区二区| 蜜臀精品一区二区三区在线观看 | 精品国产百合女同互慰| 国产成人亚洲综合a∨婷婷| 中文字幕第一区| 日本道免费精品一区二区三区| 亚洲一区二区三区视频在线| 91麻豆精品国产91久久久久久久久 | 另类小说视频一区二区| 久久精品在这里| 91视频观看免费| 日韩有码一区二区三区| wwwwxxxxx欧美| 国产jizzjizz一区二区| 亚洲黄色av一区| 日韩精品一区在线| 波波电影院一区二区三区| 亚洲综合一区二区三区| 欧美一二三四区在线| 国产精品性做久久久久久| 亚洲精品乱码久久久久久久久| 欧美一级夜夜爽| av网站免费线看精品|