在C ++中将字母字符定义为其他字母字符

时间:2016-01-03 12:10:59

标签: c++

这是我想要做的。我有一系列字母表。

char defaultCharacters[] = {'A', 'B', 'C', 'D', 'E', ...., 'Z'};

所以我想做的是以下内容。 让我们说用户想要8char缩进,所以字母“A'将会是我的#39; 基本上是A + 8.

我应该怎么做,因为我不想将每个字母定义为另一个字母需要很多时间。谢谢!

3 个答案:

答案 0 :(得分:4)

尝试:

char oldchar = 'A'; // check for a valid char from 'A' to 'Z'
char newchar = defaultCharacters[(oldchar + 8 - 'A') % 26];

但您需要先检查有效的oldchar

答案 1 :(得分:2)

你可以这样做

char defaultCharacters[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGH";
char new_char = defaultCharacters[old_char + 8 - 'A'];

char new_char = 'A' + (old_char + 8 - 'A') % 26;

但首先应该检查old_char,即

if (old_char < 'A' || old_char > 'Z') { .... some error code
} else {
   ....

答案 2 :(得分:0)

看一下ASCII table,您根本不需要字母数组:

const char input = std::cin.get();
const char output = (input - 'A' + 8) % 26 + 'A';