C++自制编码解码(灵感来源:洛谷用户fish_fish)

题外话:fish_fish是我的同学,我的灵感来源于ta。


今天,我们来制作一个编码解码转换器。

一、目标功能:

  1. 编码:用户输入进一个秘钥和需要编码的字符,程序能够根据秘钥来去进行编码。
  2. 解码:用户输入进一个秘钥和需要解码的字符,程序能够根据秘钥来去进行解码。
  3. 能够复制文本:有些编译器的运行框是不能够直接进行复制的,所以我们需要有一个能够复制文本的功能。

二、如何实现:

 我先来说一下这个编码解码转换器的中心思想。

     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,
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值