>> Роб BOWDEN: Здраво, јас сум Роб.
И кога во Рим, ајде програма како Римјаните не.
Значи, прво нешто што треба да направите е да проверите да бидете сигурни дека корисникот всушност влезе
бројот што сакаме да ги ротира секоја карактер од страна на командната линија.
>> Значи, ние се провери.
Е argc еднакво на 2?
Ако тоа не е, тоа значи дека корисникот или не го внесете бројот на
командната линија или тие влегле премногу работи во командната линија, во која
случај ние не знаат што да прават со остатокот од работите.
Значи, колку што argc беше два, може да се продолжи со остатокот на програмата.
>> Сега, се сеќавам дека argv 1 е секогаш стринг.
Но ние сакаме да го третираат како цел број.
Значи, ние ги користиме на atoi функција која е споменати стр сет спецификации за претворање на
низа argv 1 на цел број, и ќе го чуваме дека во клучот.
Ние сакаме да бидете сигурни дека цел број кој беше внесовте не е негативен.
И ако е, ние сакаме да се печати дека за да се корисникот дека тие не се дозволени
да го стори тоа, и да се врати.
>> Значи, сега имаме валидни број од корисникот.
Но ние треба да добие низа од корисникот што сакаме да го криптирате.
Па ние се користи за да не се прави додека јамка и користете добие стринг за да се добие овој стринг од
корисникот, и да продолжи добивање низа додека тие всушност
внесете валидна стринг.
>> Откако ќе го имаат тоа стринг, ние да одат за да го криптирате.
Значи, ова за телефонска линија прави дека енкрипција.
Забележете дека ние сме процесирањето од i еднакво 0 t целиот пат до i изнесува
n, каде што n е дефиниран како на должината на нашата порака, каде што пораката е
стринг кој на корисникот внесе.
>> Па ние сме процесирањето над сите карактери во стринг.
И ако лик е големи букви, а потоа ние ќе го префрлат користење на овој
формула, кои ќе добие во секунда.
И ако тоа беше мали букви, а потоа ние ќе го префрлат користење на овој е
многу слични формула.
И ако тоа не беше ниту на големи, ниту мали букви писмо - на пример, тоа
би можело да биде број или симбол - тогаш ние не се случува да се направи нешто со неа.
>> Значи, она што се овие формули?
Па, како ние да го смениме карактер?
Ние сакаме да се третираат карактер A како број 0.
И ние сакаме да се третираат карактер B како број 1, и така натаму.
Тоа е 0. и први знаци од азбуката и така натаму.
>> Па еве, јас порака минус би требало да ни даде нумерички местото на
буква во азбуката.
Значи, ако пораката ми е на овој се случува да ни даде 0.
Сега, ние сакаме да го додадете дека број кој корисникот сака да го
ротираат писмото од.
Значи, ако тие влегле 3, а потоа, ако пораката Бев, тоа ќе ни даде 0 и плус
Клучот ќе ни даде 3.
>> Па сега, ние се размислува за третото место во азбуката.
Ќе видиме зошто треба да се современи од Num букви во секунда.
Но, конечно, ние сакаме да додадете на се стави крај на повторно да ни се префрли назад во
ASCII вредности за овие ликови наместо на нумеричката места во
азбука од овие карактери.
>> Значи, зошто ние современи страна на Num букви?
Се сеќавам дека ние сакаме да заврши околу од крајот на азбуката на
почнувајќи од азбуката.
Значи, ако корисникот влегле Z, тогаш одземање А тоа се случува да се
ни даде 25.
И ако клучот беа 3, а потоа ние ќе имаме 28.
Но Z треба да заврши околу на ABC, па 28 современи Num писма, во кои е хаш дефинирани
како 26 да се очекува, ќе даде ни 2, каде што C е втората буква од
азбуката, ако се сеќавате дека А е на 0. буква од азбуката.
>> Па тоа е причината зошто ние треба да МО од Num букви.
Сега, ние треба да го стори истото точната нешто за мали букви, освен
запомнете дека кога ние сме се занимаваат со мали букви, тие имаат различни
ASCII вредности.
И така ние треба да се одземе и да го додадете на да ја префрли надолу од мали
ASCII вредности, а потоа назад до оригиналниот мали букви ASCII вредности.
>> И конечно, што ќе ни даде нашите шифрирана порака.
И на крајот, ние едноставно печатење таа порака, и тоа е тоа.
Моето име е Роб, и беше Цезар.