题外话:fish_fish是我的同学,我的灵感来源于ta。
今天,我们来制作一个编码解码转换器。
一、目标功能:
- 编码:用户输入进一个秘钥和需要编码的字符,程序能够根据秘钥来去进行编码。
- 解码:用户输入进一个秘钥和需要解码的字符,程序能够根据秘钥来去进行解码。
- 能够复制文本:有些编译器的运行框是不能够直接进行复制的,所以我们需要有一个能够复制文本的功能。
二、如何实现:
我先来说一下这个编码解码转换器的中心思想。
1. 首先,用户先输入进一个长度为4字符的非大写字母。定义8个char类型变量,其中4个存储秘钥的小写字母方式,另外4个存储秘钥的大写方式。在根据那8个char整型变量定义一个char二维数组,用于之后的编码或解码。
代码:
char a;
char b;
char c;
char d;
char A;
char B;
char C;
char D;
a=password[0];
b=password[1];
c=password[2];
d=password[3];
A=char(int(a)-32);//把秘钥转成大写字母,方便解码
B=char(int(b)-32);
C=char(int(c)-32);
D=char(int(d)-32);
char ascii[256][4]={
{A,a,a,a},{A,a,a,b},{A,a,a,c},{A,a,a,d},{A,a,b,a},{A,a,b,b},{A,a,b,c},{A,a,b,d},{A,a,c,a},{A,a,c,b},{A,a,c,c},{A,a,c,d},{A,a,d,a},{A,a,d,b},{A,a,d,c},{A,a,d,d},{A,b,a,a},{A,b,a,b},{A,b,a,c},{A,b,a,d},{A,b,b,a},{A,b,b,b},{A,b,b,c},{A,b,b,d},{A,b,c,a},{A,b,c,b},{A,b,c,c},{A,b,c,d},{A,b,d,a},{A,b,d,b},{A,b,d,c},{A,b,d,d},{A,c,a,a},{A,c,a,b},{A,c,a,c},{A,c,a,d},{A,c,b,a},{A,c,b,b},{A,c,b,c},{A,c,b,d},{A,c,c,a},{A,c,c,b},{A,c,c,c},{A,c,c,d},{A,c,d,a},{A,c,d,b},{A,c,d,c},{A,c,d,d},{A,d,a,a},{A,d,a,b},{A,d,a,c},{A,d,a,d},{A,d,b,a},{A,d,b,b},{A,d,b,c},{A,d,b,d},{A,d,c,a},{A,d,c,b},{A,d,c,c},{A,d,c,d},{A,d,d,a},{A,d,d,b},{A,d,d,c},{A,d,d,d},{B,a,a,a},{B,a,a,b},{B,a,a,c},{B,a,a,d},{B,a,b,a},{B,a,b,b},{B,a,b,c},{B,a,b,d},{B,a,c,a},{B,a,c,b},{B,a,c,c},{B,a,c,d},{B,a,d,a},{B,a,d,b},{B,a,d,c},{B,a,d,d},{B,b,a,a},{B,b,a,b},{B,b,a,c},{B,b,a,d},{B,b,b,a},{B,b,b,b},{B,b,b,c},{B,b,b,d},{B,b,c,a},{B,b,c,b},{B,b,c,c},{B,b,c,d},{B,b,d,a},{B,b,d,b},{B,b,d,c},{B,b,d,d},{B,c,a,a},{B,c,a,b},{B,c,a,c},{B,c,a,d},{B,c,b,a},{B,c,b,b},{B,c,b,c},{B,c,b,d},{B,c,c,a},{B,c,c,b},{B,c,c,c},{B,c,c,d},{B,c,d,a},{B,c,d,b},{B,c,d,c},{B,c,d,d},{B,d,a,a},{B,d,a,b},{B,d,a,c},{B,d,a,d},{B,d,b,a},{B,d,b,b},{B,d,b,c},{B,d,b,d},{B,d,c,a},{B,d,c,b},{B,d,c,c},{B,d,c,d},{B,d,d,a},{B,d,d,b},{B,