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.