1 00:00:00,000 --> 00:00:11,960 2 00:00:11,960 --> 00:00:13,750 >> ROB BOWDEN: Tere, ma olen Rob. 3 00:00:13,750 --> 00:00:17,360 Ja kui Roomas, lähme programm nagu roomlased teha. 4 00:00:17,360 --> 00:00:22,280 Niisiis, esimene asi, mida me peame tegema, on kontrollida veenduda, kasutaja tegelikult kantud 5 00:00:22,280 --> 00:00:26,670 number, et me tahame pöörata iga sümbol, mida käsurea. 6 00:00:26,670 --> 00:00:27,740 >> Niisiis, me kontrollime. 7 00:00:27,740 --> 00:00:30,180 Kas argc võrdne 2? 8 00:00:30,180 --> 00:00:34,190 Kui see ei ole, mis tähendab, et kasutaja kas ei sisestaks juures 9 00:00:34,190 --> 00:00:37,770 käsurea või need kantakse liiga palju asjad, mida käsurea, kus 10 00:00:37,770 --> 00:00:40,560 puhul me ei tea, mida teha ülejäänud asjad. 11 00:00:40,560 --> 00:00:45,750 Niisiis, kui argc oli kaks, saame jätkata ülejäänud programmi. 12 00:00:45,750 --> 00:00:49,610 >> Nüüd, pea meeles, et argv 1 on alati string. 13 00:00:49,610 --> 00:00:52,490 Aga me tahame seda ravida täisarv. 14 00:00:52,490 --> 00:00:57,550 Niisiis, mida me kasutame atoi funktsioon, mis on mainitud p set spec teisendada 15 00:00:57,550 --> 00:01:02,330 string argv 1 täisarv, ja me salvestada et võti. 16 00:01:02,330 --> 00:01:06,050 Me tahame veenduda, et täisarv mis kanti ei ole negatiivne. 17 00:01:06,050 --> 00:01:09,490 Ja kui see oli, me tahame prindi, et kasutaja, et nad ei ole lubatud 18 00:01:09,490 --> 00:01:11,980 seda teha, ja tagasi. 19 00:01:11,980 --> 00:01:15,100 >> Nii, nüüd on meil kehtiv number kasutaja. 20 00:01:15,100 --> 00:01:19,780 Aga me peame stringi kasutaja, et me tahame krüptida. 21 00:01:19,780 --> 00:01:25,340 Nii et meil on kombeks, samas loop ja kasutada saada string saada selle stringi 22 00:01:25,340 --> 00:01:29,190 kasutaja ning jätkab saada string kuni nad tegelikult 23 00:01:29,190 --> 00:01:31,270 sisestage kehtiv string. 24 00:01:31,270 --> 00:01:34,400 >> Kui meil on see string, me võib minna krüptimiseks. 25 00:01:34,400 --> 00:01:38,120 Niisiis, see silmus teeb et krüpteerimist. 26 00:01:38,120 --> 00:01:43,250 Pange tähele, et me iterating alates i võrdub 0 t kogu tee kuni i võrdsete 27 00:01:43,250 --> 00:01:47,790 n, kus n on defineeritud pikkus meie sõnum, kus sõnum on 28 00:01:47,790 --> 00:01:50,260 string, et kasutaja sisestatud. 29 00:01:50,260 --> 00:01:54,330 >> Nii et me iterating üle kõik märkide string. 30 00:01:54,330 --> 00:01:59,740 Ja kui märk tõstega, siis me lähme minema, kasutades seda 31 00:01:59,740 --> 00:02:01,860 valem, mis me tulen saada teine. 32 00:02:01,860 --> 00:02:05,260 Ja kui ta oli väiketähed, siis me minema, kasutades seda 33 00:02:05,260 --> 00:02:07,290 väga sarnane valem. 34 00:02:07,290 --> 00:02:10,850 Ja kui see ei olnud suur-ega väiketäht - näiteks see 35 00:02:10,850 --> 00:02:15,370 võiks olla Numbri või sümboli - siis me ei kavatse midagi teha sellega. 36 00:02:15,370 --> 00:02:18,220 >> Niisiis, millised on need valemid? 37 00:02:18,220 --> 00:02:22,090 Noh, kuidas me vahetustega iseloomu? 38 00:02:22,090 --> 00:02:27,250 Me tahame, et ravida iseloomu Nagu number 0. 39 00:02:27,250 --> 00:02:30,710 Ja me tahame, et ravida iseloomu B nr 1, ja nii edasi. 40 00:02:30,710 --> 00:02:35,170 See on nullis ja esitähed tähestiku ja nii edasi. 41 00:02:35,170 --> 00:02:42,900 >> Nii et siin, sõnum i miinus peaks anda meile numbriline koht 42 00:02:42,900 --> 00:02:44,400 tähestiku tähe. 43 00:02:44,400 --> 00:02:48,080 Nii et kui sõnum i on see läheb meile 0. 44 00:02:48,080 --> 00:02:52,880 Nüüd me tahame lisada, et number, et kasutaja soovib 45 00:02:52,880 --> 00:02:54,840 pööramiseks kirja. 46 00:02:54,840 --> 00:03:03,280 Seega, kui nad sisenesid 3, siis kas sõnum i oli see annab meile 0 ja pluss 47 00:03:03,280 --> 00:03:05,400 võti annab meile 3. 48 00:03:05,400 --> 00:03:09,450 >> Nüüd me kaalume kolmanda koha tähestikus. 49 00:03:09,450 --> 00:03:12,810 Me näeme, miks me peame mod num tähed teine. 50 00:03:12,810 --> 00:03:18,700 Aga lõpuks, me tahame lisada kohta lõpuks jälle minema meile tagasi 51 00:03:18,700 --> 00:03:22,020 ASCII väärtused need märgid asemel numbrilisi kohti 52 00:03:22,020 --> 00:03:24,260 tähestiku neid tähti. 53 00:03:24,260 --> 00:03:26,580 >> Niisiis, miks me mod num tähed? 54 00:03:26,580 --> 00:03:29,960 Pea meeles, et me tahame, et ümbritsev alates lõpuks tähestik 55 00:03:29,960 --> 00:03:31,470 alguses tähestikus. 56 00:03:31,470 --> 00:03:38,530 Nii et kui kasutaja oli sisenenud Z, siis lahutades sellest läheb 57 00:03:38,530 --> 00:03:40,520 meile 25. 58 00:03:40,520 --> 00:03:44,800 Ja siis, kui võti oli 3, siis me lähed on 28. 59 00:03:44,800 --> 00:03:53,000 Aga Z mähitakse ümber ABC, seega 28 mod arv tähti, mis on hash määratletud 60 00:03:53,000 --> 00:04:01,890 kuna 26 oodata, annan us 2, kus C on teine ​​kiri 61 00:04:01,890 --> 00:04:05,880 tähestik, kui sa mäletad, et on zeroth täht. 62 00:04:05,880 --> 00:04:09,210 >> Nii et miks me peame mod numbri järgi tähed. 63 00:04:09,210 --> 00:04:13,540 Nüüd on vaja teha täpselt sama asi jaoks väiketähti, välja arvatud 64 00:04:13,540 --> 00:04:17,240 mäletan, et kui me tegeleme väiketähti, neil on erinevad 65 00:04:17,240 --> 00:04:18,579 ASCII väärtused. 66 00:04:18,579 --> 00:04:24,550 Ja seega peame lahutama ja lisada minna seda maha väiketähti 67 00:04:24,550 --> 00:04:30,020 ASCII väärtused ja siis tagasi originaal väiketähti ASCII väärtused. 68 00:04:30,020 --> 00:04:33,140 >> Ja lõpuks, et annan meile meie krüptida. 69 00:04:33,140 --> 00:04:37,780 Ja lõpuks, me lihtsalt välja printida et sõnum ja see on kõik. 70 00:04:37,780 --> 00:04:39,875 Minu nimi on Rob ja oli Caesar. 71 00:04:39,875 --> 00:04:49,856