>> ROB BOWDEN: Salut, je suis Rob.
Et quand à Rome, nous allons programme comme les Romains.
Donc, la première chose que nous devons faire est de vérifier pour s'assurer que l'utilisateur fait entré
le nombre que nous voulons faire tourner chaque caractère par la ligne de commande.
>> Donc, nous vérifions.
Est argc égal à 2?
Si ce n'est pas, cela signifie que l'utilisateur soit ne pas saisir le numéro à l'
ligne de commande ou ils sont entrés trop choses à la ligne de commande, dans lequel
cas, nous ne savons pas quoi faire avec le reste des choses.
Donc, tant que argc avait deux ans, nous pouvons continuer avec le reste du programme.
>> Maintenant, rappelez-vous que argv 1 est toujours une chaîne.
Mais nous voulons le traiter comme un entier.
Ainsi, nous utilisons la fonction atoi c'est susmentionné ensemble de p spec pour convertir le
chaîne argv 1 à un nombre entier, et que nous stockons dans la clé.
Nous voulons faire en sorte que l'entier qui a été conclue n'est pas négatif.
Et s'il l'était, nous voulons imprimer que pour l'utilisateur qu'ils ne sont pas autorisés
pour ce faire, et revenir.
>> Donc, maintenant nous avons un valide numéro de l'utilisateur.
Mais nous avons besoin pour obtenir une chaîne de la utilisateur que nous voulons chiffrer.
Nous avons donc l'habitude de faire-while et utiliser obtenir chaîne pour obtenir cette chaîne à partir de la
utilisateur, et continuer à obtenir chaîne jusqu'à ce qu'ils effectivement
entrez une chaîne valide.
>> Une fois que nous avons cette chaîne, nous peut passer à chiffrer.
Donc, cette boucle de fait que le chiffrement.
Notez que nous n'avons itération de i t est égal à 0 tout le chemin jusqu'à i égaux
n, où n est défini comme étant la longueur d' notre message, où le message est le
chaîne saisie par l'utilisateur.
>> Nous sommes donc itérer sur tous caractères de la chaîne.
Et si un caractère est en majuscule, alors nous allons passer à l'aide de ce
formule, que nous obtenir à une seconde.
Et si elle a été en minuscules, puis nous changeons il utilise ce n'est
formule très similaire.
Et si ce n'était ni une ni majuscule une lettre minuscule - par exemple, il
pourrait être un chiffre ou un symbole - nous ne vont pas à faire quoi que ce soit.
>> Alors, quelles sont ces formules?
Eh bien, comment pouvons-nous changeons le caractère A?
Nous voulons traiter le caractère A mesure que le nombre 0.
Et nous voulons traiter le caractère B comme le numéro 1, et ainsi de suite.
Ce sont les caractères de zéro et les premiers de l'alphabet, et ainsi de suite.
>> Donc ici, le message i moins A est censé pour nous donner la place numérique de la
lettre de l'alphabet.
Donc, si un message est un i, ce va nous donner 0.
Maintenant, nous voulons ajouter à ce que le numéro que l'utilisateur souhaite
tourner la lettre.
Donc, si ils sont entrés 3, alors si le message J'étais un, cela nous donne 0 et, plus
clé va nous donner 3.
>> Alors maintenant, nous envisageons l' la troisième place dans l'alphabet.
Nous verrons pourquoi nous avons besoin de mod par des lettres de numéros dans un second.
Mais enfin, nous voulons ajouter à la A la fin de nouveau à nous déplacer de nouveau dans le
valeurs ASCII de ces caractères à la place des adresses numériques dans l'
alphabet de ces caractères.
>> Alors, pourquoi ne nous MOD par lettres num?
N'oubliez pas que nous voulons pour envelopper à partir de la fin de l'alphabet à la
au début de l'alphabet.
Donc Z si l'utilisateur avait saisi, puis Une soustraction de ce qui se passe à
nous donner 25.
Et si la clé était de 3, puis nous allons avoir 28.
Mais Z doit envelopper ABC, si 28 lettres num mod, qui est hachage définis
que 26 à attendre, va donner nous 2, où C est la deuxième lettre de
l'alphabet, si vous vous souvenez que A est la lettre de l'alphabet de zéro.
>> Voilà pourquoi nous devons mod par lettres num.
Maintenant, nous devons faire exactement la même chose pour les lettres minuscules, sauf
rappeler que lorsque nous avons affaire à lettres minuscules, ils ont différents
valeurs ASCII.
Et si nous devons soustraire et ajouter un pour le déplacer vers le bas de la minuscule
valeurs ASCII et puis retour à la originaux valeurs ASCII minuscules.
>> Et finalement, ça va nous faire notre message chiffré.
Et à la fin, nous suffit d'imprimer ce message, et c'est tout.
Mon nom est Rob, et était César.