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

📄 decipher.cpp

📁 这是一个通过字符串操作来实现文本加密解密的源程序,通过打乱原文本字符串的顺序,隐藏信息,通过解密,可以回复原字符正常顺序,达到加密解密的目的.压缩包包括源程序文件,再vc中运行.
💻 CPP
字号:
//#include<iostream.h>
#include"decipher.h"
void main()
{
	char s[size],c[20];//c数组用于存储非元音字符段,s数组用于存储要解密的文件
	make_string_empty(s);//首先s清空,因为系统为s分配的内存不一定是空的,可能含有内容
	make_string_empty(c);//首先把清空,原因同上
	char a;
	int mark=0;
	stack decipher(size);//定义栈对象
	int choice=1;
	while(choice)
	 {
	   	 cout<<"请输入要解密的文件内容:"<<endl;
		 gets(s);
		 int L=strlen(s);//求输入要解密的文件长度
		for(int j=0;j<L;j++)
		{
			a=s[j];	
			//cout<<j<<s[j]<<endl;
			if((a!='a')&&(a!='A')&&(a!='u')&&(a!='U')&&(a!='e')&&(a!='E')&&(a!='i')&&(a!='I')&&(a!='o')&&(a!='O'))
			{
				c[mark]=a;//如果字符不是元音,把它保存到c数组中
				mark++; 
                if(j+1==L)
				 {
                   c[mark]='\0';
                   decipher.push_string(reverse(c));
				   make_string_empty(c);
				 }			
			}
			else
			{   
				c[mark]='\0';//遇到元音,则c数组结束
			    if((c[0]!='\0'))
				{
					//cout<<c;
				    decipher.push_string(reverse(c));//把c数组逆转,并压栈
				    make_string_empty(c);//清空c数组
				    mark=0;
				}
				decipher.push(a);//把元音字符压栈
			}
		} 
		cout<<"解密后的文件内容为:"<<endl;
		for(j=0;j<L;j++)
			 	cout<<decipher.pop();//弹栈,输出
		cout<<endl;
		cout<<"继续解密文件:1"<<endl
		 <<"退出解密程序:0"<<endl;
		 cin>>choice;
		 if(choice==0) return;
	} 
	

}


⌨️ 快捷键说明

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