按妳的要求簡單寫了壹個程序,不知道是否符合要求?
程序截圖:
源代碼如下,如果有什麽問題歡迎追問:
#include?<iostream>
#include?<string>
using?namespace?std;
const?char?STR_ENCRYPTION_USED[]?=?"4962873";
const?string?zdsEncryption(string?zStr); //<加密
const?string?zdsDecryption(string?zStr); //<解密
int?main(){
string?zdsEnter?=?"";
cout<<"Please?Enter?a?string:";
cin>>zdsEnter;
if?(zdsEnter.size()?>?0){
string?zdsPlaintext?=?zdsDecryption(zdsEncryption(zdsEnter));
if(zdsEnter?==?zdsPlaintext){
cout<<"Encryption?success,Plain?Text?is:?"<<zdsPlaintext<<endl;?
}else{
cout<<"Encryption?failed!"<<endl;?
}
}else{
cout<<"Enter?Error!"<<endl;
}
system("pause");
return?0;
}
const?string?zdsEncryption(?string?zStr?)
{
unsigned?int?i=0;
unsigned?int?j=0;
string?strEncrypt?=?STR_ENCRYPTION_USED;
for?(;i<zStr.size();i++){
for?(;j<strEncrypt.size();j++){
zStr[i]=char(int(zStr[i])+int(strEncrypt[j]));
}
if?(j?==?strEncrypt.size()){
j?=?0;
}
}
cout<<zStr<<endl;
return?zStr;
}
const?string?zdsDecryption(?string?zStr?)
{
unsigned?int?i=0;
unsigned?int?j=0;
string?strEncrypt?=?STR_ENCRYPTION_USED;
for?(;i<zStr.size();i++){
for?(;j<strEncrypt.size();j++){
zStr[i]=char(int(zStr[i])-int(strEncrypt[j]));
}
if?(j?==?strEncrypt.size()){
j?=?0;
}
}
return?zStr;
}