1 00:00:00,000 --> 00:00:11,960 2 00:00:11,960 --> 00:00:13,750 >> ROB BOWDEN: Szia, én vagyok Rob. 3 00:00:13,750 --> 00:00:17,360 És amikor Rómában, nézzük programja mint a rómaiak. 4 00:00:17,360 --> 00:00:22,280 Tehát, az első dolog, amit meg kell tennie, hogy ellenőrizze ellenőrizze, hogy a felhasználó valóban megadott 5 00:00:22,280 --> 00:00:26,670 A szám, amit szeretnénk forgatni az egyes karaktert a parancssorban. 6 00:00:26,670 --> 00:00:27,740 >> Szóval, ellenőrizni. 7 00:00:27,740 --> 00:00:30,180 Van argc egyenlő 2-ben? 8 00:00:30,180 --> 00:00:34,190 Ha nem, azt jelenti, hogy a felhasználó vagy nem adja meg a számot a 9 00:00:34,190 --> 00:00:37,770 parancssorban vagy beléptek túl sok a dolgok a parancssorba, amelyben 10 00:00:37,770 --> 00:00:40,560 ha nem tudjuk, mit kell tenni a többi dolog. 11 00:00:40,560 --> 00:00:45,750 Tehát, amíg a argc volt két, tudjuk folytassa a többi programot. 12 00:00:45,750 --> 00:00:49,610 >> Nos, ne feledje, hogy argv 1. mindig egy string. 13 00:00:49,610 --> 00:00:52,490 De mi szeretnénk kezelni, mint egy egész. 14 00:00:52,490 --> 00:00:57,550 Tehát, használjuk a atoi függvényt, ami a fent említett p szett spec konvertálni a 15 00:00:57,550 --> 00:01:02,330 karakterlánc argv 1 egy egész szám, és tárolni, hogy az a legfontosabb. 16 00:01:02,330 --> 00:01:06,050 Azt szeretnénk, hogy győződjön meg arról, hogy az egész beírt nem negatív. 17 00:01:06,050 --> 00:01:09,490 És ha igen, szeretnénk nyomtatni, hogy a a felhasználó számára, hogy ők nem engedélyezett 18 00:01:09,490 --> 00:01:11,980 erre, és vissza. 19 00:01:11,980 --> 00:01:15,100 >> Szóval, most van egy érvényes számot a felhasználó. 20 00:01:15,100 --> 00:01:19,780 De kell, hogy a szöveg a felhasználó, szeretnénk titkosítani. 21 00:01:19,780 --> 00:01:25,340 Így szokta-while ciklus, és használja kap karakterlánc, hogy ezt a fonalat a 22 00:01:25,340 --> 00:01:29,190 felhasználó, és továbbra is egyre húr amíg valóban 23 00:01:29,190 --> 00:01:31,270 meg egy érvényes karakterlánc. 24 00:01:31,270 --> 00:01:34,400 >> Ha van, hogy a szöveg, amit mehet tovább titkosítja. 25 00:01:34,400 --> 00:01:38,120 Szóval, ez a for ciklus csinál hogy a titkosítást. 26 00:01:38,120 --> 00:01:43,250 Figyeljük meg, hogy mi iterációjával I egyenlő 0-t egészen az i értéke 27 00:01:43,250 --> 00:01:47,790 n, ahol n értéke határozza meg, mint a hossza mi az üzenet, ahol az üzenet a 28 00:01:47,790 --> 00:01:50,260 karakterlánc, amely a felhasználó által megadott. 29 00:01:50,260 --> 00:01:54,330 >> Szóval iterációjával egész karakterek a húr. 30 00:01:54,330 --> 00:01:59,740 És ha egy karakter nagybetűs, akkor fogjuk váltani, hogy ezzel a 31 00:01:59,740 --> 00:02:01,860 formula, amit majd kap, hogy a második. 32 00:02:01,860 --> 00:02:05,260 És ha azt kisbetűs, akkor fogjuk váltani, hogy ezzel az 33 00:02:05,260 --> 00:02:07,290 nagyon hasonló formula. 34 00:02:07,290 --> 00:02:10,850 És ha nem volt sem egy nagybetű, sem a kisbetű - például, hogy 35 00:02:10,850 --> 00:02:15,370 lehet egy szám vagy szimbólum - akkor nem fog csinálni semmit hozzá. 36 00:02:15,370 --> 00:02:18,220 >> Tehát, mik ezek a képletek? 37 00:02:18,220 --> 00:02:22,090 Nos, hogyan tolja a karakter egy? 38 00:02:22,090 --> 00:02:27,250 Azt akarjuk, hogy kezelje a karakter A mint a 0 szám. 39 00:02:27,250 --> 00:02:30,710 És szeretnénk kezelni a karaktert A B, mint a szám 1, és így tovább. 40 00:02:30,710 --> 00:02:35,170 Ez a nulladik és az első karakter az ábécé, és így tovább. 41 00:02:35,170 --> 00:02:42,900 >> Tehát itt, az üzenet azt mínusz egy állítólag hogy nekünk a numerikus helyén 42 00:02:42,900 --> 00:02:44,400 betű az ábécé. 43 00:02:44,400 --> 00:02:48,080 Tehát, ha az üzenet az i A, ez a fog nekünk 0-ra. 44 00:02:48,080 --> 00:02:52,880 Most azt szeretnénk, hogy hozzá, hogy a szám, amely a felhasználó akarja 45 00:02:52,880 --> 00:02:54,840 forgassa a levelet. 46 00:02:54,840 --> 00:03:03,280 Tehát, ha beléptek 3, akkor, ha az üzenet voltam, ez ad nekünk a 0 és plusz 47 00:03:03,280 --> 00:03:05,400 kulcs ad nekünk 3. 48 00:03:05,400 --> 00:03:09,450 >> Tehát most, gondolkodunk a harmadik helyen az ábécé. 49 00:03:09,450 --> 00:03:12,810 Majd meglátjuk, hogy miért kell a mod a num betűk a második. 50 00:03:12,810 --> 00:03:18,700 De végül, azt akarjuk, hogy add tovább a A végén ismét váltani minket vissza a 51 00:03:18,700 --> 00:03:22,020 ASCII értékek ezeket a karaktereket ahelyett, hogy a hely a numerikus 52 00:03:22,020 --> 00:03:24,260 ábécé ezeket a karaktereket. 53 00:03:24,260 --> 00:03:26,580 >> Akkor miért mod CD betűkkel? 54 00:03:26,580 --> 00:03:29,960 Ne feledje, hogy szeretnénk kerületi végétől az ábécé a 55 00:03:29,960 --> 00:03:31,470 elején az ábécé. 56 00:03:31,470 --> 00:03:38,530 Tehát, ha a felhasználó belépett Z, akkor kivonásával attól fog 57 00:03:38,530 --> 00:03:40,520 nekünk 25. 58 00:03:40,520 --> 00:03:44,800 És ha a kulcs volt 3, akkor mi lesz, hogy a 28. 59 00:03:44,800 --> 00:03:53,000 De Z kellene kerületi ABC, így 28 mod num betű, amelyet a hash meghatározott 60 00:03:53,000 --> 00:04:01,890 mint 26 várható, fog adni minket 2, ahol C a második levél 61 00:04:01,890 --> 00:04:05,880 az ábécé, ha eszébe jut, hogy A A nulladik betűvel. 62 00:04:05,880 --> 00:04:09,210 >> Szóval ezért meg kell mod a CD-leveleket. 63 00:04:09,210 --> 00:04:13,540 Most meg kell csinálni pontosan ugyanolyan dolog a kisbetűk, kivéve 64 00:04:13,540 --> 00:04:17,240 emlékszem, hogy amikor van dolgunk kisbetűk, hogy különböző 65 00:04:17,240 --> 00:04:18,579 ASCII értékeket. 66 00:04:18,579 --> 00:04:24,550 És így kell kivonni, és adjunk hozzá egy shift le a kisbetűs 67 00:04:24,550 --> 00:04:30,020 ASCII értékeket, majd vissza a eredeti kisbetűs ASCII értékeket. 68 00:04:30,020 --> 00:04:33,140 >> És végül, hogy majd nekünk a titkosított üzenetet. 69 00:04:33,140 --> 00:04:37,780 És a végén, csak ki kell nyomtatni ezt az üzenetet, és ennyi. 70 00:04:37,780 --> 00:04:39,875 A nevem Rob volt, és Caesar. 71 00:04:39,875 --> 00:04:49,856