//单置换密码的编程实现(C++)
//作者信息:
//理学院 信息与计算科学 0901 班 学号:090701017 姓名:熊鹏
//本程序使用方法:需要在本程序所在的文件夹创建一个"密码学.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<<"加密按输入 1,解密输入 2"<
>m;
setZhiHuan(ZhiHuanBiao, fanZhiHuanBiao);
switch(m)
的功能
{
case 1: JiaMi(ZhiHuanBiao);break;
case 2: JieMi(fanZhiHuanBiao);break;
default:break;
}
return 0;
}
void JiaMi(char ZhiHuan[])
{
string MingWen;
cout<='a' && MingWen[i]<='z')
cout<='A' && MiWen[i]<='Z')
cout<}
cout<
= 'A' && s[i] <='Z')
{
for(int j = 0; j < s1.length();j++)
{
if(s[i] == s1[j])
{
sign = 1;
break;
}
}
if(sign == 0) s1 = s1 + s[i];
else sign = 0;
}
}
for( j ='a';j<='z';j++)cout<for(int j = 'a'; j < 'a' + s1.length(); j++)
{
if(ch == ZhiHuanBiao[j])
{
ch++;
j= 'a';
continue;
}
}
ZhiHuanBiao[i] = ch;
ch++;
}
cout<