该代码实现小写英文的明文密文转换
#include <iostream>
using namespace std;
//加密
void crypto(){
char a[100],b[100];
cout<<"请输入明文:"<<endl;
cin>>a;
cout<<"请输入密钥:"<<endl;
int d;
cin>>d;
for (int i = 0;a[i] != 0;i++){
b[i]=(a[i]-'a'+d)%26+'a';
}
cout<<"密文是:"<<endl;
cout<<b<<endl;
}
//解密
void decrypto(){
char a[100],b[100];
cout<<"请输入要解密的密文:"<<endl;
cin>>a;
cout<<"请输入密钥:"<<endl;
int d;
cin>>d;
for (int i = 0;a[i] != 0;i++){
b[i]=(a[i]-'a'-d+26)%26+'a';
}
cout<<"明文为:"<<endl;
cout<<b<<endl;
}
int main()
{
int m;
while (true)
{
cout << "请选择模式:1加密、2解密、3退出" << endl;
cin >> m;
if (m == 1) crypto();
else if (m == 2) decrypto();
else if (m == 3) break;
else cout << "您的输入有问题" << endl;
}
return 0;
}
如果需要实现大写英文,需要将'a'改为'A',若要同时实现小写大写的加解密,需要进一步改进
效果图: