📄 004.cpp
字号:
// 004.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream.h"
#include "string.h"
//移位密码加密
void Encrypt()
{
int n;
int k;
char p[100];
cout<<"输入循环位移的字符个数:"<<endl;
cin>>k;
cout<<"输入要加密的字母个数:"<<endl;
cin>>n;
cout<<"输入以小写表示的明文字母:"<<endl;
for(int i=0;i<n;i++)
cin>>p[i];
cout<<"输出加密后以大写字母表示的密文:"<<endl;
for(i=0;i<n;i++)
{
if(p[i]+k%26<'a') //当字母移位后ASC||码小于'a'时,p[i]=p[i]+k%26-6.
{
p[i]=p[i]+k%26-6;
cout<<p[i];
}
else if(p[i]+k%26>'z') //当字母移位后ASC||码大于'z'时,p[i]=p[i]+k%26-58.
{
p[i]=p[i]+k%26-58;
cout<<p[i];
}
else //当字母移位后ASC||码在'a'与'z'之间时,p[i]=p[i]+k%26-32.
{
p[i]=p[i]+k%26-32;
cout<<p[i];
}
}
cout<<endl;
cin.get();
}
//移位密码解密
void Decode()
{
int n;
int k;
char p[100];
cout<<"输入循环位移的字符个数:"<<endl;
cin>>k;
cout<<"输入要解密的字母个数:"<<endl;
cin>>n;
cout<<"输入以大写字母表示的密文:"<<endl;
for(int i=0;i<n;i++)
cin>>p[i];
cout<<"输出解密后以小写字母表示的明文:"<<endl;
for(i=0;i<n;i++)
{
if(p[i]+k%26<'A') //当字母移位后ASC||码小于'A'时,p[i]=p[i]+k%26+58.
{
p[i]=p[i]+k%26+58;
cout<<p[i];
}
else if(p[i]+k%26>'Z') //当字母移位后ASC||码大于'Z'时,p[i]=p[i]+k%26+6.
{
p[i]=p[i]+k%26+6;
cout<<p[i];
}
else //当字母移位后ASC||码在'A'与'Z'之间时,p[i]=p[i]+k%26+32.
{
p[i]=p[i]+k%26+32;
cout<<p[i];
}
}
cout<<endl;
cin.get();
}
void main()
{
int sign=1;
int z;
while(sign==1)
{
cout<<"加密----1,解密----2,退出----0 :"<<endl;
cin>>z;
switch(z)
{
case 0: sign=0;
break;
case 1: Encrypt();
cin.get();
break;
case 2: Decode();
cin.get();
break;
default: cout<<"input error!"<<endl;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -