>> ROB BOWDEN: Hallo, ich bin Rob.
Und wenn in Rom, wir Programm wie die Römer.
Also, erste, was wir tun müssen, ist zu überprüfen um sicherzustellen, dass der Benutzer tatsächlich eingegeben
die Zahl, die wir je gedreht werden soll Charakter von in der Befehlszeile.
>> So prüfen wir.
Ist argc gleich 2?
Wenn es nicht ist, bedeutet, dass der Benutzer entweder nicht die Nummer geben Sie die
Befehlszeile oder sie zu viele eingetragen Dinge in der Befehlszeile, in der
Fall, dass wir nicht wissen, was zu tun ist mit dem Rest der Dinge.
Also, so lange wie argc zwei war, können wir weiterhin mit dem Rest des Programms.
>> Nun, denken Sie daran, dass argv 1 ist immer ein String.
Aber wir wollen es als ganze Zahl zu behandeln.
So nutzen wir die Funktion, die atoi ist genannten p-Set spec zur Umwandlung der
String argv ein in eine ganze Zahl, und wir speichern, dass in Schlüssel.
Wir wollen sicherstellen, dass die ganze Zahl dass eingetragen wurde, ist nicht negativ.
Und wenn es war, zu drucken möchten wir der Benutzer, der sie nicht erlaubt
das zu tun, und zurück.
>> So, jetzt haben wir einen gültigen Nummer von dem Benutzer.
Aber wir müssen einen String aus der sich Benutzer, die wir verschlüsseln möchten.
Also wir tun-while-Schleife verwenden und bekommen verwendet String, der diese Zeichenfolge aus der sich
Benutzer, und weiterhin immer Zeichenfolge bis sie tatsächlich
geben Sie eine gültige Zeichenfolge.
>> Sobald wir diese Zeichenfolge, wir kann gehen, um es zu verschlüsseln.
So wird diese for-Schleife zu tun dass die Verschlüsselung.
Beachten Sie, dass wir von i laufen t gleich 0 bis hin zur I gleich
n, wobei n die Länge des definierten unsere Botschaft, wo die Botschaft ist die
Zeichenfolge, die der Benutzer eingegeben werden.
>> Daher freuen wir uns über alle laufen Zeichen in der Zeichenfolge.
Und wenn ein Zeichen in Großbuchstaben, dann wir sind dabei, es zu verschieben mit diesem
Formel, auf die wir bekommen, um in einer Sekunde.
Und wenn es in Kleinbuchstaben wurde, dann wir werden es mit diesem ist verschoben
sehr ähnliche Formel.
Und wenn es weder ein Groß noch ein Kleinbuchstabe - es beispielsweise
könnte eine Zahl oder ein Symbol sein - dann werden wir nicht gehen, um etwas zu tun.
>> Also, was sind diese Formeln?
Nun, wie wir verschieben die Zeichen A?
Wir wollen den Charakter behandeln A als die Zahl 0 ist.
Und wir, um das Zeichen zu behandeln wollen B als die Nummer 1, und so weiter.
Es ist die nullte und erste Zeichen des Alphabets und so weiter.
>> So, hier ist die Nachrichten i minus A soll uns die numerische Stelle des zu geben
Buchstabe im Alphabet.
Also, wenn ich Nachricht ist A, diese wird uns geben, 0.
Nun, um zu, dass das Add wollen wir Nummer, die der Benutzer möchte
drehen Sie den Brief.
Also, wenn sie eingetragen 3, dann, wenn Nachricht Ich war ein, wird dies uns geben 0 und zzgl.
Schlüssel wird uns drei.
>> So, jetzt sind wir in Anbetracht der dritten Platz im Alphabet.
Wir werden sehen, warum wir mod num von Buchstaben in einer Sekunde.
Aber schließlich, auf die wir hinzufügen möchten Ein am Ende wieder zu uns zurück in die Schiebe
ASCII-Werte für diese Zeichen Statt der numerischen Stellen in der
Alphabet dieser Zeichen.
>> Also, warum wir von num Buchstaben mod?
Denken Sie daran, dass wir auf rund wickeln wollen vom Ende des Alphabets auf der
Anfang des Alphabets.
Also, wenn der Benutzer eingegeben hatte Z, dann Subtrahieren A aus, dass wird sich
geben uns 25.
Und wenn der Schlüssel waren drei, dann wir werden 28 haben.
Aber Z sollte um ABC einzuwickeln, also 28 mod num Briefe, die Hash definiert ist
als 26 zu erwarten ist, wird zu geben us 2, wobei C der zweite Buchstabe
das Alphabet, wenn Sie daran denken, dass A die nullte Buchstabe des Alphabets.
>> Also das ist, warum wir Mod num Buchstaben.
Nun, um genau die gleiche Sache zu tun brauchen wir für Kleinbuchstaben, außer
daran erinnern, dass, wenn wir es zu tun haben Kleinbuchstaben, andere haben sie
ASCII-Werte.
Und so müssen wir subtrahieren und addieren für ein um sie von der Klein unten verschoben
ASCII-Werte und dann wieder auf die Original Klein ASCII-Werte.
>> Und schließlich, dass Sie uns geben unsere verschlüsselte Nachricht.
Und am Ende, wir haben nur ausdrucken dass die Botschaft, und das ist es.
Mein Name ist Rob und war Caesar.