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. І, нарэшце, што дасць нам наша зашыфраванае паведамленне. І ў рэшце рэшт, мы проста раздрукаваць што паведамленне, і гэтым усё сказана. Мяне клічуць Боб, і быў Цэзар.