#include <iostream>
#include <cstring>
using namespace std;/*输入字符位数*/
const int num=50;
int encryption();
int decryption();
int main()/*选择设置密码或消除密码*/
{
cout<<"choose to encryption(input a) or decryption(input anykey except a)"<<endl;/*选择设置密码或消除密码,a代表设置密码,0代表消除密码*/
if(getchar()=='a') encryption();
else decryption();
return 0;
}
int encryption()/*设置密码函数*/
{
cout<<"now doing encryption"<<endl;
char a[num],b[7]={'4','9','6','2','8','7','3'};
gets(a);
int i=strlen(a),j,k;
for(j=0;j<i;j++)
{
k=a[j]+b[(j+1)%7-1];
if(k>122) a[j]=k-91;
else a[j]+=b[(j+1)%7-1];
}
cout<<a<<endl;
system("pause");
return 0;
}
int decryption()/*取消密码函数*/
{
cout<<"now doing decryption"<<endl;
char a[num],b[7]={'4','9','6','2','8','7','3'};
cin>>a;
int i=strlen(a),j;
for(j=0;j<i;j++)
{
a[j]-=b[(j+1)%7-1];
if(a[j]<32) a[j]+=91;
}
cout<<a<<endl;
system("pause");
return 0;
}
上面的加密函数用了gets来输入,不行,而改用cin就可以,例如下面的解密函数,把加密函数单独做成一个程序也可以运行(用gets)为什么呢