完整代码在这呢
程序代码:
/*
功能描述:输入原文 经过加密 输出密文 再经过解密 输出原文
编写时间:2017年4月12日
编写语言:C++
编写环境:VC++6.0
测试原文:Time Live Up To Deep Love.乱码*8-+【\
测试密文:Grnv Orev Fk Gl Wvvk Olev.乱码*8-+【\
*/
#include<iostream>
#include<string>
#include<windows.h>
#include<conio.h>
using namespace std;
void encrypt(char *str1) //加密与解密函数 定义一个字符型指针形参
{
int i,j;
char str3[]={"ABCDEFGHIJKLMNOPQRSTUVWXYZ"},str4[]={"abcdefghijklmnopqrstuvwxyz"};
for(i=0;str1[i]!='\0';)
{
if((str1[i]>='a'&&str1[i]<='z')||(str1[i]>='A'&&str1[i]<='Z')) //如果是字母 进入加密与解密阶段
{
for(j=0;str3[j]!='\0';j++)
{
if(str1[i]==str3[j]) //将字母与大写字母字符数组中字符进行比较
{
str1[i]=str3[25-j];
i++;
}
if(str1[i]==str4[j]) //将字母与小写字母字符数组中字符进行比较
{
str1[i]=str4[25-j];
i++;
}
}
}
else i++; //如果是其他字符 不变
}
}
void gotoxy(int x,int y) /*光标定位函数*/
{
COORD coord={y,x};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}
void main()
{
int i;
char c,n;
char str1[200]={0}; //定义字符数组 用于储存原文或密文
do
{
system("cls");
gotoxy(6,15);
cout<<"1.将原文转为密文.";
gotoxy(8,15);
cout<<"2.将密文转为原文.";
gotoxy(10,15);
cout<<"3.退出.";
gotoxy(15,25);
cout<<"请选择:";
cin>>n;
}while(n!='1'&&n!='2'&&n!='3');
switch(n)
{
case '1':
system("cls");
cout<<"请输入原文:";
gets(str1); //输入原文字符串
cout<<endl;
cout<<"原文为:";
puts(str1);
cout<<endl;
encrypt(str1); //加密
cout<<"密文为:";
puts(str1);
cout<<endl;
break;
case '2':
system("cls");
cout<<"请输入密文:";
gets(str1); //输入密文字符串
cout<<endl;
cout<<"密文为:";
puts(str1);
cout<<endl;
encrypt(str1); //解密
cout<<"原文为:";
puts(str1);
cout<<endl;
break;
case '3':
exit(0);
}
}