caesar.cpp

来自「替代密码包括多种类型」· C++ 代码 · 共 52 行

CPP
52
字号
#include <iostream.h>
void JiaMi()
{
        char M[100],C[100]; 
	    cout<<"请输入一段明文M(注意不要输入空白串):";
        cin>>M;
	    int K; 
	    cout<<"请输入密钥K(K为一个正整数):";
	    cin>>K;
	    for(int i=0;M[i]!='\0';i++)
			C[i]=(M[i]-'a'+K)%26+'a';
		C[i]='\0'; 
		cout<<"加密后的密文为:"<<C<<endl;
		cout<<endl;
}
void JieMi()
{
        char M[100], C[100]; 
	    cout<<"请输入一段密文M(注意不要输入空白串):";
        cin>>M;
	    int K; 
	    cout<<"请输入密钥K(K为一个正整数):";
		cin>>K;
		for(int i=0;M[i]!='\0';i++)
			C[i]='a'-('a'-M[i]+K-26)%26;
		C[i]='\0';
		cout<<"解密后的明文为:"<<C<<endl;
		cout<<endl;
	
}
int main()
{
    char n[100];
    s:cout<<"           ******************欢迎使用凯撒密码功能********************"<<endl;
	cout<<endl;
	cout<<"******1. 加密******"<<endl;
	cout<<"******2. 解密******"<<endl;
	cout<<"******3. 退出******"<<endl;
	cout<<endl;
	cout<<"请按1~3选择:";
    cin>>n;
	while(1)
    {switch(n[0])
		{
		case '1': JiaMi();break;
		case '2': JieMi();break;
		case '3': cout<<"程序结束!"<<endl;return 0;
		default: break;
		}
	   goto s;
	} 
}

⌨️ 快捷键说明

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