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