>> ROB BOWDEN: Здравейте, аз съм на Роб.
И когато в Рим, нека програма като римляните.
И така, първото нещо, което трябва да направите, е проверка да се уверите, че потребителят действително вписана
номера, който ние искаме да се върти всеки характер, като в командния ред.
>> Така че, ние проверяваме.
Argc е равно на 2?
Ако не е, това означава, че потребителят или не влезе в числото в
команден ред или са влезли твърде много нещата в командния ред, в който
случай, че не знам какво да правя с останалите неща.
Така че, толкова дълго, колкото argc е два, можем продължи с останалата част от програмата.
>> Сега, не забравяйте, че ARGV 1 е винаги низ.
Но ние искаме да се отнасяме към него като цяло число.
Така че, ние използваме функцията atoi, че е На горепосочения стр. набор спец. да конвертирате
низ ARGV 1 до цяло число, и ние съхраняваме, че в ключ.
Ние искаме да се уверите, че цялото число че е вписано не е отрицателно.
И ако това е, което искаме да отпечатате, че да на потребителя, че те не са позволени
да направи това, и да се върнете.
>> Така че, сега имаме валиден брой от потребителя.
Но ние трябва да получи низ от потребител, който ние искаме да се криптират.
Така че ние използвахме да правя-линия, докато използвате и да получите низ, за ​​да получите този низ от
потребител, и да продължи да се низ докато те всъщност
въведете валиден низ.
>> След като имаме низа, ние може да продължи да го криптирате.
Така че, това за цикъл се прави че криптирането.
Забележете, че ние сме итерации от I се равнява на 0 тона по целия път до I равни
п, където п е определено като продължителността на нашето послание, когато съобщението е
низ, който потребителят е въвел.
>> Така че ние сме итерации над всички символи в низа.
И ако един герой е главна буква, а след това ние ще го смени с помощта на този
формула, която ние ще получите в секунда.
И ако тя е с малки букви, а след това ние ще го смени с помощта на това е
много подобна формула.
И ако това не беше нито главна, нито малка буква - например,
може да бъде число или символ - тогава ние няма да направи нищо, за да го.
>> И така, какви са тези формули?
Е, как да се смени характера А?
Ние искаме да се лекува характер А, както е числото 0.
И ние искаме да се лекува характер Б като номер 1, и така нататък.
Това е нулев и първи герои от азбуката и така нататък.
>> Така че тук, аз съобщение минус A е трябвало да ни даде цифров мястото на
писмо в азбуката.
Така че, ако аз съобщение е A, това ще ни даде 0.
Сега искаме да добавим към това и номер, който потребителят желае да
завъртете писмото от.
Така че, ако те влязоха три, след това, ако съобщение Аз бях, това ще ни даде 0 и плюс
ключ ще ни даде 3.
>> Така че сега, ние се обмисля трето място в азбуката.
Ще видим защо ние трябва да моден от бр писма в секунда.
Но в крайна сметка, ние искаме да добавим към края A отново, за да ни прехвърли обратно в
ASCII стойности за тези символи И вместо числовите места в
азбука на тези герои.
>> Така че, защо ние от Министерството на отбраната бр писма?
Не забравяйте, че ние искаме да обгърне от края на азбуката на
в началото на азбуката.
Така че, ако потребителят е влязъл Z, след това изваждане от A, която ще
ни даде 25.
И ако ключът бяха 3, а след това ние ще имаме 28.
Но Z трябва да обгърне с ABC, така че 28 Mod бр букви, които се определят хеш
като 26 може да се очаква, ще даде ни 2, където C е второто писмо на
азбуката, ако си спомняте, че A е нулевия буква от азбуката.
>> Така че това е защо ние трябва да се Министерството на отбраната от бр букви.
Сега, ние трябва да направим същото нещо точно за малки букви, с изключение на
Спомням си, че когато си имаме работа с малки букви, те имат различни
ASCII стойности.
И така, ние трябва да се изважда и се добавят по да го премести надолу от малки букви
ASCII стойности и след това обратно към оригинални малки стойности ASCII.
>> И най-накрая, че ще ни даде нашия криптирана съобщение.
И в края на краищата, ние просто разпечатате това съобщение, и това е всичко.
Моето име е Роб, и е Цезар.