1 00:00:00,000 --> 00:00:11,960 2 00:00:11,960 --> 00:00:13,750 >> ROB BOWDEN: Cześć, jestem Rob. 3 00:00:13,750 --> 00:00:17,360 A kiedy w Rzymie, niech Program jak Rzymianie. 4 00:00:17,360 --> 00:00:22,280 Tak więc, pierwszą rzeczą, którą musisz zrobić, to sprawdzić aby upewnić się, że użytkownik faktycznie weszła 5 00:00:22,280 --> 00:00:26,670 numer, który chcemy obrócić każdy postaci przez w linii poleceń. 6 00:00:26,670 --> 00:00:27,740 >> Tak więc, możemy sprawdzić. 7 00:00:27,740 --> 00:00:30,180 Jest argc równa 2? 8 00:00:30,180 --> 00:00:34,190 Jeśli tak nie jest, oznacza to, że użytkownik albo nie wprowadzić numer w 9 00:00:34,190 --> 00:00:37,770 linii poleceń lub weszli zbyt wiele rzeczy w linii poleceń, w którym 10 00:00:37,770 --> 00:00:40,560 Sprawa nie wiemy, co robić z pozostałych miejscach. 11 00:00:40,560 --> 00:00:45,750 Tak więc, o ile argc się dwa, możemy kontynuować reszty programu. 12 00:00:45,750 --> 00:00:49,610 >> Teraz, pamiętaj, że argv 1 jest zawsze ciągiem. 13 00:00:49,610 --> 00:00:52,490 Ale chcemy, aby traktować go jako liczbę całkowitą. 14 00:00:52,490 --> 00:00:57,550 Tak więc, możemy użyć funkcji atoi, która jest jak podano wyżej zestaw p specyfikacja konwersji 15 00:00:57,550 --> 00:01:02,330 Ciąg argv 1 do liczby całkowitej, i zapisać, że w kluczu. 16 00:01:02,330 --> 00:01:06,050 Chcemy się upewnić, że całkowita , który został wprowadzony jest ujemny. 17 00:01:06,050 --> 00:01:09,490 I czy to, że chcemy wydrukować, że do użytkownika, że ​​nie wolno 18 00:01:09,490 --> 00:01:11,980 aby to zrobić, i powrót. 19 00:01:11,980 --> 00:01:15,100 >> Więc teraz mamy ważne liczba od użytkownika. 20 00:01:15,100 --> 00:01:19,780 Ale musimy się ciąg od Użytkownik, który chcemy zaszyfrować. 21 00:01:19,780 --> 00:01:25,340 Więc robiliśmy-pętla i używać dostać ciąg, aby uzyskać ten ciąg od 22 00:01:25,340 --> 00:01:29,190 użytkownik, i nadal się ciąg dopóki faktycznie 23 00:01:29,190 --> 00:01:31,270 Wprowadź prawidłowy ciąg. 24 00:01:31,270 --> 00:01:34,400 >> Kiedy już mamy tego ciągu, mamy można przejść do jej zaszyfrowania. 25 00:01:34,400 --> 00:01:38,120 Tak, to robi w pętli że szyfrowanie. 26 00:01:38,120 --> 00:01:43,250 Zauważ, że mamy iteracji z I równa 0 t na drodze do i równa 27 00:01:43,250 --> 00:01:47,790 n, gdzie n jest zdefiniowane jako długość nasz komunikat, w którym wiadomość jest 28 00:01:47,790 --> 00:01:50,260 Ciąg, który użytkownik wprowadził. 29 00:01:50,260 --> 00:01:54,330 >> Więc my iterowanie wszystko znaków w ciągu. 30 00:01:54,330 --> 00:01:59,740 A jeśli znak jest wielką literą, a następnie mamy zamiar przenieść go za pomocą tego 31 00:01:59,740 --> 00:02:01,860 Wzór, który będziemy dostać się w drugim. 32 00:02:01,860 --> 00:02:05,260 A jeśli to było małe litery, a następnie będziemy je przesuwać za pomocą tego jest 33 00:02:05,260 --> 00:02:07,290 bardzo podobny wzór. 34 00:02:07,290 --> 00:02:10,850 A jeśli to nie był ani wielkie, ani mała litera - na przykład, 35 00:02:10,850 --> 00:02:15,370 może być liczba lub symbol - wtedy Nie będziemy robić nic do tego. 36 00:02:15,370 --> 00:02:18,220 >> Więc, co to są te wzory? 37 00:02:18,220 --> 00:02:22,090 Cóż, jak możemy przesunąć charakterem? 38 00:02:22,090 --> 00:02:27,250 Chcemy traktować charakter Jako liczbę 0. 39 00:02:27,250 --> 00:02:30,710 I chcemy traktować charakter B, numerem 1, i tak dalej. 40 00:02:30,710 --> 00:02:35,170 To znaki zerowe i pierwsze alfabetu i tak dalej. 41 00:02:35,170 --> 00:02:42,900 >> Więc tutaj, wiadomości i minus ma dać nam miejsce numerycznych 42 00:02:42,900 --> 00:02:44,400 litery alfabetu. 43 00:02:44,400 --> 00:02:48,080 Więc jeśli wiadomość i jest to ma dać nam 0. 44 00:02:48,080 --> 00:02:52,880 Teraz chcemy dodać do tego Numer że użytkownik chce 45 00:02:52,880 --> 00:02:54,840 obrócić nas przez. 46 00:02:54,840 --> 00:03:03,280 Tak więc, jeśli weszli 3, a następnie, jeśli wiadomość byłem, to daje nam 0 i Plus 47 00:03:03,280 --> 00:03:05,400 klucz da nam 3. 48 00:03:05,400 --> 00:03:09,450 >> Teraz rozważamy Trzecie miejsce w alfabecie. 49 00:03:09,450 --> 00:03:12,810 Zobaczymy, dlaczego musimy mod pismami num w drugim. 50 00:03:12,810 --> 00:03:18,700 Ale w końcu, chcemy dodać do końca ponownie przenieść nas z powrotem do 51 00:03:18,700 --> 00:03:22,020 Wartości dla tych znaków ASCII zamiast miejsc liczbowych w 52 00:03:22,020 --> 00:03:24,260 alfabet z tych znaków. 53 00:03:24,260 --> 00:03:26,580 >> Więc, dlaczego mod pismami num? 54 00:03:26,580 --> 00:03:29,960 Pamiętaj, że chcemy do zawinięcia od końca alfabetu 55 00:03:29,960 --> 00:03:31,470 początku alfabetu. 56 00:03:31,470 --> 00:03:38,530 Więc jeśli użytkownik wszedł Z, następnie odejmowanie od tego będzie 57 00:03:38,530 --> 00:03:40,520 daje nam 25. 58 00:03:40,520 --> 00:03:44,800 I jeśli klucz odpowiednio 3, a następnie będziemy mieć 28. 59 00:03:44,800 --> 00:03:53,000 Ale należy owinąć wokół Z ABC, więc 28 mod litery num, które definiowane jest hash 60 00:03:53,000 --> 00:04:01,890 od 26 do przewidzenia, będzie dawać nam 2, gdzie C jest drugi list 61 00:04:01,890 --> 00:04:05,880 alfabet, jeśli pamiętać, że jest List zerowe alfabetu. 62 00:04:05,880 --> 00:04:09,210 >> To dlatego musimy mod pismami Il. 63 00:04:09,210 --> 00:04:13,540 Teraz musimy zrobić to samo dokładne za małe litery, z wyjątkiem 64 00:04:13,540 --> 00:04:17,240 Pamiętam, że kiedy mamy do czynienia z małe litery, mają różne 65 00:04:17,240 --> 00:04:18,579 Wartości ASCII. 66 00:04:18,579 --> 00:04:24,550 A więc musimy odjąć i dodać na przesunąć go w dół z małymi literami 67 00:04:24,550 --> 00:04:30,020 Wartości ASCII, a następnie z powrotem do oryginalne małe wartości ASCII. 68 00:04:30,020 --> 00:04:33,140 >> I w końcu, że da nam nasza zaszyfrowana wiadomość. 69 00:04:33,140 --> 00:04:37,780 I w końcu, po prostu wydrukować że wiadomość, i to jest to. 70 00:04:37,780 --> 00:04:39,875 Nazywam się Rob, i był Cezar. 71 00:04:39,875 --> 00:04:49,856