>> ROB BOWDEN: Ahoj, já jsem Rob.
A když se v Římě, pojďme programu jako Římané.
Takže, první věc, kterou musíme udělat, je kontrola ujistěte se, že uživatel skutečně vstoupil
číslo, které chceme otočit každý charakter by na příkazovém řádku.
>> Takže jsme zkontrolovat.
Je argc rovná 2?
Pokud to tak není, to znamená, že uživatel buď nezadali číslo na
příkazového řádku, nebo vešli příliš mnoho věci na příkazovém řádku, ve kterém
případě nevíme, co dělat se zbytkem věcí.
Takže, pokud se dva argc, můžeme pokračovat se zbytkem programu.
>> Teď si uvědomte, že argv 1 je vždy řetězec.
Ale my chceme, aby to léčit jako celé číslo.
Tak jsme se použít atoi funkci, která je výše uvedených p set spec převést
string argv 1 na celé číslo, a uložíme, že v klíči.
Chceme, aby se ujistil, že číslo která byla zapsána není negativní.
A kdyby to bylo, chceme tisknout, které se uživatel, který oni nejsou povoleny
k tomu, že, a vrátit se.
>> Tak, teď máme platný Číslo od uživatele.
Ale musíme získat řetězec od uživatel, který chceme zašifrovat.
Tak jsme se do-while a použití získáte string stáhni řetězec od
uživatele, a pokračovat v získávání řetězec dokud se skutečně
zadejte platný řetězec.
>> Jakmile budeme mít tento řetězec, jsme můžete jít na to šifrování.
Takže, tohle smyčka dělá které šifrování.
Všimněte si, že jsme iterace od i rovná 0 t celou cestu až i rovnými
n, kde n je definován jako délka naše zprávy, kde zpráva je
Řetězec, který uživatel zadal.
>> Takže jsme iterace přes všechny znaky v řetězci.
A jestliže znak je velké písmeno, pak budeme posouvat jej pomocí této
Vzorec, který jsme si dostat se do druhého.
A jestli to byla malá, pak budeme posouvat jej pomocí je
velmi podobné složení.
A pokud to nebylo ani velká, ani malé písmeno - například, že
může být číslo nebo symbol - a pak jsme se nebude dělat nic k tomu.
>> Takže, jaké jsou tyto vzorce?
Tak, jak jsme se přesunout postavu?
Chceme léčit znak Jako číslo 0..
A chceme léčit znak B jako číslo 1, a tak dále.
Je to nultý a první znaky abecedy a tak dále.
>> Tak tady, zprávu i minus má aby nám číselnou místo
písmeno v abecedě.
Takže pokud je zpráva i, to bude nám 0..
Nyní chceme přidat k tomu, že číslo, které uživatel chce
otáčet dopis,.
Takže, pokud vešli tři, pak se v případě hlášení jsem byl, bude to nám 0 a navíc
Klíčovým nám dá 3.
>> Takže teď, uvažujeme třetí místo v abecedě.
Uvidíme, proč musíme mod num písmeny sekundu.
Ale nakonec jsme se chcete přidat k končí opět na nás posunout zpět do
Hodnoty ASCII pro tyto znaky namísto číselných míst
abeceda z těchto znaků.
>> Takže, proč mod by num dopisy?
Pamatujte si, že chceme, aby se zalomit kolem z konce abecedy
začátku abecedy.
Takže kdyby vstoupil uživatel Z, pak odečtením z toho bude
nám 25.
A v případě, že klíč byl 3, pak budeme mít 28.
Ale Z by měl obtékat kolem ABC, tak 28 mod num dopisy, které jsou definovány hash
jako 26 lze očekávat, se chystá dát us 2, kde C je druhé písmeno
abeceda, pokud si vzpomenete, že je nultý písmeno abecedy.
>> Takže to je důvod, proč musíme mod by num písmeny.
Nyní musíme udělat přesně stejnou věc na malá písmena, s výjimkou
si uvědomit, že když máme co do činění s malá písmena, oni mají různé
Hodnoty ASCII.
A tak musíme odečíst a přidat na posunout dolů z malých písmen
Hodnoty ASCII a pak zpět na Původní malá hodnoty ASCII.
>> A konečně, že dám nám naše zašifrovaná zpráva.
A nakonec, jsme jen vytisknout tato zpráva, a je to.
Jmenuji se Rob a byl Caesar.