1 00:00:00,000 --> 00:00:11,960 2 00:00:11,960 --> 00:00:13,750 >> ROB BOWDEN: Sveiki, es esmu Rob. 3 00:00:13,750 --> 00:00:17,360 Un, kad Romā, lai programma kā romieši darīt. 4 00:00:17,360 --> 00:00:22,280 Tātad, pirmā lieta, kas mums jādara, ir pārbaude lai pārliecinātos, ka lietotājs faktiski ieraksta 5 00:00:22,280 --> 00:00:26,670 skaitlis, ko mēs gribam, lai pagrieztu katram raksturs, ko pie komandrindas. 6 00:00:26,670 --> 00:00:27,740 >> Tātad, mēs pārbaudām. 7 00:00:27,740 --> 00:00:30,180 Argc ir vienāds ar 2? 8 00:00:30,180 --> 00:00:34,190 Ja tā nav, tas nozīmē, ka lietotājs vai nu nestājās numuru, 9 00:00:34,190 --> 00:00:37,770 komandrindas, vai viņi iegāja pārāk daudz lietas pie komandrindas, kuros 10 00:00:37,770 --> 00:00:40,560 gadījumā mēs nezinām, ko darīt ar pārējām lietām. 11 00:00:40,560 --> 00:00:45,750 Tātad, kamēr argc bija divi, mēs varam turpināt ar pārējo programmas. 12 00:00:45,750 --> 00:00:49,610 >> Tagad, atcerieties, ka ARGV 1 vienmēr virkne. 13 00:00:49,610 --> 00:00:52,490 Bet mēs gribam, lai ārstētu to kā vesels skaitlis. 14 00:00:52,490 --> 00:00:57,550 Tātad, mēs izmantojam atoi funkciju, kas ir os p komplekts spec pārvērst 15 00:00:57,550 --> 00:01:02,330 string argv 1 līdz veselam skaitlim, un mēs glabāt ka atslēgu. 16 00:01:02,330 --> 00:01:06,050 Mēs vēlamies, lai pārliecinātos, ka skaitlis , kas tika iekļauta nav negatīvs. 17 00:01:06,050 --> 00:01:09,490 Un, ja tā bija, mēs vēlamies, lai drukātu, ka, lai lietotājs, kas viņi nav atļauta 18 00:01:09,490 --> 00:01:11,980 lai to izdarītu, un atgriezties. 19 00:01:11,980 --> 00:01:15,100 >> Tātad, tagad mums ir derīgs numuru no lietotāja. 20 00:01:15,100 --> 00:01:19,780 Bet mums ir nepieciešams, lai iegūtu virkni no lietotājs, ka mēs gribam, lai šifrētu. 21 00:01:19,780 --> 00:01:25,340 Tāpēc mēs izmantojām darīt, kamēr cilpa un izmantot saņemt string, lai iegūtu šo virkni no 22 00:01:25,340 --> 00:01:29,190 lietotāju, un turpina saņemt virkni līdz brīdim, kad tie faktiski 23 00:01:29,190 --> 00:01:31,270 ievadiet derīgu virkni. 24 00:01:31,270 --> 00:01:34,400 >> Pēc tam, kad mēs esam, ka virkne, mēs var doties uz šifrēt to. 25 00:01:34,400 --> 00:01:38,120 Tātad, šis cilpa dara ka šifrēšanu. 26 00:01:38,120 --> 00:01:43,250 Ievērojiet, ka mēs esam atkārtojot no i vienāds ar 0 t visu ceļu līdz pat I atbilst 27 00:01:43,250 --> 00:01:47,790 n, kur n ir noteikts kā garumu mūsu vēstījums, kurā ziņa ir 28 00:01:47,790 --> 00:01:50,260 string, ka lietotājs ir ievadījis. 29 00:01:50,260 --> 00:01:54,330 >> Tāpēc mēs esam atkārtojot visas rakstzīmes virknē. 30 00:01:54,330 --> 00:01:59,740 Un, ja raksturs ir lielajiem burtiem, tad Mēs ejam, lai pārslēgtos to, izmantojot šo 31 00:01:59,740 --> 00:02:01,860 formula, ko mēs nokļūt sekundē. 32 00:02:01,860 --> 00:02:05,260 Un, ja tas ir mazajiem burtiem, tad mēs novirzīt to, izmantojot tā 33 00:02:05,260 --> 00:02:07,290 ļoti līdzīgs formula. 34 00:02:07,290 --> 00:02:10,850 Un, ja tas nebija ne lielais, ne mazo burtu - piemēram, tā 35 00:02:10,850 --> 00:02:15,370 varētu būt skaitlis vai simbols - tad mēs nav gatavojas kaut ko darīt, lai to. 36 00:02:15,370 --> 00:02:18,220 >> Tātad, kādi ir šīs formulas? 37 00:02:18,220 --> 00:02:22,090 Nu, kā mēs novirzīt rakstzīmju A? 38 00:02:22,090 --> 00:02:27,250 Mēs vēlamies, lai ārstētu raksturu Kā skaitlis 0. 39 00:02:27,250 --> 00:02:30,710 Un mēs gribam, lai ārstētu raksturu B kā numurs 1, un tā tālāk. 40 00:02:30,710 --> 00:02:35,170 Tas ir 0., Un pirmās rakstzīmes alfabēta un tā tālāk. 41 00:02:35,170 --> 00:02:42,900 >> Tātad šeit, ziņa es mīnuss ir paredzēts lai dotu mums skaitlisko vietu 42 00:02:42,900 --> 00:02:44,400 alfabēts. 43 00:02:44,400 --> 00:02:48,080 Tātad, ja ziņojumu i ir šī gatavojas sniegt mums 0. 44 00:02:48,080 --> 00:02:52,880 Tagad mēs vēlamies, lai pievienotu, ka numuru, lietotājs vēlas 45 00:02:52,880 --> 00:02:54,840 pagrieztu vēstules. 46 00:02:54,840 --> 00:03:03,280 Tātad, ja tie ievadīta 3, tad, ja ziņojumu man bija, tas mums dos 0 un plus 47 00:03:03,280 --> 00:03:05,400 Galvenais dos mums 3. 48 00:03:05,400 --> 00:03:09,450 >> Tāpēc tagad, mēs esam gatavi izskatīt Trešo vietu alfabētu. 49 00:03:09,450 --> 00:03:12,810 Mēs redzēsim, kāpēc mums ir nepieciešams, lai mod ar num vēstulēm sekundē. 50 00:03:12,810 --> 00:03:18,700 Bet galu galā, mēs vēlamies, lai pievienotu uz galu atkal novirzīt mūs atpakaļ 51 00:03:18,700 --> 00:03:22,020 ASCII vērtības šiem varoņiem vietā skaitliskās vietām 52 00:03:22,020 --> 00:03:24,260 alfabēts no šiem burtiem. 53 00:03:24,260 --> 00:03:26,580 >> Tātad, kāpēc mēs mod ar num burtiem? 54 00:03:26,580 --> 00:03:29,960 Atcerieties, ka mēs vēlamies, lai wrap ap no alfabēta beigām līdz 55 00:03:29,960 --> 00:03:31,470 sākot no alfabēta. 56 00:03:31,470 --> 00:03:38,530 Tātad, ja lietotājs ir ievadīta Z, tad atņemot no tā gatavojas 57 00:03:38,530 --> 00:03:40,520 dod mums 25. 58 00:03:40,520 --> 00:03:44,800 Un, ja atslēga ir 3, tad Mēs ejam, lai būtu 28. 59 00:03:44,800 --> 00:03:53,000 Bet Z ir wrap ap ABC, tāpēc 28 mod NUM vēstules, kas ir hash definēts 60 00:03:53,000 --> 00:04:01,890 kā 26 sagaidāms, gatavojas sniegt mums 2, kur C ir otrā vēstule 61 00:04:01,890 --> 00:04:05,880 alfabēts, ja jūs atceraties, ka ir 0. alfabēta burts. 62 00:04:05,880 --> 00:04:09,210 >> Tātad, tas ir iemesls, kāpēc mums ir nepieciešams, lai mod ar num burtiem. 63 00:04:09,210 --> 00:04:13,540 Tagad mums ir nepieciešams darīt to pašu precīzu lieta uz mazajiem burtiem, izņemot gadījumus, 64 00:04:13,540 --> 00:04:17,240 atcerieties, ka tad, kad mums ir darīšana ar mazie burti, tie ir dažādi 65 00:04:17,240 --> 00:04:18,579 ASCII vērtības. 66 00:04:18,579 --> 00:04:24,550 Un tāpēc mums ir nepieciešams, lai atņemtu un pievienot novirzīt to uz leju no mazajiem 67 00:04:24,550 --> 00:04:30,020 ASCII vērtības un pēc tam atpakaļ uz oriģināli mazos ASCII vērtības. 68 00:04:30,020 --> 00:04:33,140 >> Un, visbeidzot, ka būs dod mums Mūsu šifrētu ziņu. 69 00:04:33,140 --> 00:04:37,780 Un galu galā, mēs vienkārši izdrukāt ka vēstījums, un tas arī viss. 70 00:04:37,780 --> 00:04:39,875 Mans vārds ir Rob, un bija Cēzars. 71 00:04:39,875 --> 00:04:49,856