Преобразование символов нижнего и верхнего регистра ASCII

Я делаю программу, которая преобразует символы ascii от «a» до «z» и от «A» до «Z». (только буквы). например, а+1 = б

a+2 = c

b+1 = c

A+1 = B

Так что единственное, что я не знаю, как это сделать, это составить карту. Как я могу сделать так, чтобы, когда checklower/checkupper истинно, в основном отображалось на строчную букву (например, z + 2 = b).


person Mdjon26    schedule 03.09.2013    source источник


Ответы (1)


Самый простой способ, вероятно, использовать оператор модуля %:

int letter_add = ((input.at(i) - 'a' + cmd_int) % 26) + 'a';

Вам понадобится симметричная линия для заглавных букв (или просто сделайте 'a' переменной).

person Carl Norum    schedule 03.09.2013