>> ROB BOWDEN: Привет, я Роб.
И когда в Риме, давайте программа как римляне.
Так, первое, что нам нужно сделать, это проверить чтобы убедиться, что пользователь действительно вошел
количество, что мы хотим, чтобы повернуть каждый характер, по крайней командной строки.
>> Так, мы проверяем.
Является агдс равно 2?
Если это не так, это означает, что пользователю либо не ввести номер в
командной строки или они вошли слишком много вещи в командной строке, в которой
случай, мы не знаем, что делать с остальной частью вещей.
Так, пока агдс было два года, мы можем продолжить остальной части программы.
>> Теперь, помните, что ARGV 1 всегда является строкой.
Но мы хотим, чтобы рассматривать его как целое.
Так, мы используем функцию atoi Это вышеупомянутое множество р спецификации для преобразования
Строка агду 1 до целого числа, и мы храним, что в ключе.
Мы хотим, чтобы убедиться, что целое , который был введен не является отрицательным.
И если это так, мы хотим напечатать, что в пользователь, что они не разрешают
чтобы сделать это, и вернуться.
>> Итак, теперь у нас есть действующий число от пользователя.
Но нам нужно, чтобы получить строку из Пользователь, который мы хотим зашифровать.
Таким образом, мы привыкли делать-то время как цикл и использовать получить строка, чтобы получить эту строку из
пользователя и продолжать получать строку не, пока они на самом деле
введите допустимую строку.
>> Как только мы получим эту строку, мы может пойти на зашифровать его.
Таким образом, это для петли делает что шифрование.
Обратите внимание, что мы итерации от I равна 0 т весь путь до Я равных
где п определяется как длина наше послание, где сообщение является
Строка, пользователь ввел.
>> Таким образом, мы перебора всех символы в строке.
И если символ в верхнем регистре, то мы собираемся перевести его с помощью этого
Формула, которую мы будем получить в секунду.
И если это был нижний регистр, то мы сместить его с помощью это
очень похожи формула.
И если это не было ни в верхнем регистре, ни строчная буква - например,
может быть несколько или символ - то мы не собирается ничего делать с ним.
>> Итак, каковы эти формулы?
Ну, как мы переходим персонажу?
Мы хотим, чтобы рассматривать характер Как число 0.
И мы хотим, чтобы рассматривать характер B как число 1, и так далее.
Это нулевого и первого символов алфавита и так далее.
>> Так вот, сообщение я минус предполагается дать нам численное место
буква в алфавите.
Так что, если сообщение я это, это собирается дать нам 0.
Теперь мы хотим добавить к тому, что число, которое пользователь хочет
повернуть письмо на.
Так что, если они вошли 3, а затем, если сообщение я был, это даст нам 0 и плюс
Ключ даст нам 3.
>> Так что теперь, мы рассматриваем Третье место в алфавите.
Мы увидим, почему мы должны мод по кол-писем в секунду.
Но в конце концов, мы хотим добавить к конец еще раз, чтобы переместить нас обратно в
Значения ASCII для этих символов вместо числовых мест в
алфавит из этих символов.
>> Так почему же мы мод на NUM букв?
Помните, что мы хотим, чтобы обернуть вокруг с конца алфавита в
начале алфавита.
Так, если пользователь вошел Z, то вычитания из который собирается
дать нам 25.
И если ключ были 3, затем мы собираемся иметь 28.
Но Z следует обернуть вокруг в АВС, так 28 мод пит письма, которое хэш определенные
как 26 и следовало ожидать, собирается дать нам 2, где С-вторая буква
алфавит, если вспомнить, что это нулевая буква алфавита.
>> Так вот почему мы должны мод на NUM буквами.
Теперь мы должны сделать точно такой же вещи для строчных букв, кроме
помню, что когда мы имеем дело с строчные буквы, они имеют разные
Значения ASCII.
И поэтому мы должны вычесть и добавить на переложить его из нижнего регистра
Значения ASCII, а затем обратно оригинальные строчные значения ASCII.
>> И, наконец, что даст нам наша зашифрованное сообщение.
И в конце концов, мы просто распечатать что сообщение, и этим все сказано.
Меня зовут Боб, и был Цезарь.