>> ROB BOWDEN: Γεια σου, είμαι Rob.
Και όταν στη Ρώμη, ας προγράμματος όπως οι Ρωμαίοι.
Έτσι, το πρώτο πράγμα που πρέπει να κάνουμε είναι να ελέγξετε για να βεβαιωθείτε ότι ο χρήστης πράγματι πληκτρολόγησε
ο αριθμός που θέλουμε να περιστρέψετε κάθε χαρακτήρα στη γραμμή εντολών.
>> Έτσι, ελέγχουμε.
Είναι argc ίσο με 2;
Εάν δεν είναι, αυτό σημαίνει ότι ο χρήστης, είτε δεν εισάγετε τον αριθμό κατά τη
γραμμή εντολών ή μπήκαν πάρα πολλά τα πράγματα στη γραμμή εντολών, στο οποίο
περίπτωση που δεν ξέρουν τι να κάνουν με το υπόλοιπο από τα πράγματα.
Έτσι, εφ 'όσον argc ήταν δύο, μπορούμε συνεχίσει με το υπόλοιπο του προγράμματος.
>> Τώρα, να θυμάστε ότι argv 1 είναι πάντα ένα string.
Αλλά θέλουμε να την αντιμετωπίσουμε ως ακέραιος.
Έτσι, χρησιμοποιούμε τη συνάρτηση atoi που είναι προαναφερόμενο σύνολο p spec για την μετατροπή του
εγχόρδων argv 1 σε ακέραιο, και αποθηκεύουμε ότι το κλειδί.
Θέλουμε να βεβαιωθείτε ότι ο ακέραιος , που τέθηκε δεν είναι αρνητική.
Και αν ήταν, θέλουμε να εκτυπώσετε ότι για να ο χρήστης που δεν επιτρέπεται
να το κάνουμε αυτό, και να επιστρέψει.
>> Έτσι, τώρα έχουμε ένα έγκυρο αριθμό από το χρήστη.
Αλλά πρέπει να πάρετε μια σειρά από το χρήστη που θέλετε να κρυπτογραφήσετε.
Γι 'αυτό και χρησιμοποιείται για να κάνει-while loop και να χρησιμοποιήσετε πάρει κορδόνι για να πάρει αυτή τη σειρά από το
χρήστη, και να συνεχίσει να πάρει σειρά έως ότου πραγματικά
εισάγετε μια έγκυρη συμβολοσειρά.
>> Μόλις έχουμε ότι η σειρά, μπορούμε μπορεί να πάει για να το κρυπτογραφήσει.
Έτσι, αυτό για το βρόχο κάνει ότι η κρυπτογράφηση.
Παρατηρήστε ότι είμαστε επανάληψη από το i ισούται με 0 t σε όλη τη διαδρομή μέχρι το i ισούται
n, όπου το η ορίζεται ως το μήκος του το μήνυμά μας, όπου το μήνυμα είναι το
σειρά που ο χρήστης εισάγει.
>> Έτσι, είμαστε πάνω από όλα την επανάληψη χαρακτήρες στη συμβολοσειρά.
Και αν ένας χαρακτήρας είναι κεφαλαία, στη συνέχεια, θα πάμε να αλλάξει τη χρήση αυτή
τύπο, η οποία θα φτάσουμε σε ένα δευτερόλεπτο.
Και αν ήταν πεζά, στη συνέχεια, θα το μετατοπίσει τη χρήση αυτή είναι
πολύ παρόμοιο τύπο.
Και αν δεν ήταν ούτε κεφαλαία, ούτε ένα πεζό γράμμα - για παράδειγμα,
θα μπορούσε να είναι ένας αριθμός ή ένα σύμβολο - τότε δεν πρόκειται να κάνει τίποτα για αυτό.
>> Έτσι, τι είναι αυτοί οι τύποι;
Λοιπόν, πώς μπορούμε να μετατοπίσει τον χαρακτήρα Α;
Θέλουμε να αντιμετωπίσουμε τον χαρακτήρα Α ως ο αριθμός 0.
Και θέλουμε να αντιμετωπίσουμε τον χαρακτήρα Β ως τον αριθμό 1, και ούτω καθεξής.
Είναι η μηδενική και πρώτοι χαρακτήρες του αλφαβήτου και ούτω καθεξής.
>> Μέχρι εδώ, το μήνυμα i μείον Α υποτίθεται να μας δώσει το αριθμητικό μέρος του
γράμμα της αλφαβήτου.
Έτσι, αν το μήνυμα i είναι ένα, αυτό πρόκειται να μας δώσει 0.
Τώρα, θέλουμε να προσθέσουμε σε αυτό το αριθμός που ο χρήστης επιθυμεί να
περιστρέψτε την επιστολή.
Έτσι, εάν είχαν εισέλθει 3, στη συνέχεια, αν το μήνυμα Ήμουν Α, αυτό θα μας δώσει 0 και συν
κλειδί θα μας δώσει 3.
>> Έτσι τώρα, εξετάζουμε το τρίτη θέση στο αλφάβητο.
Θα δούμε γιατί πρέπει να mod με επιστολές της αναμέτρησης σε ένα δευτερόλεπτο.
Αλλά τελικά, θέλουμε να προσθέσει σχετικά με την Ένα τέλος και πάλι να μας οδηγήσει πίσω στο
Τιμές ASCII για αυτούς τους χαρακτήρες , αντί για αριθμητικές θέσεις στην
αλφάβητο από αυτούς τους χαρακτήρες.
>> Έτσι, γιατί mod από num γράμματα;
Να θυμάστε ότι θέλουμε να τυλίξει γύρω από από το τέλος της αλφαβήτου στην
αρχίζοντας του αλφαβήτου.
Έτσι, εάν ο χρήστης είχε μπει Z, τότε αφαιρώντας Α από ότι πρόκειται να
να μας δώσει 25.
Και εάν το κλειδί ήταν 3, στη συνέχεια, θα πάμε να έχουν 28.
Αλλά το Ζ πρέπει να τυλίξετε γύρω από το ABC, έτσι 28 mod επιστολές της αναμέτρησης, η οποία ορίζεται hash
ως 26 πρέπει να αναμένεται, πρόκειται να δώσει μας 2, όπου C είναι η δεύτερη επιστολή
το αλφάβητο, αν θυμάστε ότι ο A είναι το γράμμα μηδενική του αλφαβήτου.
>> Έτσι, γι 'αυτό θα πρέπει να mod από num γράμματα.
Τώρα, πρέπει να κάνουμε ακριβώς το ίδιο πράγμα για πεζά γράμματα, εκτός από
να θυμάστε ότι όταν έχουμε να κάνουμε με πεζά γράμματα, έχουν διαφορετικές
Τιμές ASCII.
Και έτσι πρέπει να αφαιρέσετε και να προσθέσετε σε ένα να μετατοπιστεί προς τα κάτω από τα πεζά
Τιμές ASCII και στη συνέχεια πίσω στο αρχική πεζά τιμές ASCII.
>> Και, τέλος, ότι θα μας δώσει κρυπτογραφημένο μήνυμα μας.
Και στο τέλος, εμείς απλά να εκτυπώσετε αυτό το μήνυμα, και αυτό είναι όλο.
Το όνομά μου είναι Rob, και ήταν Καίσαρα.