1 00:00:00,000 --> 00:00:11,960 2 00:00:11,960 --> 00:00:13,750 >> ROB Bowden: Živjo, jaz sem Rob. 3 00:00:13,750 --> 00:00:17,360 In ko v Rimu, kaj je program, kot Rimljani. 4 00:00:17,360 --> 00:00:22,280 Torej, prva stvar, ki jo morate storiti je, preverite se prepričajte, da uporabnik dejansko začela 5 00:00:22,280 --> 00:00:26,670 številko, da želimo, da se zavrti vsako lik, ki ga v ukazni vrstici. 6 00:00:26,670 --> 00:00:27,740 >> Torej, smo preveriti. 7 00:00:27,740 --> 00:00:30,180 Je argc enak 2? 8 00:00:30,180 --> 00:00:34,190 Če je ni, to pomeni, da uporabniku bodisi ni vpišite številko na 9 00:00:34,190 --> 00:00:37,770 ukazni vrstici ali so vstopili preveč Stvari v ukazni vrstici, v katerem 10 00:00:37,770 --> 00:00:40,560 primer ne vemo, kaj naj naredim z ostalimi stvarmi. 11 00:00:40,560 --> 00:00:45,750 Torej, tako dolgo, kot je bilo argc dva, smo lahko nadaljuje s preostalim programa. 12 00:00:45,750 --> 00:00:49,610 >> Zdaj, ne pozabite, da argv 1 je vedno niz. 13 00:00:49,610 --> 00:00:52,490 Vendar želimo, da ga obravnavajo kot celo število. 14 00:00:52,490 --> 00:00:57,550 Torej, uporabite funkcijo atoi, ki je h p set spec za pretvorbo 15 00:00:57,550 --> 00:01:02,330 Niz argv 1 do celo število in hranimo, da je v ključu. 16 00:01:02,330 --> 00:01:06,050 Želimo zagotoviti, da število ki je bil vpisan ni negativno. 17 00:01:06,050 --> 00:01:09,490 In če je bil, želimo natisniti, da Uporabnik, ki si jih ni dovoljeno 18 00:01:09,490 --> 00:01:11,980 to storiti, in se vrniti. 19 00:01:11,980 --> 00:01:15,100 >> Torej, zdaj imamo veljavno število od uporabnika. 20 00:01:15,100 --> 00:01:19,780 Vendar moramo dobiti niz iz Uporabnik, ki ga želimo šifrirati. 21 00:01:19,780 --> 00:01:25,340 Tako smo vajeni delati-while zanko in uporabo dobili Niz da bi dobili ta niz iz 22 00:01:25,340 --> 00:01:29,190 uporabnik, in še naprej dobili niz dokler jih dejansko 23 00:01:29,190 --> 00:01:31,270 vnesite veljaven niz. 24 00:01:31,270 --> 00:01:34,400 >> Ko bomo imeli ta niz, smo Lahko greš na šifriranje. 25 00:01:34,400 --> 00:01:38,120 Torej, ta zanka počne da šifriranje. 26 00:01:38,120 --> 00:01:43,250 Opazimo, da smo ponavljanjem iz i enak 0 t vse tja do i je enak 27 00:01:43,250 --> 00:01:47,790 n, kjer je n definiran kot dolžino naše sporočilo, v katerem je sporočilo 28 00:01:47,790 --> 00:01:50,260 Niz da uporabnik vnese. 29 00:01:50,260 --> 00:01:54,330 >> Torej smo ponavljanjem nad vsem znakov v nizu. 30 00:01:54,330 --> 00:01:59,740 In če je znak velike črke, nato pa bomo ga preusmeriti z uporabo tega 31 00:01:59,740 --> 00:02:01,860 Formula, ki se bomo priti v sekundi. 32 00:02:01,860 --> 00:02:05,260 In če je bilo v male, nato ga bomo premik uporabo je to 33 00:02:05,260 --> 00:02:07,290 Zelo podobno formulo. 34 00:02:07,290 --> 00:02:10,850 In če to ni bilo niti z velikimi črkami, niti male črke - na primer, 35 00:02:10,850 --> 00:02:15,370 je lahko številka ali simbol - potem ne bo storil ničesar, da bi to. 36 00:02:15,370 --> 00:02:18,220 >> Torej, kaj so te formule? 37 00:02:18,220 --> 00:02:22,090 No, kako preusmeriti lik? 38 00:02:22,090 --> 00:02:27,250 Želimo, da za zdravljenje značaja Kot število 0. 39 00:02:27,250 --> 00:02:30,710 In želimo, da zdravljenje značaja B kot število 1, in tako naprej. 40 00:02:30,710 --> 00:02:35,170 To so Ničti in prvi znaki abecede in tako naprej. 41 00:02:35,170 --> 00:02:42,900 >> Torej, tukaj je sporočilo, i minus naj da nam številčno mesto 42 00:02:42,900 --> 00:02:44,400 črka v abecedi. 43 00:02:44,400 --> 00:02:48,080 Torej, če sporočilo i je ta se dogaja, da nam 0. 44 00:02:48,080 --> 00:02:52,880 Zdaj želimo dodati, da je število, ki ga želi uporabnik 45 00:02:52,880 --> 00:02:54,840 zavrtite pismo. 46 00:02:54,840 --> 00:03:03,280 Torej, če se vnesejo 3, nato pa, če sporočilo sem bil, to nam bo dalo 0 in plus 47 00:03:03,280 --> 00:03:05,400 Ključ nam bo dalo 3. 48 00:03:05,400 --> 00:03:09,450 >> Torej sedaj, razmišljamo tretje mesto v abecedi. 49 00:03:09,450 --> 00:03:12,810 Bomo videli, zakaj moramo mod Z Num črk v sekundi. 50 00:03:12,810 --> 00:03:18,700 Ampak na koncu, smo želeli dodati na enkrat konča, da nas premik nazaj v 51 00:03:18,700 --> 00:03:22,020 Vrednosti ASCII za te znake namesto numeričnih mest v 52 00:03:22,020 --> 00:03:24,260 abeceda teh znakov. 53 00:03:24,260 --> 00:03:26,580 >> Torej, zakaj mod, ki ga num črkami? 54 00:03:26,580 --> 00:03:29,960 Ne pozabite, da želimo, da se ovije okoli od konca abecede do 55 00:03:29,960 --> 00:03:31,470 začetek abecede. 56 00:03:31,470 --> 00:03:38,530 Torej, če je uporabnik vnesel Z, potem odštevanje od tega bo 57 00:03:38,530 --> 00:03:40,520 dajte nam 25. 58 00:03:40,520 --> 00:03:44,800 In če so bili ključni 3, nato bomo imeli 28. 59 00:03:44,800 --> 00:03:53,000 Vendar pa bi morale Z ovijte okoli ABC, tako da 28 mod cilindrov pisma, ki je hash opredeljene 60 00:03:53,000 --> 00:04:01,890 kot na 26 pričakovati, se dogaja, da us 2, kjer je C druga črka 61 00:04:01,890 --> 00:04:05,880 abeceda, če se spomnite, da je Ničti črka abecede. 62 00:04:05,880 --> 00:04:09,210 >> In zato moramo mod, ki ga num črkami. 63 00:04:09,210 --> 00:04:13,540 Zdaj moramo narediti točno isto stvar za male črke, razen 64 00:04:13,540 --> 00:04:17,240 ne pozabite, da ko imamo opravka z male črke, imajo drugačen 65 00:04:17,240 --> 00:04:18,579 Vrednosti ASCII. 66 00:04:18,579 --> 00:04:24,550 In zato moramo odšteti in dodamo na da ga prestavite iz male črke 67 00:04:24,550 --> 00:04:30,020 Vrednosti ASCII in nato nazaj na Originalni male vrednosti ASCII. 68 00:04:30,020 --> 00:04:33,140 >> In končno, da boste nam Naš šifrirano sporočilo. 69 00:04:33,140 --> 00:04:37,780 In na koncu smo le natisnete to sporočilo, in to je to. 70 00:04:37,780 --> 00:04:39,875 Moje ime je Rob, in je bil Cezar. 71 00:04:39,875 --> 00:04:49,856