📄 cpp1.cpp
字号:
#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;
char *ming=new char[999];
int encrypt(string a,int b)
{
int c=a.length(),j;
for(int i=0;i<c;i++)
{
j=(int)a[i]; //100
j=j+b; //125
if(j>122){j=j-(j/26)*26+97;}//28,99
a[i]=(char)j;
ming[i]=(char)j;
cout<<a[i];
}
return 1;
}
int decrypt(string a,int b)
{
int c=a.length(),j;
for(int i=0;i<c;i++)
{
j=(int)a[i]; //99
j=j-b; //99-25=74
if(j<97){j=j-(j/26)*26+97;} //122-74+52
a[i]=(char)j;
ming[i]=a[i];
cout<<(char)j;
}
cout<<endl;
return 1;
}
void main()
{
// char *ming=new char[999];
printf("****************实验一之替换算法*****************\n");
string mi;
int a,b,c=3;
cout<<"请输入明文:";
gets(ming);
cout<<"明文为:"<<ming<<endl;
cout<<"请输入加密密钥(1-26):";
cin>>a;
while(a<0||a>26)
{
cout<<"请注意密钥范围为(1-26)!"<<endl;
cout<<"请输入加密密钥:";
cin>>a;
}
cout<<"密文为:";
encrypt(ming,a);
cout<<endl;
cout<<"请输入解密密钥:";
cin>>b;
while(b!=a){
cout<<"密钥输入错误!"<<endl;
c--;
cout<<"你还有:"<<c<<"次输入机会"<<endl;
if(c<1){cout<<"输入错误次数达3次,系统拒绝再次尝试输入!"<<endl;
exit(1);}
cout<<"请输入解密密钥:";
cin>>b;
}
cout<<"解密后明文为:";
decrypt(ming,b);
}
//97--122
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -