c语言实现置换密码
//单置换密码的编程实现(C++)
//作者信息:
//
//本程序使用方法:需要在本程序所在的文件夹创建一个"密码学.txt"文档,
//该程序所需要的数据全部由该文档提供,然后运行即可得到结果,如需要修改数据,必须从文档中人工修改
//文档格式的要求:文档总共包含两行。第一行由一个1或2的数字和一个字符串组成,数字1代表加密,2代表解密,字符串表示密钥
//第二行仅包含一个字符串,这个字符串是需要加密或解密的内容。
//该程序运行结果直接由控制台输出
运行结果:
#include
#include
#include
using namespace std;
ifstream in("密码学.txt");
void JiaMi(char ZhiHuan[]); //加密函数
void JieMi(char ZhiHuan[]); //解密函数
void setZhiHuan(char ZhiHuan[],char fanZhiHuanBiao[]); //设置置换表函数
int main()
{
int m; //确定是加密或解密?加密为1,解密为2
char ZhiHuanBiao['z'+1]; //正向置换表,加密时用
char fanZhiHuanBiao['Z'+1]; //反向置换表,解密时用
cout<
in>>m; //读入m
setZhiHuan(ZhiHuanBiao, fanZhiHuanBiao); //设置置换表
switch(m) //判断m值,执行相应的功能
{
case 1: JiaMi(ZhiHuanBiao);break;
case 2: JieMi(fanZhiHuanBiao);break;
default:break;
}
return 0;
}
void JiaMi(char ZhiHuan[]) //加密
{
string MingWen; //保存明文
cout<
getline(in,MingWen); //读入明文
cout<
cout<
for(int i=0; i
{
if(MingWen[i]>='a' && MingWen[i]<='z')
cout<
else cout<
}
cout<
}
void JieMi(char fanZhiHuan[])
{
string MiWen; //保存密文
cout<
getline(in,MiWen); //读入密文
cout<
cout<
for(int i=0; i
{
if(MiWen[i]>='A' && MiWen[i]<='Z')
cout<
else cout<
}
cout<
}
void setZhiHuan(char Zhi