>> ROB BOWDEN: Sveiki, aš esu Robas.
Ir kai Romoje, tegul programa kaip romėnai daryti.
Taigi, pirmas dalykas, kurį reikia padaryti, tai patikrinti įsitikinkite, kad vartotojas iš tiesų įrašytas
skaičius, kad mes norime pasukti kiekvienas požymis komandų eilutėje.
>> Taigi, mes tikriname.
Ar argc lygi 2?
Jei taip nėra, tai reiškia, kad vartotojas arba nebuvo įvesti numerį
komandinės eilutės, arba jie atvyko per daug viskas komandinėje eilutėje, kurioje
atveju mes nežinome, ką daryti su dalykų poilsio.
Taigi, kiek argc buvo du, mes galime tęsti programos dalimi.
>> Dabar, atminkite, kad argv 1 visada eilutė.
Bet mes norime laikyti jį kaip sveikasis skaičius.
Taigi, mes naudojame atoi funkciją, kad yra pirmiau minėtus p rinkinys spec konvertuoti
styginių argv 1 iki sveikojo skaičiaus, ir mes saugome, kad raktą.
Mes norime įsitikinti, kad sveikasis skaičius , kuris buvo įrašytas nėra neigiama.
Ir jei ji buvo, mes norime spausdinti, kad į vartotojo, kad jie negali
tai padaryti, ir atgal.
>> Taigi, dabar mes turime galios skaičius nuo naudotojo.
Bet mes turime gauti eilutę iš vartotojo, kad mes norime užšifruoti.
Taigi mes naudojamas do-while cikle ir naudoti gauti styginių gauti šią eilutę iš
vartotojas, ir toliau gauti eilutę kol jie iš tikrųjų
įvesti galiojantį eilutę.
>> Kai mes turime tą eilutę, mes gali eiti užšifruoti ją.
Taigi, tai už kilpa daro , kad šifravimas.
Atkreipkite dėmesį, kad mes Iteracja iš i lygus 0 t visą kelią iki i lygių
n, kur n yra apibrėžiamas kaip ilgio mūsų žinia, kur žinutė yra
eilutė, įrašytas vartotojas.
>> Taigi mes Iteracja virš visų simbolių eilutės.
Ir jei simbolis yra didžioji, tada mes ketiname perkelti jį naudojant šią
formulė, kurią mes jums gauti per sekundę.
Ir jei ji buvo mažosiomis raidėmis, tada mes perkelti jį naudojant tai
labai panaši formulė.
Ir jei ji nebuvo nei didžiosios, nei mažoji raidė - pavyzdžiui, ji
gali būti skaičius arba simbolis - tada mes nesiruošia nieko daryti su juo.
>> Taigi, kas yra šios formulės?
Na, kaip mes perkelti charakterį?
Mes norime, kad gydyti simbolį Kaip skaičius 0.
Ir mes norime elgtis simbolį B kaip numeris 1, ir taip toliau.
Tai nulinis ir pirmieji ženklai abėcėlės ir pan.
>> Taigi čia, pranešimų i atėmus turėtų mums skaitinę vieta
raidė abėcėlėje.
Taigi, jei pranešimą i tai ketina duoti mums 0.
Dabar mes norime pridėti prie to skaičius, kad vartotojas nori
pasukti laiškas.
Taigi, jei jie atvyko 3, tada, jei žinutė buvau, tai leis mums 0 ir plius
raktas duos mums 3.
>> Taigi dabar mes svarstome Trečiąją vietą abėcėlėje.
Pamatysime, kodėl mums reikia mod pagal NUM raidžių per sekundę.
Bet galų gale, mes norime pridėti prie vėl baigti perkelti mus atgal į
ASCII vertės šių simbolių vietoj skaičiaus vietų
abėcėlė iš šių simbolių.
>> Taigi, kodėl mes mod NUM laiškus?
Nepamirškite, kad mes norime, į kuriuos vyniojami aplink nuo iki abėcėlės pabaigos
pradedant abėcėlės.
Taigi, jei vartotojas buvo įrašytas Z, tada atimant iš, kad ketina
mums 25.
Ir jei raktas buvo 3, tada mes ketiname turėti 28.
Bet Z turi apvynioti ABC, taigi 28 mod num raidės, kuri yra maišos apibrėžta
kaip 26 galima tikėtis, ketina suteikti mums 2, kur C yra antroji raidė
abėcėlė, jei žinote, kad yra Zeroth abėcėlės raidė.
>> Štai kodėl mes turime mod NUM raidėmis.
Dabar, mes turime padaryti tą patį tiksliai dalykas už mažosiomis raidėmis, išskyrus
Atminkite, kad kai mes susiduriame su mažosiomis raidėmis, jie skiriasi
ASCII vertės.
Ir todėl mes turime atimti ir pridėti perkelti jį iš mažosios
ASCII vertės ir tada atgal į originalus mažosiomis ASCII vertės.
>> Ir, pagaliau, kad bus mums mūsų užšifruotas.
Ir, galų gale, mes tiesiog atsispausdinti kad pranešimą, ir viskas.
Mano vardas yra Rob ir buvo Cezaris.