⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 savetype.cpp

📁 哈夫曼编_译码器,编码器的实现元代码,数据结构和算法的课程设计,很不错的!
💻 CPP
字号:
#include <stdio.h>
#include "SaveType.h"
#include <stdlib.h>

//SaveType.cpp

void SaveType::SaveCode(int m,HuffmanCode HC,int &flag){
	int i,j;
	char ch;
	FILE *fp,*fp1;
loop:
	system("cls");   //清屏
	cout<<endl;cout<<endl;
	cout<<"                      你要保存刚才输入的代码吗?   Y/N"<<endl;
	cin>>ch;
	switch(ch){
	case 'Y':
	case 'y':{
		         system("cls");   //清屏
		         fp=fopen("CodeFile.text","a");
				 fp1=fopen("AllCodeFile.text","a");
				 for(i=0;i<m;i++){
					 for(j=0;HC[i][j]!='\0';j++){
						 ch=HC[i][j];
						 fputc(ch,fp);
						 fputc(ch,fp1);
					 }
				 }
				 fclose(fp1);
				 fclose(fp);
				 if(flag==0)  //还要继续输入编码
				 {
loop2:
				     cout<<endl;
		             cout<<"                  你需要确定重新输入编码数据吗?Y/N"<<endl;
				     cin>>ch;
				     switch(ch){
				     case 'Y':
				     case 'y':{flag=1;break;}
				     case 'N':
				     case 'n':break;
				     default: goto loop2;
					 }
				 }
				 else 
					 if(flag==1) flag=0;  //flag==1表示输入结束,所以要置flag=0,这样返回后直接退出
				 break;
			 }
	case 'N':
	case 'n': {
		       if(flag==0){
loop1:					   
			           system("cls");   //清屏
					   cout<<endl;
		               cout<<"                你需要重新输入编码数据吗?Y/N"<<endl;
				       cin>>ch;
				       switch(ch){
				       case 'Y':
				       case 'y':{flag=1;break;}
				       case 'N':
			       	   case 'n':break;
				       default: goto loop1;
					   }
				   }
			   else
				   if(flag==1) flag=0;      //flag==1表示输入结束,所以要置flag=0,这样返回后直接退出
			   break;
			  }
	default: goto loop;
	}
}

void SaveType::SaveWord(char ch){
	FILE *fp,*fp1;
	if(!(fp=fopen("TextFile.text","a"))){
		fp=fopen("TextFile.text","w+");
	}
	fputc(ch,fp);
	 if(!(fp1=fopen("AllTextFile.text","a")))
		 fp1=fopen("AllTextFile.text","w+");
	fputc(ch,fp1);
	fclose(fp1);
	fclose(fp);
	return;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -