1 00:00:00,000 --> 00:00:11,960 2 00:00:11,960 --> 00:00:13,750 >> ROB BOWDEN: Γεια σου, είμαι Rob. 3 00:00:13,750 --> 00:00:17,360 Και όταν στη Ρώμη, ας προγράμματος όπως οι Ρωμαίοι. 4 00:00:17,360 --> 00:00:22,280 Έτσι, το πρώτο πράγμα που πρέπει να κάνουμε είναι να ελέγξετε για να βεβαιωθείτε ότι ο χρήστης πράγματι πληκτρολόγησε 5 00:00:22,280 --> 00:00:26,670 ο αριθμός που θέλουμε να περιστρέψετε κάθε χαρακτήρα στη γραμμή εντολών. 6 00:00:26,670 --> 00:00:27,740 >> Έτσι, ελέγχουμε. 7 00:00:27,740 --> 00:00:30,180 Είναι argc ίσο με 2; 8 00:00:30,180 --> 00:00:34,190 Εάν δεν είναι, αυτό σημαίνει ότι ο χρήστης, είτε δεν εισάγετε τον αριθμό κατά τη 9 00:00:34,190 --> 00:00:37,770 γραμμή εντολών ή μπήκαν πάρα πολλά τα πράγματα στη γραμμή εντολών, στο οποίο 10 00:00:37,770 --> 00:00:40,560 περίπτωση που δεν ξέρουν τι να κάνουν με το υπόλοιπο από τα πράγματα. 11 00:00:40,560 --> 00:00:45,750 Έτσι, εφ 'όσον argc ήταν δύο, μπορούμε συνεχίσει με το υπόλοιπο του προγράμματος. 12 00:00:45,750 --> 00:00:49,610 >> Τώρα, να θυμάστε ότι argv 1 είναι πάντα ένα string. 13 00:00:49,610 --> 00:00:52,490 Αλλά θέλουμε να την αντιμετωπίσουμε ως ακέραιος. 14 00:00:52,490 --> 00:00:57,550 Έτσι, χρησιμοποιούμε τη συνάρτηση atoi που είναι προαναφερόμενο σύνολο p spec για την μετατροπή του 15 00:00:57,550 --> 00:01:02,330 εγχόρδων argv 1 σε ακέραιο, και αποθηκεύουμε ότι το κλειδί. 16 00:01:02,330 --> 00:01:06,050 Θέλουμε να βεβαιωθείτε ότι ο ακέραιος , που τέθηκε δεν είναι αρνητική. 17 00:01:06,050 --> 00:01:09,490 Και αν ήταν, θέλουμε να εκτυπώσετε ότι για να ο χρήστης που δεν επιτρέπεται 18 00:01:09,490 --> 00:01:11,980 να το κάνουμε αυτό, και να επιστρέψει. 19 00:01:11,980 --> 00:01:15,100 >> Έτσι, τώρα έχουμε ένα έγκυρο αριθμό από το χρήστη. 20 00:01:15,100 --> 00:01:19,780 Αλλά πρέπει να πάρετε μια σειρά από το χρήστη που θέλετε να κρυπτογραφήσετε. 21 00:01:19,780 --> 00:01:25,340 Γι 'αυτό και χρησιμοποιείται για να κάνει-while loop και να χρησιμοποιήσετε πάρει κορδόνι για να πάρει αυτή τη σειρά από το 22 00:01:25,340 --> 00:01:29,190 χρήστη, και να συνεχίσει να πάρει σειρά έως ότου πραγματικά 23 00:01:29,190 --> 00:01:31,270 εισάγετε μια έγκυρη συμβολοσειρά. 24 00:01:31,270 --> 00:01:34,400 >> Μόλις έχουμε ότι η σειρά, μπορούμε μπορεί να πάει για να το κρυπτογραφήσει. 25 00:01:34,400 --> 00:01:38,120 Έτσι, αυτό για το βρόχο κάνει ότι η κρυπτογράφηση. 26 00:01:38,120 --> 00:01:43,250 Παρατηρήστε ότι είμαστε επανάληψη από το i ισούται με 0 t σε όλη τη διαδρομή μέχρι το i ισούται 27 00:01:43,250 --> 00:01:47,790 n, όπου το η ορίζεται ως το μήκος του το μήνυμά μας, όπου το μήνυμα είναι το 28 00:01:47,790 --> 00:01:50,260 σειρά που ο χρήστης εισάγει. 29 00:01:50,260 --> 00:01:54,330 >> Έτσι, είμαστε πάνω από όλα την επανάληψη χαρακτήρες στη συμβολοσειρά. 30 00:01:54,330 --> 00:01:59,740 Και αν ένας χαρακτήρας είναι κεφαλαία, στη συνέχεια, θα πάμε να αλλάξει τη χρήση αυτή 31 00:01:59,740 --> 00:02:01,860 τύπο, η οποία θα φτάσουμε σε ένα δευτερόλεπτο. 32 00:02:01,860 --> 00:02:05,260 Και αν ήταν πεζά, στη συνέχεια, θα το μετατοπίσει τη χρήση αυτή είναι 33 00:02:05,260 --> 00:02:07,290 πολύ παρόμοιο τύπο. 34 00:02:07,290 --> 00:02:10,850 Και αν δεν ήταν ούτε κεφαλαία, ούτε ένα πεζό γράμμα - για παράδειγμα, 35 00:02:10,850 --> 00:02:15,370 θα μπορούσε να είναι ένας αριθμός ή ένα σύμβολο - τότε δεν πρόκειται να κάνει τίποτα για αυτό. 36 00:02:15,370 --> 00:02:18,220 >> Έτσι, τι είναι αυτοί οι τύποι; 37 00:02:18,220 --> 00:02:22,090 Λοιπόν, πώς μπορούμε να μετατοπίσει τον χαρακτήρα Α; 38 00:02:22,090 --> 00:02:27,250 Θέλουμε να αντιμετωπίσουμε τον χαρακτήρα Α ως ο αριθμός 0. 39 00:02:27,250 --> 00:02:30,710 Και θέλουμε να αντιμετωπίσουμε τον χαρακτήρα Β ως τον αριθμό 1, και ούτω καθεξής. 40 00:02:30,710 --> 00:02:35,170 Είναι η μηδενική και πρώτοι χαρακτήρες του αλφαβήτου και ούτω καθεξής. 41 00:02:35,170 --> 00:02:42,900 >> Μέχρι εδώ, το μήνυμα i μείον Α υποτίθεται να μας δώσει το αριθμητικό μέρος του 42 00:02:42,900 --> 00:02:44,400 γράμμα της αλφαβήτου. 43 00:02:44,400 --> 00:02:48,080 Έτσι, αν το μήνυμα i είναι ένα, αυτό πρόκειται να μας δώσει 0. 44 00:02:48,080 --> 00:02:52,880 Τώρα, θέλουμε να προσθέσουμε σε αυτό το αριθμός που ο χρήστης επιθυμεί να 45 00:02:52,880 --> 00:02:54,840 περιστρέψτε την επιστολή. 46 00:02:54,840 --> 00:03:03,280 Έτσι, εάν είχαν εισέλθει 3, στη συνέχεια, αν το μήνυμα Ήμουν Α, αυτό θα μας δώσει 0 και συν 47 00:03:03,280 --> 00:03:05,400 κλειδί θα μας δώσει 3. 48 00:03:05,400 --> 00:03:09,450 >> Έτσι τώρα, εξετάζουμε το τρίτη θέση στο αλφάβητο. 49 00:03:09,450 --> 00:03:12,810 Θα δούμε γιατί πρέπει να mod με επιστολές της αναμέτρησης σε ένα δευτερόλεπτο. 50 00:03:12,810 --> 00:03:18,700 Αλλά τελικά, θέλουμε να προσθέσει σχετικά με την Ένα τέλος και πάλι να μας οδηγήσει πίσω στο 51 00:03:18,700 --> 00:03:22,020 Τιμές ASCII για αυτούς τους χαρακτήρες , αντί για αριθμητικές θέσεις στην 52 00:03:22,020 --> 00:03:24,260 αλφάβητο από αυτούς τους χαρακτήρες. 53 00:03:24,260 --> 00:03:26,580 >> Έτσι, γιατί mod από num γράμματα; 54 00:03:26,580 --> 00:03:29,960 Να θυμάστε ότι θέλουμε να τυλίξει γύρω από από το τέλος της αλφαβήτου στην 55 00:03:29,960 --> 00:03:31,470 αρχίζοντας του αλφαβήτου. 56 00:03:31,470 --> 00:03:38,530 Έτσι, εάν ο χρήστης είχε μπει Z, τότε αφαιρώντας Α από ότι πρόκειται να 57 00:03:38,530 --> 00:03:40,520 να μας δώσει 25. 58 00:03:40,520 --> 00:03:44,800 Και εάν το κλειδί ήταν 3, στη συνέχεια, θα πάμε να έχουν 28. 59 00:03:44,800 --> 00:03:53,000 Αλλά το Ζ πρέπει να τυλίξετε γύρω από το ABC, έτσι 28 mod επιστολές της αναμέτρησης, η οποία ορίζεται hash 60 00:03:53,000 --> 00:04:01,890 ως 26 πρέπει να αναμένεται, πρόκειται να δώσει μας 2, όπου C είναι η δεύτερη επιστολή 61 00:04:01,890 --> 00:04:05,880 το αλφάβητο, αν θυμάστε ότι ο A είναι το γράμμα μηδενική του αλφαβήτου. 62 00:04:05,880 --> 00:04:09,210 >> Έτσι, γι 'αυτό θα πρέπει να mod από num γράμματα. 63 00:04:09,210 --> 00:04:13,540 Τώρα, πρέπει να κάνουμε ακριβώς το ίδιο πράγμα για πεζά γράμματα, εκτός από 64 00:04:13,540 --> 00:04:17,240 να θυμάστε ότι όταν έχουμε να κάνουμε με πεζά γράμματα, έχουν διαφορετικές 65 00:04:17,240 --> 00:04:18,579 Τιμές ASCII. 66 00:04:18,579 --> 00:04:24,550 Και έτσι πρέπει να αφαιρέσετε και να προσθέσετε σε ένα να μετατοπιστεί προς τα κάτω από τα πεζά 67 00:04:24,550 --> 00:04:30,020 Τιμές ASCII και στη συνέχεια πίσω στο αρχική πεζά τιμές ASCII. 68 00:04:30,020 --> 00:04:33,140 >> Και, τέλος, ότι θα μας δώσει κρυπτογραφημένο μήνυμα μας. 69 00:04:33,140 --> 00:04:37,780 Και στο τέλος, εμείς απλά να εκτυπώσετε αυτό το μήνυμα, και αυτό είναι όλο. 70 00:04:37,780 --> 00:04:39,875 Το όνομά μου είναι Rob, και ήταν Καίσαρα. 71 00:04:39,875 --> 00:04:49,856