>> ROB BOWDEN: Ahoj, ja som Rob.
A keď sa v Ríme, poďme programu ako Rimania.
Takže, prvá vec, ktorú musíme urobiť, je kontrola uistite sa, že používateľ skutočne vstúpil
číslo, ktoré chceme otočiť každý charakter by na príkazovom riadku.
>> Takže sme skontrolovať.
Je argc rovná 2?
Ak to tak nie je, to znamená, že užívateľ buď nezadali číslo na
príkazového riadku, alebo vošli príliš veľa veci na príkazovom riadku, v ktorom
prípade nevieme, čo robiť so zvyškom vecí.
Takže, ak sa dvaja argc, môžeme pokračovať so zvyškom programu.
>> Teraz si uvedomte, že argv 1 je vždy reťazec.
Ale my chceme, aby to liečiť ako celé číslo.
Tak sme sa použiť atoi funkciu, ktorá je vyššie uvedených p set spec previesť
string argv 1 na celé číslo, a uložíme, že v kľúči.
Chceme, aby sa ubezpečil, že číslo ktorá bola zapísaná nie je negatívna.
A keby to bolo, chceme tlačiť, ktoré sa užívateľ, ktorý oni nie sú povolené
k tomu, že, a vrátiť sa.
>> Tak, teraz máme platný Číslo od užívateľa.
Ale musíme získať reťazec od užívateľ, ktorý chceme zašifrovať.
Tak sme sa do-while a použitie získate string stiahni reťazec od
užívateľa, a pokračovať v získavaní reťazec kým sa skutočne
zadajte platný reťazec.
>> Akonáhle budeme mať tento reťazec, sme môžete ísť na to šifrovanie.
Takže, toto slučka robí ktoré šifrovanie.
Všimnite si, že sme iterácie od i rovná 0 t celú cestu až aj rovnými
n, kde n je definovaný ako dĺžka naše správy, kde správa je
Reťazec, ktorý užívateľ zadal.
>> Takže sme iterácia cez všetky znaky v reťazci.
A ak znak je veľké písmeno, potom budeme posúvať ho pomocou tejto
Vzorec, ktorý sme si dostať sa do druhého.
A či to bola malá, potom budeme posúvať ho pomocou je
veľmi podobné zloženie.
A ak to nebolo ani veľká, ani malé písmeno - napríklad, že
môže byť číslo alebo symbol - a potom sme sa nebude robiť nič k tomu.
>> Takže, aké sú tieto vzorce?
Tak, ako sme sa presunúť postavu?
Chceme liečiť znak Ako číslo 0..
A chceme liečiť znak B ako číslo 1, a tak ďalej.
Je to nultý a prvé znaky abecedy a tak ďalej.
>> Tak tu, správu i mínus má aby nám číselnú miesto
písmeno v abecede.
Takže ak je správa aj, to bude nám 0..
Teraz chceme pridať k tomu, že číslo, ktoré používateľ chce
otáčať list,.
Takže, ak vošli tri, potom sa v prípade hlásenia som bol, bude to nám 0 a navyše
Kľúčovým nám dá 3.
>> Takže teraz, uvažujeme tretie miesto v abecede.
Uvidíme, prečo musíme mod num písmenami sekundu.
Ale nakoniec sme sa chcete pridať k končí opäť na nás posunúť späť do
Hodnoty ASCII pre tieto znaky namiesto číselných miest
abeceda z týchto znakov.
>> Takže, prečo mod by num listy?
Pamätajte si, že chceme, aby sa zalomiť okolo z konca abecedy
začiatku abecedy.
Takže keby vstúpil užívateľ Z, potom odpočítaním z toho bude
nám 25.
A v prípade, že kľúč bol 3, potom budeme mať 28.
Ale Z by mal obtekať okolo ABC, tak 28 mod num listy, ktoré sú definované hash
ako 26 možno očakávať, sa chystá dať us 2, kde C je druhé písmeno
abeceda, ak si spomeniete, že je nultý písmeno abecedy.
>> Takže to je dôvod, prečo musíme mod by num písmenami.
Teraz musíme urobiť presne rovnakú vec na malé písmená, s výnimkou
si uvedomiť, že keď máme čo do činenia s malé písmená, oni majú rôzne
Hodnoty ASCII.
A tak musíme odpočítať a pridať na posunúť dole z malých písmen
Hodnoty ASCII a potom späť na Pôvodné malá hodnoty ASCII.
>> A konečne, že dám nám naše zašifrovaná správa.
A nakoniec, sme len vytlačiť táto správa, a je to.
Volám sa Rob a bol Caesar.