1 00:00:00,000 --> 00:00:11,960 2 00:00:11,960 --> 00:00:13,750 >> ROB BOWDEN: Hallo, ich bin Rob. 3 00:00:13,750 --> 00:00:17,360 Und wenn in Rom, wir Programm wie die Römer. 4 00:00:17,360 --> 00:00:22,280 Also, erste, was wir tun müssen, ist zu überprüfen um sicherzustellen, dass der Benutzer tatsächlich eingegeben 5 00:00:22,280 --> 00:00:26,670 die Zahl, die wir je gedreht werden soll Charakter von in der Befehlszeile. 6 00:00:26,670 --> 00:00:27,740 >> So prüfen wir. 7 00:00:27,740 --> 00:00:30,180 Ist argc gleich 2? 8 00:00:30,180 --> 00:00:34,190 Wenn es nicht ist, bedeutet, dass der Benutzer entweder nicht die Nummer geben Sie die 9 00:00:34,190 --> 00:00:37,770 Befehlszeile oder sie zu viele eingetragen Dinge in der Befehlszeile, in der 10 00:00:37,770 --> 00:00:40,560 Fall, dass wir nicht wissen, was zu tun ist mit dem Rest der Dinge. 11 00:00:40,560 --> 00:00:45,750 Also, so lange wie argc zwei war, können wir weiterhin mit dem Rest des Programms. 12 00:00:45,750 --> 00:00:49,610 >> Nun, denken Sie daran, dass argv 1 ist immer ein String. 13 00:00:49,610 --> 00:00:52,490 Aber wir wollen es als ganze Zahl zu behandeln. 14 00:00:52,490 --> 00:00:57,550 So nutzen wir die Funktion, die atoi ist genannten p-Set spec zur Umwandlung der 15 00:00:57,550 --> 00:01:02,330 String argv ein in eine ganze Zahl, und wir speichern, dass in Schlüssel. 16 00:01:02,330 --> 00:01:06,050 Wir wollen sicherstellen, dass die ganze Zahl dass eingetragen wurde, ist nicht negativ. 17 00:01:06,050 --> 00:01:09,490 Und wenn es war, zu drucken möchten wir der Benutzer, der sie nicht erlaubt 18 00:01:09,490 --> 00:01:11,980 das zu tun, und zurück. 19 00:01:11,980 --> 00:01:15,100 >> So, jetzt haben wir einen gültigen Nummer von dem Benutzer. 20 00:01:15,100 --> 00:01:19,780 Aber wir müssen einen String aus der sich Benutzer, die wir verschlüsseln möchten. 21 00:01:19,780 --> 00:01:25,340 Also wir tun-while-Schleife verwenden und bekommen verwendet String, der diese Zeichenfolge aus der sich 22 00:01:25,340 --> 00:01:29,190 Benutzer, und weiterhin immer Zeichenfolge bis sie tatsächlich 23 00:01:29,190 --> 00:01:31,270 geben Sie eine gültige Zeichenfolge. 24 00:01:31,270 --> 00:01:34,400 >> Sobald wir diese Zeichenfolge, wir kann gehen, um es zu verschlüsseln. 25 00:01:34,400 --> 00:01:38,120 So wird diese for-Schleife zu tun dass die Verschlüsselung. 26 00:01:38,120 --> 00:01:43,250 Beachten Sie, dass wir von i laufen t gleich 0 bis hin zur I gleich 27 00:01:43,250 --> 00:01:47,790 n, wobei n die Länge des definierten unsere Botschaft, wo die Botschaft ist die 28 00:01:47,790 --> 00:01:50,260 Zeichenfolge, die der Benutzer eingegeben werden. 29 00:01:50,260 --> 00:01:54,330 >> Daher freuen wir uns über alle laufen Zeichen in der Zeichenfolge. 30 00:01:54,330 --> 00:01:59,740 Und wenn ein Zeichen in Großbuchstaben, dann wir sind dabei, es zu verschieben mit diesem 31 00:01:59,740 --> 00:02:01,860 Formel, auf die wir bekommen, um in einer Sekunde. 32 00:02:01,860 --> 00:02:05,260 Und wenn es in Kleinbuchstaben wurde, dann wir werden es mit diesem ist verschoben 33 00:02:05,260 --> 00:02:07,290 sehr ähnliche Formel. 34 00:02:07,290 --> 00:02:10,850 Und wenn es weder ein Groß noch ein Kleinbuchstabe - es beispielsweise 35 00:02:10,850 --> 00:02:15,370 könnte eine Zahl oder ein Symbol sein - dann werden wir nicht gehen, um etwas zu tun. 36 00:02:15,370 --> 00:02:18,220 >> Also, was sind diese Formeln? 37 00:02:18,220 --> 00:02:22,090 Nun, wie wir verschieben die Zeichen A? 38 00:02:22,090 --> 00:02:27,250 Wir wollen den Charakter behandeln A als die Zahl 0 ist. 39 00:02:27,250 --> 00:02:30,710 Und wir, um das Zeichen zu behandeln wollen B als die Nummer 1, und so weiter. 40 00:02:30,710 --> 00:02:35,170 Es ist die nullte und erste Zeichen des Alphabets und so weiter. 41 00:02:35,170 --> 00:02:42,900 >> So, hier ist die Nachrichten i minus A soll uns die numerische Stelle des zu geben 42 00:02:42,900 --> 00:02:44,400 Buchstabe im Alphabet. 43 00:02:44,400 --> 00:02:48,080 Also, wenn ich Nachricht ist A, diese wird uns geben, 0. 44 00:02:48,080 --> 00:02:52,880 Nun, um zu, dass das Add wollen wir Nummer, die der Benutzer möchte 45 00:02:52,880 --> 00:02:54,840 drehen Sie den Brief. 46 00:02:54,840 --> 00:03:03,280 Also, wenn sie eingetragen 3, dann, wenn Nachricht Ich war ein, wird dies uns geben 0 und zzgl. 47 00:03:03,280 --> 00:03:05,400 Schlüssel wird uns drei. 48 00:03:05,400 --> 00:03:09,450 >> So, jetzt sind wir in Anbetracht der dritten Platz im Alphabet. 49 00:03:09,450 --> 00:03:12,810 Wir werden sehen, warum wir mod num von Buchstaben in einer Sekunde. 50 00:03:12,810 --> 00:03:18,700 Aber schließlich, auf die wir hinzufügen möchten Ein am Ende wieder zu uns zurück in die Schiebe 51 00:03:18,700 --> 00:03:22,020 ASCII-Werte für diese Zeichen Statt der numerischen Stellen in der 52 00:03:22,020 --> 00:03:24,260 Alphabet dieser Zeichen. 53 00:03:24,260 --> 00:03:26,580 >> Also, warum wir von num Buchstaben mod? 54 00:03:26,580 --> 00:03:29,960 Denken Sie daran, dass wir auf rund wickeln wollen vom Ende des Alphabets auf der 55 00:03:29,960 --> 00:03:31,470 Anfang des Alphabets. 56 00:03:31,470 --> 00:03:38,530 Also, wenn der Benutzer eingegeben hatte Z, dann Subtrahieren A aus, dass wird sich 57 00:03:38,530 --> 00:03:40,520 geben uns 25. 58 00:03:40,520 --> 00:03:44,800 Und wenn der Schlüssel waren drei, dann wir werden 28 haben. 59 00:03:44,800 --> 00:03:53,000 Aber Z sollte um ABC einzuwickeln, also 28 mod num Briefe, die Hash definiert ist 60 00:03:53,000 --> 00:04:01,890 als 26 zu erwarten ist, wird zu geben us 2, wobei C der zweite Buchstabe 61 00:04:01,890 --> 00:04:05,880 das Alphabet, wenn Sie daran denken, dass A die nullte Buchstabe des Alphabets. 62 00:04:05,880 --> 00:04:09,210 >> Also das ist, warum wir Mod num Buchstaben. 63 00:04:09,210 --> 00:04:13,540 Nun, um genau die gleiche Sache zu tun brauchen wir für Kleinbuchstaben, außer 64 00:04:13,540 --> 00:04:17,240 daran erinnern, dass, wenn wir es zu tun haben Kleinbuchstaben, andere haben sie 65 00:04:17,240 --> 00:04:18,579 ASCII-Werte. 66 00:04:18,579 --> 00:04:24,550 Und so müssen wir subtrahieren und addieren für ein um sie von der Klein unten verschoben 67 00:04:24,550 --> 00:04:30,020 ASCII-Werte und dann wieder auf die Original Klein ASCII-Werte. 68 00:04:30,020 --> 00:04:33,140 >> Und schließlich, dass Sie uns geben unsere verschlüsselte Nachricht. 69 00:04:33,140 --> 00:04:37,780 Und am Ende, wir haben nur ausdrucken dass die Botschaft, und das ist es. 70 00:04:37,780 --> 00:04:39,875 Mein Name ist Rob und war Caesar. 71 00:04:39,875 --> 00:04:49,856