主要采用ctype.h的几个函数 tolower大写变小写,toupper小写变大写,isdigit是不是数字,isalpha是不是字母,islower是不是小写,isupper是不是大写。还有其他的函数
可以查看ctype.h
#include<iostream>
#include<string>#include<ctype.h>
using namespace std;
#define MAX 100
void Encrypt(char aucPassword[], char aucResult[]);
int unEncrypt(char result[], char password[]);
/*void main(){
cout << "输入说明:1、字符串以回车结尾。2、字符串最长100个字符。" << endl;
char a[MAX] = { 0 }, b[MAX] = { 0 }, c[MAX] = { 0 }, d[MAX] = { 0 };
cin >> a;
cin >> b;
Encrypt(a,c);
unEncrypt(b,d);
cout << c << endl;
cout << d << endl;
system("pause");
}
int main(void)
{
char sourceone[100], resultone[100], sourcetwo[100], resulttwo[100];
gets(sourceone);
gets(sourcetwo);
Encrypt(sourceone, resultone);
unEncrypt(sourcetwo, resulttwo);
puts(resultone);
puts(resulttwo);
}*/
void main()
{
//cout<<"Please input words to be encoded and decoded"<<endl;
char aucPassword[100], aucResult[100], result[100], password[100];
//string aucPassword,aucResult,result,password;
cin >> aucPassword;
cin >> result;
Encrypt(aucPassword, aucResult);
unEncrypt(result, password);
return;
}
void Encrypt(char aucPassword[], char aucResult[]){
int len = strlen(aucPassword);
int i = 0;
for (i = 0; i < len + 1;i++){
if (isdigit(aucPassword[i])){
if (aucPassword[i] == '9'){
aucResult[i] = '0';
}
else{
aucResult[i] = aucPassword[i] + 1;
}
}
else if (islower(aucPassword[i])){
aucPassword[i] = toupper(aucPassword[i]);
if (aucPassword[i] == 'Z'){
aucResult[i] = 'A';
}
else{
aucResult[i] = aucPassword[i] + 1;
}
}
else if (isupper(aucPassword[i])){
aucPassword[i] = tolower(aucPassword[i]);
if (aucPassword[i] == 'z'){
aucResult[i] = 'a';
}
else{
aucResult[i] = aucPassword[i] + 1;
}
}
}
aucResult[i] = 0;
cout << aucResult << endl;
}
int unEncrypt(char result[], char password[]){
int i = 0;
int len = strlen(result);
for (i = 0; i < len + 1;i++){
if (isdigit(result[i])){
if (result[i] == '0'){
password[i] = '9';
}
else{
password[i] = result[i] - 1;
}
}
else if (islower(result[i])){
result[i] = toupper(result[i]);
if (result[i] == 'A'){
password[i] = 'Z';
}
else{
password[i] = result[i] - 1;
}
}
else if (isupper(result[i])){
result[i] = tolower(result[i]);
if (result[i] == 'a'){
password[i] = 'z';
}
else{
password[i] = result[i] - 1;
}
}
}
password[i] = 0;
cout << password << endl;
return 0;
}
/*#include<iostream>
#include<string>
using namespace std;
void Encrypt(char aucPassword[], char aucResult[]);
int unEncrypt(char result[], char password[]);
int main()
{
//cout<<"Please input words to be encoded and decoded"<<endl;
char aucPassword[100], aucResult[100], result[100], password[100];
//string aucPassword,aucResult,result,password;
cin >> aucPassword;
cin >> result;
Encrypt(aucPassword, aucResult);
unEncrypt(result, password);
return 0;
}
void Encrypt(char aucPassword[], char aucResult[])
{
char * pchar = aucPassword;
int i = 0;
while (*pchar)
{
if (*pchar >= 'a'&&*pchar<'z')
*(i + aucResult) = *pchar - 31;
else if (*pchar >= 'A'&&*pchar<'Z')
*(i + aucResult) = *pchar + 31;
else if (*pchar == 'Z')
*(i + aucResult) = 'a';
else if (*pchar == 'z')
*(i + aucResult) = 'A';
else if (*pchar >= '0'&&*pchar<'9')
*(i + aucResult) = *pchar + 1;
else if (*pchar == '9')
*(i + aucResult) = '0';
pchar++;
i++;
}
*(i + aucResult) = 0;
cout << aucResult << endl;
}
int unEncrypt(char result[], char password[])
{
char * pchar = result;
int len = strlen(result);
char * aucResult = password;
while (*pchar)
{
if (*pchar>'a'&&*pchar <= 'z')
*aucResult = *pchar - 31;
else if (*pchar>'A'&&*pchar <= 'Z')
*aucResult = *pchar + 31;
else if (*pchar == 'A')
*aucResult = 'z';
else if (*pchar == 'a')
*aucResult = 'Z';
else if (*pchar>'0'&&*pchar <= '9')
*aucResult = *pchar - 1;
else if (*pchar == '0')
*aucResult = '9';
pchar++;
aucResult++;
}
*aucResult = 0;
cout << (aucResult - len) << endl;
//system("pause");
return 0;
}*/
- #include <iostream>
- using namespace std;
- void Encrypt (char aucPassword[], char aucResult[])
- {
- int ii = 0;
- while( ((int('a')-1)<int(aucPassword[ii]))&&(int(aucPassword[ii])<(int('z')+1)) )
- {
- aucResult[ii] = aucPassword[ii]-32+1;
- cout<<aucResult[ii];
- ii++;
- }
- aucResult[ii] = '\0';
- }
- int unEncrypt (char result[], char password[])
- {
- int ii = 0;
- while( ((int('A')-1)<int(result[ii]))&&(int(result[ii])<(int('Z')+1)) )
- {
- password[ii] = result[ii]+32-1;
- cout<<password[ii];
- ii++;
- }
- password[ii] = '\0';
- return 0;
- }
- int main()
- {
- char aucPassword[101];
- char aucResult[101];
- char result[101];
- char password[101];
- cin>>aucPassword;
- cin>>result;
- Encrypt(aucPassword,aucResult);
- cout<<endl;
- unEncrypt(result,password);
- return 0;
- }